feat(cli): add ao doctor command and Node.js version guard in ao init#133
feat(cli): add ao doctor command and Node.js version guard in ao init#133AgentWrapper wants to merge 1 commit intomainfrom
Conversation
Implements the prerequisite checking part of the end-to-end setup experience (issue #15): - Add `ao doctor` command that checks: Node.js version (>=20), git, tmux, GitHub CLI + auth, agent CLIs (claude/codex/aider), config file validity, and directory write permissions. Exits non-zero if critical checks fail, with actionable fix instructions for each. - Add Node.js version guard in `ao init` — fails fast with a clear message if running on Node < 20. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| } | ||
|
|
||
| return results; | ||
| } |
There was a problem hiding this comment.
No warning when Slack webhook missing
Medium Severity
checkOptionalIntegrations() only reports SLACK_WEBHOOK_URL when it is set and emits no warn entry when it is missing, so ao doctor can claim all optional integrations are fine while silently skipping Slack. This contradicts the command’s stated purpose of checking optional integrations.
| } | ||
|
|
||
| return results; | ||
| } |
There was a problem hiding this comment.
Missing “no agent found” warning
Medium Severity
checkAgentCli() computes hasAnyAgent but never emits a summary warn when none of claude, codex, or aider are present, despite the feature intent to warn if no agent CLI is available. The output can misleadingly look “fine” aside from the claude-code plugin-specific warning.


Summary
Implements the prerequisite checking and health-check parts of the end-to-end install & setup experience (#15).
ao doctor— new command that runs a comprehensive system health check before you start using ao:~/.agent-orchestrator) and worktreeDir (~/.worktrees)ao initNode.js guard — fails fast with a clear message if the user is running Node < 20, before any interactive promptsTest plan
ao doctorin a repo with all dependencies installed — all checks greenao doctorwithout tmux — shows ✗ with install instructionsao doctorwithout a config file — shows warning withao initsuggestionao doctorwith an invalid config — shows ✗ on config validationao initon Node 18 exits with clear error messagepnpm buildandpnpm lintpass (verified locally)Closes #15 (partial — implements prerequisite checks and
ao doctor; npm publish and README quickstart are separate)🤖 Generated with Claude Code