status
apothem status 명령에 대한 CLI 참조.
등록된 모든 하니스의 설치, 검증, 드리프트 상태를 보고합니다.
개요
apothem status [--profile PATH] [--project PATH]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]status는 읽기 전용 검사 명령입니다. 등록된 모든 하니스 어댑터를 순회하며
하니스마다 세 가지 사실을 보고합니다. 설치되어 있는지, 관리 대상이 검증을
통과하는지, 그리고 설치된 구성이 공유 프로필에서 드리프트되었는지입니다.
디스크에는 아무것도 쓰지 않습니다.
각 하니스에 대해 status는 다음을 보고합니다.
| 열 | 의미 |
|---|---|
installed | 어댑터의 관리 구성이 대상 경로에 존재함. |
verified | 어댑터의 관리 대상이 존재하며 유효함. |
drift | 프로필 충실도 판정(아래 참조). |
drift 값은 다음 중 하나입니다.
| 값 | 의미 |
|---|---|
in-sync | 설치된 구성이 새로 투영한 공유 프로필을 그대로 담고 있음. |
drift | 하니스는 설치되어 있지만 투영된 프로필 내용이 더 이상 현재 공유 프로필과 일치하지 않음. 다시 투영하려면 apothem install을 다시 실행하세요. |
absent | 하니스가 설치되어 있지 않으므로 비교할 대상이 없음. |
needs-project | 프로젝트 범위 하니스가 --project 없이 보고되어 그 대상을 해석할 수 없음. 검사하려면 --project PATH를 전달하세요. |
unknown | 기본 프로필을 로드할 수 없어, 설치된 하니스에 비교할 기준이 없음. 드리프트 판정을 복구하려면 프로필을 수정하세요. |
드리프트는 보고될 뿐 절대 오류로 취급되지 않습니다. 하나 이상의 하니스가
drift를 보고하더라도 status는 0으로 종료합니다. 드리프트는 여러분의 설정에
관한 사실이지 명령의 실패가 아닙니다.
기본 공유 프로필을 로드할 수 없으면, 순회를 중단하지 않고 설치된 하니스의
드리프트를 unknown으로 낮춥니다(installed/verified 사실은 계속 보고됨). 반면
명시적으로 지정한 --profile을 로드할 수 없으면 사용자 오류이며, 대신 구조화된
오류와 함께 중단합니다.
이처럼 판정이 낮아진 경우는 항상 보고됩니다. status는 해당 프로필과 해결
방법을 명시한 권고를 출력하고, --json 봉투는 warnings에 이에 대응하는
drift_baseline_unavailable 항목을 담습니다. 이는 설치된 하니스가 없을 때 가장
중요합니다. 이때는 모든 행이 absent로 표시되고 unknown 셀이 없으므로, 기준이
로드되지 않았음을 알리는 신호는 권고뿐입니다.
옵션
| 옵션 | 설명 |
|---|---|
--profile PATH | 드리프트 기준을 선택하는 공유 프로필 YAML. 지정하지 않으면 기본 프로필(~/.config/apothem/profile.yaml)을 사용합니다. |
--project PATH | 프로젝트 범위 하니스의 프로젝트 루트. 지정하지 않으면 프로젝트 범위 하니스는 needs-project를 보고합니다. |
--quiet, -q | 정보성 출력을 억제하며, 오류만 출력합니다. |
--verbose, -v | 추가 진단 출력을 내보냅니다. |
--format plain|json | 출력 형식(기본값: plain). |
--json | --format json의 단축형. |
--no-color | 출력에서 ANSI 색상 코드를 비활성화합니다. |
-h, --help | 도움말을 표시하고 종료합니다. |
JSON 출력
--json 봉투는 등록된 하니스마다 결과 행 하나를 담습니다. 각 행은 문서화된 키
harness, installed, verified, drift를 담습니다. 문제가 없는 순회에서는
warnings가 비어 있으며, 기본 프로필을 로드할 수 없었을 때는 path, code,
reason, fix를 가진 drift_baseline_unavailable 항목 하나를 담습니다.
{
"schema_version": 1,
"status": "success",
"command": "status",
"action": "status",
"harness": "all",
"files_written": [],
"results": [
{
"harness": "claude-code",
"installed": true,
"verified": true,
"drift": "in-sync"
},
{
"harness": "cursor",
"installed": false,
"verified": false,
"drift": "needs-project"
}
],
"warnings": [],
"error": null
}어댑터별 장애 격리: 단일 어댑터가 상태를 보고하는 중에 예외를 발생시키면, 해당
하니스의 행은 outcome: "error"와 message를 담고, 나머지 하니스는 계속
정상적으로 보고하며, 프로세스는 코드 2로 종료합니다.
예시
apothem status
apothem status --project .
apothem status --json종료 코드
| 코드 | 의미 |
|---|---|
| 0 | 상태가 보고됨(드리프트는 오류가 아니라 보고 대상임) |
| 1 | 예상된 검증 오류(유효하지 않은 --profile, 또는 존재하지 않는 --project 경로) |
| 2 | 하나 이상의 어댑터가 상태를 보고하지 못함 |
| 64 | 사용법 오류: 알 수 없는 옵션이나 명령, 또는 누락되었거나 잘못된 옵션 값. --json에서는 오류가 코드 cli.usage를 담은 JSON 봉투로 반환됩니다. |
함께 보기
- apothem verify — 하니스 어댑터 설치를 검증합니다
- apothem diff — 하니스의 대기 중인 변경 사항을 미리 봅니다
- apothem harnesses — 등록된 하니스를 나열하고 검사합니다