pidash
Read-only TUI dashboard for monitoring autopilot PRD cycle progress.
Extra: uv tool install buvis-gems[pidash]
Usage
pidash # multi-session mode (watch all active sessions)
pidash --project-path /repo # single-project mode
pidash tui /repo # equivalent explicit subcommand form
pidash --cleanup # remove session files older than 24h
pidash hooks install # register pidash hooks in ~/.claude/settings.json
pidash hooks status # report which hooks are registered
pidash hooks uninstall # remove pidash-owned entries from settings.json
Multi-session mode
Running pidash with no arguments watches ~/.pidash/sessions/ for session
files written by autopilot hooks. A sidebar lists all active sessions and the
detail pane shows the selected session’s state.
Sessions that haven’t been updated for 5 minutes are shown as stale (dimmed). Files older than 24 hours are auto-cleaned on startup.
Single-project mode
Use pidash --project-path /path/to/project (or the explicit pidash tui
/path/to/project subcommand form) to watch dev/local/autopilot/state.json
in the given directory. The earlier bare-positional form pidash <path> is
no longer accepted: pidash is now a Click group, so the first non-option
argument is parsed as a subcommand name.
Keybindings
q- Quitr- Refresh (manually reload state)Up/Down- Switch between sessions (multi-session mode only)
Display
Phase pipeline - shows progress through CATCHUP, PLANNING, WORKING, REVIEWING, DOUBT, DONE with an animated spinner on the active phase.
Progress bar - task completion (e.g. “4/6 completed”).
Session sidebar (multi-session only) - lists all sessions with project name, phase badge, and attention indicator. Sessions needing attention sort to the top. Done and stopped sessions are dimmed.
Tasks panel - per-task status with markers for pending, in-progress, and
completed. Cycle rework tasks ([C1], [C2]) shown with magenta tags.
Doubts panel - appears during/after the doubt review phase, showing
[DOUBT] tasks with resolved/total count. Hidden when no doubt tasks exist.
Decisions panel - autonomous and deferred decisions color-coded by severity (critical, high, medium, low).
Attention banner - red overlay when autopilot needs a human decision.
Claude Code hooks
pidash watches ~/.pidash/sessions/ for session files written by a small set
of Claude Code hooks. These hooks ship inside the pidash package; you register
them with one command:
pidash hooks install
This writes (or rewrites) six entries in ~/.claude/settings.json:
Event |
Matcher |
pidash command |
|---|---|---|
Notification |
permission_prompt |
|
Notification |
idle_prompt |
|
PostToolUse |
TaskUpdate |
|
PostToolUse |
Agent |
|
PostToolUse |
(default) |
|
Stop |
(default) |
|
Unrelated hook entries (e.g. notify.py) are preserved in place. Re-running
pidash hooks install is idempotent and detects legacy
python3 ~/.claude/hooks/<name>.py entries left over from earlier dotfiles
installs, replacing them with pidash hooks run <event> entries.
pidash hooks status reports which of the six entries are currently
registered and exits non-zero if any are missing. pidash hooks uninstall
removes pidash-owned entries (commands starting with the pidash hooks run
prefix) and leaves everything else untouched.
The pidash binary must be on the PATH that Claude Code uses to spawn hook
commands. Installing with uv tool install buvis-gems[pidash] or
pipx install buvis-gems is the common case; a project-local
uv sync --all-extras works too, provided that environment is the active
shell PATH when Claude Code runs.