A Day In The Life
This page is for people coming from a traditional IDE workflow who want to see what "terminal-driven" can look like. The workbench is one tmux window: Neovim in a normal pane, an assistant or shell next to it, and focused popups only when a workflow needs a picker.
Two fzf popups do most of the navigation:
- the session picker (
prefix+T) for navigating, creating, switching, and killing sessions - the GitHub picker (
prefix+G) for issues and PRs
Both wrap the lower-level comma commands (,w, ,gh-worktree) so you rarely type them by hand β the pickers handle worktree creation, session naming, and linking for you. prefix is Ctrl-Space; tmux config is home/dot_config/exact_tmux/readonly_tmux.conf.
Morning: Restore Contextβ
Open the session picker (prefix + T). It lists your tmux sessions, git worktrees, and recent directories in one place, with inline badges for dirty state, linked PRs/issues, and CI status. The preview pane shows the last screen of each session, so you can see where you left off and jump straight back in with enter.
Navigate, Create, Switch, And Kill Sessionsβ
The session picker provides these actions:
enterβ switch to a session, or create one for a worktree/directory row (it derives a canonical session name and attaches automatically)tabβ multi-select rows for batch actionsctrl-xβ kill the selected session(s)alt-xβ remove the selected worktree(s) (won't tear down your current session)ctrl-sβ send a command to the selected session(s) without switchingalt-p/alt-iβ open the row's linked PR / issue in the browser
Because it indexes worktrees on disk, the sessions you create with ,w (or via the GitHub picker) show up here automatically. See Session picker and Worktrees.
Work The GitHub Dashboardβ
Open the GitHub picker (prefix + G) for a PR/issue dashboard with review/CI badges, hierarchy (epics, backport families), and inline actions. Switch scope with alt-1 (Focus: work you own or must act on) and alt-2 (Explore: mentions and involvement).

This demo shows an earlier picker layout. Use the current scopes and bindings described here; labels and shortcuts in the image may differ.
From the dashboard, without leaving tmux:
- Create tickets β
alt-iopens$EDITORto file a new issue;alt-Efiles an epic (parent + sub-issues). - Clone and check out β
enteron a PR/issue creates a worktree and focuses its session. If the repo isn't local yet, it's bootstrapped first (,gh-tfork), so cloning, worktree creation, session creation, and issueβbranch linking all happen in one step.ctrl-tbatches this across marked rows. - Act on PRs β
alt-xopens a command palette (approve, request-changes, merge, label, comment, request review);alt-cadds a comment;alt-bchecks out and opens an Octo review;alt-oopens in the browser.
alt-g switches between this dashboard and the session picker in place. See GitHub picker.
Work with assistantsβ
Assistants load shared operating rules and skills alongside each repository's instructions. See AI assistants for the configuration and checks used by each tool.
The main CLI assistants are:
- Codex (
,codex) - Pi (
pi) - Claude Code (
claude)
,codex
pi
claude
Per-tool configuration (auth, models, MCP, config merging) lives in Tool configs.
To continue a task in another session or harness, ask for "handoff X" and later "continue X"; agents save and read notes with ,handoff. Reusable gotchas go into ,ai-kb on demand. See Memory and handoffs.
Reviewβ
- Use
alt-bin the GitHub picker to check out a PR and open an Octo review in a new window. - To review the changes an agent produced before committing, use the
tuicrdiff loop, or keeplgtmopen in a pane beside the agent, which feeds structured feedback back to the agent. See Reviewing agent diffs.
Code: Keep Your Editorβ
You can run this whole workflow from VSCode/JetBrains using the integrated terminal β the pickers and assistants are just tmux popups and CLIs. Neovim is available if you want it, but it is optional.
When Neovim is the editor, it stays inline. Tool-specific UI, such as the vim.pack dashboard, opens inside Neovim rather than as a separate tmux popup.
Cleanupβ
There's no separate teardown step: kill sessions with ctrl-x and remove finished worktrees with alt-x directly from the session picker as you go.
Maintenanceβ
Update dotfiles:
chezmoi update
Update packages, then reconverge:
brew update
brew upgrade
chezmoi apply