본문으로 건너뛰기

Doctor — oma doctor

12 개의 환경 probe 를 실행해 설치와 런타임 환경이 AIDLC / AgenticOps 작업을 지원할 준비가 되었는지 점검합니다.

실행

oma doctor            # 사람이 읽는 표 형식
oma doctor --json # CI 용 JSON 스키마 리포트
oma doctor --project /path/to/project # 현재 디렉터리가 아닌 대상 점검

Exit codes

Code의미
0모든 probe pass (skip 허용)
1최소 1 개 이상의 warn, fail 없음
2최소 1 개 이상의 fail

Probe 목록

id라벨기본 심각도설명
bash-versionBash >= 4failmacOS 기본 bash 3.2 거부
jq-installedjq installedfail모든 JSON 병합 경로의 의존성
git-installedgit installedfailclone install & upgrade
python3-installedpython3 installedwarnDSL compile / profile validate 에 필요
uvx-installeduvx installed (for MCP)warnMCP 서버 런처
claude-cliClaude CLIskip미설치면 skip — Kiro 단독 구성 허용
kiro-cliKiro CLIskip동일
claude-settingsClaude settings.json has OMA hookswarn훅 미등록 시 trigger 비활성
mcp-pin-integrityMCP server versions pinnedfail.mcp.json 전체가 ==X.Y.Z 인지
aws-credentialsAWS credentialswarnaws sts get-caller-identity 성공 여부
profile-valid.omao/profile.yaml validwarn/fail스키마 위반 시 fail
ontology-valid.omao/ontology/ validfail씨드 온톨로지 JSON Schema 검증

JSON 리포트 스키마

--json 출력은 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`." },
...
]
}

CI 에서 사용

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

warn 은 CI 를 fail 시키지 않는 것이 기본값입니다. 엄격 모드가 필요하면 .summary.warn == 0 도 assert 하세요.