Flagship · Terminal-first · Open Source

Workwarrior

A unified terminal productivity environment integrating tasks, time, journals, and ledgers under a single profile system — with a natural language layer and locally-hosted browser UI.



The terminal is the foundation, not the ceiling

Workwarrior is built on the terminal because the terminal is correct. It is the interface that survived every generation of "simpler" successors because it models the computer as it actually is: a machine that receives explicit instructions and returns deterministic output. Every release of Workwarrior must deepen this foundation — extending composability, improving scriptability, and reducing the gap between a user's intent and the command that executes it. The terminal is where we establish the data models, the discipline, and the composability that will extend outward onto every other surface.

Profile isolation is inviolable

Each Workwarrior profile is a completely isolated workspace: its own tasks, time tracking, journals, double-entry ledgers, and configuration. Profiles never bleed into each other. Activating a profile must never touch data from another profile — no shared state, no implicit inheritance, no exceptions. No release may weaken this guarantee. The profile system is what makes Workwarrior safe to use for multiple clients, projects, or contexts on the same machine. Isolation is the feature that makes everything else trustworthy.

Composability over monolith

Workwarrior orchestrates best-in-class CLI tools — Taskwarrior, Timewarrior, JRNL, Hledger, Bugwarrior — it does not replace them. Each underlying tool remains independently operable. Workwarrior's value is the coherent profile layer, the unified command surface, and the natural language translation — not a reimplementation of what these tools already do well. Every release must preserve the composability of the underlying tools and resist the temptation to abstract away what users might need to reach directly.

No external dependencies for the core

The Workwarrior browser UI is implemented in Python 3 standard library only — no external dependencies. The bash core uses no tools beyond what ships with a standard macOS or Linux environment. This is not a constraint imposed from outside; it is a design commitment. A tool that requires a dependency manager to install its core runtime is a fragile tool. Each release of Workwarrior must maintain a dependency-minimal core and document clearly what is required versus optional.

The learning layer ships with every release

Workwarrior goes beyond help documentation. The natural language processing layer — 627 compiled heuristic regex rules across 19 command domains, with a self-improving mechanism via --digest — is the first expression of the learning layer. Every CMD submission is logged. Every translation becomes potential training data for improved rules. Each release must advance guided understanding, not just feature count. The goal is a tool that makes its users genuinely more capable over time, not one that merely executes more commands.

The terminal travels outward

The rigor of the terminal — composable, scriptable, transparent, deterministic — must travel outward as Workwarrior extends to mobile devices, dedicated work screens, and consumer hardware. The intimidation factor does not travel. Each release must expand the addressable audience without compromising the depth available to power users. The browser UI at port 7777 is the first outward step. Future surfaces will follow the same contract: same data, same profile isolation, same composability. Different entry point.

Contribute to Workwarrior

Workwarrior is open source, maintained in bash and Python, and actively developed. The best way to get started is to clone the repo, run the installer, create a profile, and use it for a week of real work. The gaps you encounter are the contributions that matter most. The service architecture is documented — each of the 18 major service domains is a discrete target for improvement or extension.

If you have experience with Taskwarrior, JRNL, hledger, or any of the underlying tools, your domain knowledge is directly applicable. If you want to work on the browser UI, the Python stdlib implementation is straightforward. If you want to improve the NLP layer, the rule compiler and digest system are designed for contributor extension.

Current Release
Version
v0.1.0
Status
Active development
Platforms
macOS · Linux
Components
Core tools
Taskwarrior · Timewarrior · JRNL · Hledger · Bugwarrior
NLP layer
627 heuristic rules · 19 domains · self-improving via --digest
Browser UI
Port 7777 · Python stdlib only · 15+ panels
Weapons
Gun · Sword · Next · Schedule
Trajectory
Terminal → mobile → dedicated screens → consumer devices
GitHub Releases →