CLI Reference
yeaboi [OPTIONS]
yeaboi <subcommand> [OPTIONS]
Subcommands
Beyond the flags below, most modes have a headless subcommand that runs the same engine the TUI card does — so anything you can do interactively you can also put in a script or a cron job.
| Subcommand | Description |
yeaboi report | Generate a stakeholder delivery report (Reporting mode) |
yeaboi standup | Run a Daily Standup — the same as --standup-run, with more knobs |
yeaboi standup-review | Review standup meeting transcripts to find what standup missed, and why |
yeaboi retro | Read past retrospectives (the live board itself runs in the TUI) |
yeaboi poker | Read past poker sessions (the live voting board runs in the TUI) |
yeaboi analyze | Analyse team board history into a calibration profile |
yeaboi perf Beta | 1:1 prep and completion, six-month reviews, and notes — roster, prep, complete, review, note |
yeaboi agents Beta | Monitor your AI coding agents — cost, standup, security |
Every subcommand takes --help. Most take --format {text,json}, and the headless ones take --strict, which exits 3 when the run was degraded (warnings present, or no data found) so a scheduled job can tell a quiet success from a quiet failure.
Agents
The Agents family reads the session logs your coding agents leave on this machine. See its docs for what is collected and what is never stored.
| Command | Description |
yeaboi agents cost | What your agents cost. --window-days N (default 30), --project NAME (substring), --source claude_code |
yeaboi agents standup | Daily digest of agent work. --days N (default: since the previous working day), --tracker-sources [github azdo], --github-owners, --azdo-projects, --deliver |
yeaboi agents security | Audit the agent setup. --deep re-scans every transcript rather than only changed ones |
Interactive modes
| Flag | Description |
| (no flags) | Launch the full-screen TUI with mode selection |
--quick | Quick intake — 2 questions only (team size + tech stack), auto-fill rest |
--full-intake | Full 30-question intake (standard mode) |
--mode project-planning | Skip the startup menu, go directly to project planning |
--questionnaire PATH | Import a filled-in questionnaire Markdown file |
--export-only | Auto-accept all review checkpoints and exit after plan generation |
Non-interactive / headless
| Flag | Description |
--non-interactive | Run headlessly (requires --description) |
--description TEXT | Project description. Use @file.txt to read from a file |
--output {markdown,json,html} | Output format (default: markdown). Only valid with --non-interactive or --export-only |
--team-size N | Team size (maps to intake Q6) |
--sprint-length {1,2,3,4} | Sprint length in weeks (maps to intake Q8) |
Daily Standup
| Flag | Description |
--standup-run | Run a daily standup headlessly and deliver it (what the OS scheduler invokes) |
--standup-interactive | With --standup-run: prompt for your update + confirm (timed) before generating; falls back to headless with no TTY |
--standup-session ID | Session to run the standup for (default: most recent) |
--standup-output {terminal,desktop,slack,email,all} | Override the session's saved delivery channels |
Session management
| Flag | Description |
--resume [ID] | Resume a session. No argument = interactive picker. latest = most recent. Or pass a session ID |
--list-sessions | List all saved sessions and exit |
--clear-sessions | Interactively delete saved sessions |
Configuration
| Flag | Description |
--setup | Re-run the first-time setup wizard |
--theme {dark,light} | Terminal colour theme (default: dark) |
--no-bell | Disable terminal bell after pipeline steps |
--dry-run | Run TUI with mock data and fake delays — no LLM calls |
--version | Print version and exit |
Questionnaire export
| Flag | Description |
--export-questionnaire [PATH] | Export a blank questionnaire template as Markdown |
🎵 Music (ffplay)
Play focus music while you plan. This is an optional integration with ffplay, the headless player bundled with ffmpeg — install it separately (brew install ffmpeg, or your platform's package manager). ffplay is used because background music has to play headlessly alongside our own full-screen TUI: interactive terminal players refuse to start without a controlling terminal, whereas ffplay -nodisp plays a stream with no UI of its own. If the ffplay binary isn't on your PATH, the feature is disabled — the status bar shows a dim ♪ music: brew install ffmpeg hint and the controls are no-ops until you install it.
Once installed, a compact player status appears on the bottom border of every screen, and two control chords work app-wide — even while typing in a text field:
| Key | Action |
Ctrl+P | Play / pause (starts the current channel when stopped) |
Ctrl+O | Switch to the next channel (Lofi → Jazz → Classical → Ambient) |
Music auto-pauses while you record a voice note (double-tap Space) and resumes when the recording ends, so it never bleeds into your dictation. The on/off state and selected channel are remembered between runs. Under the hood, playback runs as a headless ffplay -nodisp process (one per stream); pause/resume suspend and continue it with SIGSTOP/SIGCONT, and it is stopped automatically when you exit.
Troubleshooting — the equalizer animates but there's no sound. The equalizer is a light animation that only means "a player was launched"; it is not driven by the audio itself. If you hear nothing, the ffplay process likely exited on its own (a stream URL that's down, or a codec the build can't decode). The status bar detects a player that exits unexpectedly and reverts to ♪ music stopped — stream unavailable, ^P to retry instead of showing a phantom "playing" state — press Ctrl+P to retry, or Ctrl+O to switch to a different stream. Confirm your ffmpeg build can play a stream directly with ffplay -nodisp https://ice1.somafm.com/groovesalad-128-mp3.
In-session commands
These commands are available at the scrum> prompt during an interactive session:
| Command | Description |
help, ? | Show available commands |
skip | Skip the current intake question (uses a sensible default) |
defaults | Apply defaults for all remaining questions in the current phase |
export | Export current artifacts as HTML report + Markdown |
/compact | Switch to compact output (hide secondary columns) |
/verbose | Switch to verbose output (full detail, default) |
/resume | Load a previously saved session |
/clear | Delete saved sessions (pick one or all) |
Q6: answer | Edit Q6 inline from the summary |
edit Q6 | Re-answer Q6 interactively from the summary |
exit, quit | Exit the agent |
Ctrl+C, Ctrl+D | Exit the agent |
The status bar at the bottom of the terminal shows project name, current phase, and session info. It updates automatically as you progress through the pipeline.
Examples
yeaboi # interactive TUI (recommended)
yeaboi --quick # quick intake (2 questions only)
yeaboi --full-intake # full 30-question intake
yeaboi --questionnaire intake.md # import pre-filled questionnaire
yeaboi --export-only --quick # non-interactive, auto-accept all
yeaboi --resume # resume last session (picker)
yeaboi --resume latest # resume most recent session
yeaboi --list-sessions # list all saved sessions
yeaboi --clear-sessions # delete saved sessions
yeaboi --non-interactive --description "Build X" # headless mode
yeaboi --non-interactive --description @brief.txt --output json # JSON to stdout
yeaboi --dry-run # TUI with mock data