CLI Reference

yeaboi [OPTIONS]

Interactive modes

FlagDescription
(no flags)Launch the full-screen TUI with mode selection
--quickQuick intake — 2 questions only (team size + tech stack), auto-fill rest
--full-intakeFull 30-question intake (standard mode)
--mode project-planningSkip the startup menu, go directly to project planning
--questionnaire PATHImport a filled-in questionnaire Markdown file
--export-onlyAuto-accept all review checkpoints and exit after plan generation

Non-interactive / headless

FlagDescription
--non-interactiveRun headlessly (requires --description)
--description TEXTProject 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 NTeam size (maps to intake Q6)
--sprint-length {1,2,3,4}Sprint length in weeks (maps to intake Q8)

Daily Standup

FlagDescription
--standup-runRun a daily standup headlessly and deliver it (what the OS scheduler invokes)
--standup-interactiveWith --standup-run: prompt for your update + confirm (timed) before generating; falls back to headless with no TTY
--standup-session IDSession to run the standup for (default: most recent)
--standup-output {terminal,desktop,slack,email,all}Override the session's saved delivery channels

Session management

FlagDescription
--resume [ID]Resume a session. No argument = interactive picker. latest = most recent. Or pass a session ID
--list-sessionsList all saved sessions and exit
--clear-sessionsInteractively delete saved sessions

Configuration

FlagDescription
--setupRe-run the first-time setup wizard
--theme {dark,light}Terminal colour theme (default: dark)
--no-bellDisable terminal bell after pipeline steps
--dry-runRun TUI with mock data and fake delays — no LLM calls
--versionPrint version and exit

Questionnaire export

FlagDescription
--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:

KeyAction
Ctrl+PPlay / pause (starts the current channel when stopped)
Ctrl+OSwitch 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:

CommandDescription
help, ?Show available commands
skipSkip the current intake question (uses a sensible default)
defaultsApply defaults for all remaining questions in the current phase
exportExport current artifacts as HTML report + Markdown
/compactSwitch to compact output (hide secondary columns)
/verboseSwitch to verbose output (full detail, default)
/resumeLoad a previously saved session
/clearDelete saved sessions (pick one or all)
Q6: answerEdit Q6 inline from the summary
edit Q6Re-answer Q6 interactively from the summary
exit, quitExit the agent
Ctrl+C, Ctrl+DExit 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