moai inventory 커맨드
현재 프로젝트의 활성 세션, 워크트리, 하네스를 한눈에 조회하는 moai inventory 커맨드를 안내합니다.
여러 SPEC 을 동시에 진행하는 워크플로우에서는 어느 세션이 어느 하네스(harness)와 워크트리를 쓰고 있는지 한눈에 보기 어렵기 때문에, 이 커맨드는 세 자원을 하나의 읽기 전용 뷰로 모아 줍니다. 따라서 관리자 에이전트가 새 작업을 spawn 하기 전에 경합을 점검하는 첫 단계로 적합합니다.
정보한 줄 요약:moai inventory는 현재 프로젝트의 활성 자원(세션, 워크트리, 하네스)을 읽기 전용으로 조회합니다.--json으로 구조화된 출력을 받아 스크립트에 활용할 수 있습니다.
moai inventory는 읽기 전용 명령어로, 병렬 세션과 워크트리를 여러 개 운영할 때 “지금 뭐가 돌아가고 있지?“를 한 번에 확인하는 통합 뷰를 제공합니다.
| 자원 | 설명 | 데이터 원본 |
|---|---|---|
| Sessions | 활성 Claude Code 세션 | .moai/state/active-sessions.json |
| Worktrees | 프로젝트용 Git 워크트리 | Git worktree 목록 |
| Harnesses | 등록된 하네스 | .moai/harness/ 매니페스트 |
bash
moai inventory [OPTIONS]| 플래그 | 설명 |
|---|---|
--json | 구조화된 JSON 출력 (기계 판독 가능) |
--project-root <path> | 프로젝트 루트 경로 (기본값: 현재 디렉터리) |
이 명령어가 지원하는 플래그는 위 두 개뿐입니다. 필터링이나 상세 모드 플래그는 따로 없으니, 원하는 형태로 걸러내려면 --json 출력을 jq 같은 도구에 넘기세요.
bash
moai inventory텍스트 형식으로 세션·워크트리·하네스 요약을 출력합니다.
bash
moai inventory --json구조화된 JSON으로 출력하여 자동 분석이나 CI 스크립트에 활용할 수 있습니다.
--json 출력의 최상위 구조는 세 섹션으로 이루어집니다.
json
{
"sessions": { ... },
"worktrees": { ... },
"harnesses": { ... }
}각 섹션에는 count 와 entries 필드가 있고, 상황에 따라 error 필드가 붙습니다.
json
{
"session_id": "edc25996",
"spec_id": "SPEC-DOCS-001",
"phase": "run"
}| 필드 | 설명 |
|---|---|
session_id | 세션 ID (단축형, 첫 8자) |
spec_id | 연결된 SPEC ID |
phase | 현재 Phase (plan, run, sync, mx) |
json
{
"branch": "feat/auth",
"path": "/home/user/.moai/worktrees/project/SPEC-AUTH-001",
"head": "a1b2c3d4"
}| 필드 | 설명 |
|---|---|
branch | 워크트리 브랜치명 |
path | 워크트리 파일시스템 경로 |
head | HEAD 커밋 해시 (단축형, 첫 8자) |
json
{
"name": "backend-team",
"domain": "backend",
"manifest_missing": false
}| 필드 | 설명 |
|---|---|
name | 하네스 이름 |
domain | 하네스 도메인 |
manifest_missing | 매니페스트 파일 누락 여부 (true면 설정 불완전) |
json
{
"sessions": {
"count": 2,
"entries": [
{ "session_id": "edc25996", "spec_id": "SPEC-DOCS-001", "phase": "run" },
{ "session_id": "a1b2c3d4", "spec_id": "SPEC-AUTH-002", "phase": "plan" }
]
},
"worktrees": {
"count": 1,
"entries": [
{ "branch": "feat/auth", "path": "/home/user/.moai/worktrees/project/SPEC-AUTH-001", "head": "a1b2c3d4" }
]
},
"harnesses": {
"count": 1,
"entries": [
{ "name": "backend-team", "domain": "backend", "manifest_missing": false }
]
}
}같은 SPEC을 다루는 세션이 2개 이상이면 경합 위험이 있습니다.
bash
moai inventory --json | jq '[.sessions.entries[] | .spec_id] | group_by(.) | map(select(length > 1))'
bash
moai inventory --json | jq -r '.worktrees.entries[].branch'manifest_missing: true 인 하네스는 설정이 덜 끝난 상태입니다.
bash
moai inventory --json | jq '.harnesses.entries[] | select(.manifest_missing)'
bash
moai inventory --json | jq '[.sessions.entries[].phase] | group_by(.) | map({phase: .[0], count: length})'- CLI 레퍼런스 — 전체 CLI 명령어
- 프로젝트 상태 —
moai status명령어 - SPEC 기반 개발 — SPEC 생명 주기
정보팁:moai inventory --json출력은 모니터링 대시보드나 CI 스크립트에 그대로 쓸 수 있습니다. 읽기 전용 명령어라 자동화에 걸어 두어도 안전합니다.