Skip to main content

Doctor — oma doctor

Runs 12 environment probes to verify that installation and runtime environment are ready to support AIDLC / AgenticOps work.

Usage

oma doctor            # Human-readable table format
oma doctor --json # JSON schema report for CI
oma doctor --project /path/to/project # Check target directory instead of current

Exit codes

CodeMeaning
0All probes pass (skips allowed)
1At least 1 warning, no failures
2At least 1 failure

Probe list

idLabelDefault severityDescription
bash-versionBash >= 4failReject macOS default bash 3.2
jq-installedjq installedfailDependency for all JSON merge paths
git-installedgit installedfailclone install & upgrade
python3-installedpython3 installedwarnRequired for DSL compile / profile validate
uvx-installeduvx installed (for MCP)warnMCP server launcher
claude-cliClaude CLIskipSkip if missing — Kiro-only configuration allowed
kiro-cliKiro CLIskipSame as above
claude-settingsClaude settings.json has OMA hookswarnTrigger inactive if hooks not registered
mcp-pin-integrityMCP server versions pinnedfailEntire .mcp.json must use ==X.Y.Z
aws-credentialsAWS credentialswarnaws sts get-caller-identity success
profile-valid.omao/profile.yaml validwarn/failFails on schema violations
ontology-valid.omao/ontology/ validfailSeed ontology JSON Schema validation

JSON report schema

--json output follows schemas/doctor/report.schema.json.

{
"version": "1",
"oma_version": "0.2.0-preview.1",
"generated_at": "2026-04-30T02:05:11Z",
"summary": { "pass": 11, "warn": 1, "fail": 0, "skipped": 0 },
"probes": [
{ "id": "bash-version", "status": "pass", "message": "bash 5.2" },
{ "id": "aws-credentials", "status": "warn", "message": "aws sts get-caller-identity failed", "remediation": "Run `aws configure sso`." },
...
]
}

Usage in CI

- name: oma doctor
run: oma doctor --json > doctor.json
- name: Fail on critical doctor issues
run: |
jq -e '.summary.fail == 0' doctor.json

By default, warn does not fail CI. For strict mode, also assert .summary.warn == 0.