Building in the open
Tau ships in small, documented phases — each one a readable slice
of the agent, not a hidden branch. This page tracks what's shipped and
what's next; the reasoning behind each phase lives in
dev-notes/.
the frontier
Drive Tau as a subprocess over a structured RPC protocol, so other apps and editors can embed the agent without shelling out to the TUI.
A typed Python client for embedding Tau's harness and sessions directly in other Python programs, without going through the CLI.
Local extension loading; extension-contributed tools, commands, prompt snippets/guidelines; event subscriptions.
shipped post-roadmap
/system shows the effective system prompt Tau will send to the provider, without touching the transcript.
A /tree modal for branching and revisiting session history, with branch summaries and tool-call filtering.
getting it right
Richer transcript rendering, diff viewer, model/session picker UI, command palette, keybinding customization, theme polish.
Token/context estimation, manual /compact, automatic compaction threshold, compaction entries in the session tree.
Export a session transcript/tree, human-readable HTML view, preserved branch structure.
Loaded skills callable by default, manual /skill:<name> triggering, deterministic tests for skill delivery.
Explicit thinking-mode model, TUI control with a Shift-Tab shortcut, active mode shown in the sidebar.
Recalculate context/token usage after each turn and keep the TUI sidebar in sync.
before extensions
Installable user-facing tool experience, uv tool/pipx docs, first-run setup docs, format docs.
Auto-discovery of AGENTS.md and instruction files, /context and /reload commands.
Durable provider config, multiple OpenAI-compatible providers, default provider/model, setup/login flow.
Reflowed transcript text on resize, no horizontal scroll for normal messages, sane handling of long output.
Autocomplete for commands, /skill:, and prompt templates with Tab/arrow-key selection.
Load skills/prompts from Tau home, .agents, and project resources with deterministic precedence and diagnostics.
Registry-based command handling shared by CLI/TUI, built-in commands, extension-ready internal API.
Create/list/resume sessions, session metadata index, tau sessions, tau resume <id>, TUI resume/new-session flow.
Canonical Tau home/resource paths, user-level and project-level .agents auto-loading, documented path precedence.
sessions & skills
Textual app behind an adapter boundary, TUI state adapter, prompt input/transcript/status, basic commands and cancellation.
Final text mode, JSON event stream mode, transcript mode, renderer boundary in tau_coding.
Pi-style prompt builder, tool snippets/guidelines, skill index, project context, date/cwd suffix.
Markdown skills, markdown prompt templates, /skill:name expansion, resource path primitives.
CodingSession, persistence around the harness, initial command seam, prompt expansion seam.
Append-only session entries, JSONL storage, session replay, active leaf reconstruction.
the core loop
Single prompt CLI, provider/model wiring, built-in tool registration.
read, write, edit, bash — with per-tool prompt snippets and guidelines.
Transcript owner, prompt()/continue_(), cancellation boundary.
Provider stream consumption, assistant message assembly, tool execution loop, agent events.
Provider interface, fake provider for tests, OpenAI-compatible provider, environment-based API config.
Provider-neutral messages, tool calls/results, agent events.
Package scaffold, docs and ADRs, test/lint/format/typecheck setup, basic `tau --version`.
Roadmap phases turn into build journals under dev-notes/,
then into these docs. Follow along or open an issue with ideas.