Design notes
CLI Flag Audit (T428)
Inventory of every top-level subcommand and sub-subcommand, with --help/-h status before and after T428.
Summary
- All commands now respond to
--help/-hwith usage on stdout + exit 0. - Shared helper
hasHelpFlag(argv: string[]): booleanadded tosrc/commands/shared/ansi.ts. - Usage functions updated to accept an optional
out: NodeJS.WriteStreamparameter (defaultprocess.stderr) so the same function serves both error path (stderr) and explicit help (stdout). - Convention enforced throughout: explicit
--help/-h→ stdout + exit 0; missing/wrong args → usage to stderr + exit 1.
Inventory
| Command | Has --help (before) | Has --help (after) | Flags parsed | Gaps / Notes |
|---|---|---|---|---|
cyberine --help / -h | yes | yes | — | Already working |
cyberine run | no | yes | --bg, --cheap, --fleet, --mode, --high-risk | |
cyberine route | no | yes | --json | |
cyberine apply | no | yes | --dry-run, --step, --commit, -m | |
cyberine wait | no | yes | — | |
cyberine digest | no | yes | — | |
cyberine land | no | yes | --dry-run | |
cyberine tasks | no | yes | --all | |
cyberine next | yes | yes | --dispatch | Already working |
cyberine research | yes | yes | --depth, --out | Already working; parsed via parseResearchArgs |
cyberine auth | no | yes | — | |
cyberine auth login | no | yes | — | |
cyberine auth list | no | yes | — | |
cyberine auth status | no | yes | — | |
cyberine auth logout | no | yes | — | |
cyberine fleet | yes | yes | — | Already had help; improved sub-subcommand handling |
cyberine fleet init | no | yes | — | |
cyberine fleet enable | no (bug: read --help as provider) | yes | — | Critical bug fixed |
cyberine fleet disable | no (same bug) | yes | — | |
cyberine fleet set-default | no | yes | — | |
cyberine fleet set-model | no | yes | — | |
cyberine fleet route | no | yes | — | |
cyberine config | no | yes | — | |
cyberine config path | no | yes | — | |
cyberine config show | no | yes | --json | |
cyberine config get | no | yes | — | |
cyberine config set | no | yes | --global, --project, --local | |
cyberine config doctor | no | yes | — | |
cyberine init | no | yes | --update, --yes/-y | |
cyberine setup | delegated to runSetupCommand | no change | — | Has its own --status flag; no --help added (interactive wizard pattern) |
cyberine memory | no | yes | — | |
cyberine plugin | no | yes | — | |
cyberine plugin list | no | yes | — | |
cyberine plugin info | no | yes | — | |
cyberine plugin doctor | no | yes | — | |
cyberine plugin install | no | yes | --yes | |
cyberine plugin remove | no | yes | --yes | |
cyberine plugin enable | no | yes | — | |
cyberine plugin disable | no | yes | — | |
cyberine skill | no | yes | — | |
cyberine plans | no | yes | --all | |
cyberine model | no | yes | — | |
cyberine models | no | yes | — | |
cyberine group | no | yes | — | |
cyberine cooldown | no | yes | — | |
cyberine cost | no | yes | --days | |
cyberine credits | no | yes | — | |
cyberine usage | no | yes | — | |
cyberine cron | no | yes | — | |
cyberine schedule | no | yes | --at, --notify, --webhook, --retries, --backoff-ms | |
cyberine enqueue | no | yes | --mode | |
cyberine queue | no | yes | — | |
cyberine wf | no | yes | --bg | |
cyberine eval | no | yes | --compare | |
cyberine track-record | no | yes | — | |
cyberine api-token | no | yes | — | |
cyberine serve | no | yes | --port, --host | |
cyberine reap | no change | no change | --dry-run | cmdReap does not parse args; passed as bool from cyberine.ts. --dry-run already handled at dispatch layer. Low priority follow-up. |
cyberine maintenance | no change | no change | — | No args accepted; --help would be trivial but not blocking. Follow-up. |
cyberine status | no change | no change | — | No args accepted. Follow-up. |
cyberine daemon | no change | no change | — | Internal; no user-facing args. Low priority. |
cyberine web | no change | no change | --port, --host | Delegated to resolveWebOptions; no --help gate added. Follow-up. |
cyberine chat | delegated to runChat | no change | --task, sessions, --continue, --resume | Interactive REPL; has its own help system. |
cyberine agents | delegated to cmdAgentsTui | no change | --once, --json | TUI; no plain --help needed. |
cyberine tui | delegated to cmdTui | no change | --dir | TUI; low priority. |
cyberine trajectory | no change | no change | export --out | Very narrow command; follow-up. |
cyberine provenance | no change | no change | export --out --scope | Very narrow command; follow-up. |
cyberine evolve | no change | no change | start --goal, status, stop, steer | Complex multi-step flow; own help system. Follow-up. |
Files Changed
| File | Change |
|---|---|
src/commands/shared/ansi.ts | Added hasHelpFlag(argv) helper |
src/commands/fleet.ts | Fixed enable/disable bug; added help to all sub-subcommands; updated fleetUsage(out?) |
src/commands/config.ts | Added help to all sub-subcommands; updated configUsage(out?) |
src/auth/authCommand.ts | Added help to runAuthCommand and all sub-subcommands |
src/commands/billing.ts | Added help to cmdCooldown, cmdCost, cmdCredits, cmdUsage |
src/commands/memory.ts | Updated memoryUsage(out?); added help to cmdMemory |
src/commands/plugins.ts | Updated pluginUsage(out?); added help to cmdPlugin and all sub-subcommands |
src/commands/tasks.ts | Updated skillUsage(out?), plansUsage(out?); added help to cmdSkill, cmdPlans |
src/commands/models.ts | Updated modelUsage(out?), groupUsage(out?), modelsUsage(out?); added help |
src/commands/misc.ts | Added help to cmdTrackRecord, cmdWf, cmdEval; updated signature |
src/commands/lifecycle.ts | Updated landUsage(out?) |
src/commands/apiTokens.ts | Updated usage(out?); added help to cmdApiToken |
src/commands/init.ts | Added help to cmdInit |
src/commands/ops.ts | Added help to cmdCron, cmdSchedule, cmdEnqueue, cmdQueue, cmdServe |
src/cyberine.ts | Added help to run, route, apply, wait, digest, land, tasks dispatch sites; updated callsites for cmdTrackRecord and cmdUsage |
Follow-up Tasks
These were intentionally deferred: they are either narrow internal commands, TUI entry points, or commands whose help path requires non-trivial refactoring:
cyberine reap --help— cmdReap receives a boolean not args; would need signature change.cyberine maintenance --help— no args accepted; trivial but not blocking.cyberine status --help— no args accepted; trivial.cyberine daemon --help— internal; low user-facing value.cyberine web --help— delegated to resolveWebOptions; needs update there.cyberine agents --help— TUI entry; has --once/--json but no help gate.cyberine tui --help— TUI; low priority.cyberine chat --help— interactive REPL; has its own help system (/help slash command).cyberine trajectory --help/cyberine provenance --help— narrow expert commands; low traffic.cyberine evolve --help— complex multi-step flow; has its own sub-subcommand routing.
TUI Config Interaction Standard — T418 Tier-1 Design Doc
Status: design artifact only — no code built. Tiers 2-3 (shared primitives + migration + settings screen) are TTY+decision-gated and not included here. Source cross-checked: src/tui/,...
CLI Streaming Output — T435 Design Note
Status: shipped — Path 1 landed (T435). See src/orchestrator/Orchestrator.ts:144,374-375. Source cross-checked: src/commands/fleet.ts, src/cli.ts, src/orchestrator/run.ts,...