ai-ops-cli 0.2.6 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +170 -0
- package/README.md +109 -163
- package/data/context-layer/AGENTS.md +29 -0
- package/data/context-layer/CLAUDE.md +14 -0
- package/data/context-layer/GEMINI.md +14 -0
- package/data/context-layer/docs/agent/checks/impact-checklist.md +16 -0
- package/data/context-layer/docs/agent/checks/review-checklist.md +17 -0
- package/data/context-layer/docs/agent/maps/codebase-map.md +16 -0
- package/data/context-layer/docs/agent/rules/doc-update-rules.md +22 -0
- package/data/context-layer/docs/agent/rules/routing-rules.md +22 -0
- package/data/context-layer/docs/agent/rules/stop-rules.md +20 -0
- package/data/context-layer/docs/agent/workflow.md +25 -0
- package/data/context-layer/docs/business/business-rules.md +16 -0
- package/data/context-layer/docs/docs-status.md +14 -0
- package/data/packs/pack-registry.json +8 -0
- package/data/packs/spec-lifecycle/docs/specs/README.ko.md +26 -0
- package/data/packs/spec-lifecycle/docs/specs/README.md +26 -0
- package/data/packs/spec-lifecycle/docs/specs/baseline/.gitkeep +1 -0
- package/data/packs/spec-lifecycle/docs/specs/initial-build/.gitkeep +1 -0
- package/data/skills/README.ko.md +182 -0
- package/data/skills/README.md +27 -2
- package/data/skills/skill-registry.json +64 -16
- package/data/skills/task-skills/doc-impact-reviewer/SKILL.md +101 -0
- package/data/skills/task-skills/doc-impact-reviewer/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-baseline-sync/SKILL.md +134 -0
- package/data/skills/task-skills/spec-baseline-sync/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-baseline-sync/references/template.md +14 -0
- package/data/skills/task-skills/spec-product-01-idea-to-brief/SKILL.md +78 -0
- package/data/skills/task-skills/spec-product-01-idea-to-brief/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-product-01-idea-to-brief/references/template.md +36 -0
- package/data/skills/task-skills/spec-product-02-brief-to-technical-context/SKILL.md +91 -0
- package/data/skills/task-skills/spec-product-02-brief-to-technical-context/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-product-02-brief-to-technical-context/references/template.md +58 -0
- package/data/skills/task-skills/spec-product-03-brief-to-product-spec/SKILL.md +85 -0
- package/data/skills/task-skills/spec-product-03-brief-to-product-spec/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-product-03-brief-to-product-spec/references/template.md +41 -0
- package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/SKILL.md +93 -0
- package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/references/stitch-prompt-template.md +41 -0
- package/data/skills/task-skills/spec-product-04-product-spec-to-ui-spec/references/ui-spec-template.md +39 -0
- package/data/skills/task-skills/spec-product-05-spec-to-work-packets/SKILL.md +157 -0
- package/data/skills/task-skills/spec-product-05-spec-to-work-packets/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-product-05-spec-to-work-packets/references/stitch-html-review.md +25 -0
- package/data/skills/task-skills/spec-product-05-spec-to-work-packets/references/work-packet-template.md +67 -0
- package/data/skills/task-skills/spec-shared-glossary-sync/SKILL.md +102 -0
- package/data/skills/task-skills/spec-shared-glossary-sync/agents/openai.yaml +6 -0
- package/data/skills/task-skills/spec-shared-glossary-sync/references/checklist.md +36 -0
- package/data/skills/task-skills/spec-shared-glossary-sync/references/template.md +58 -0
- package/data/subagents/README.ko.md +47 -0
- package/data/subagents/README.md +47 -0
- package/data/subagents/security-gate/PROMPT.md +18 -0
- package/data/subagents/security-gate/claude.frontmatter.yaml +8 -0
- package/data/subagents/security-gate/codex.frontmatter.toml +6 -0
- package/data/subagents/security-gate/gemini.frontmatter.yaml +6 -0
- package/data/subagents/security-reviewer/PROMPT.md +17 -0
- package/data/subagents/security-reviewer/claude.frontmatter.yaml +9 -0
- package/data/subagents/security-reviewer/codex.frontmatter.toml +6 -0
- package/data/subagents/security-reviewer/gemini.frontmatter.yaml +6 -0
- package/data/subagents/subagent-registry.json +14 -0
- package/dist/bin/index.js +2101 -1712
- package/dist/bin/index.js.map +1 -1
- package/package.json +2 -2
package/README.ko.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# ai-ops-cli
|
|
2
|
+
|
|
3
|
+
`ai-ops-cli`는 프로젝트에 AI agent operating layer를 설치하고, 사용자 환경에 agent skills/subagents를 설치하는 CLI입니다.
|
|
4
|
+
|
|
5
|
+
이 문서는 현재 구현된 breaking model을 설명합니다. old rules + skills scaffolder 모델은 deprecated 문맥으로만 남깁니다.
|
|
6
|
+
|
|
7
|
+
## Current Breaking Model
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
init["ai-ops init"] --> layer["Project operating layer 설치"]
|
|
12
|
+
layer --> entry["AGENTS.md canonical entrypoint"]
|
|
13
|
+
layer --> adapters["GEMINI.md / CLAUDE.md adapters"]
|
|
14
|
+
layer --> docs["docs/agent/* / docs/business/*"]
|
|
15
|
+
layer --> state[".ai-ops/manifest.json / context-layer.json"]
|
|
16
|
+
|
|
17
|
+
skill["ai-ops skill ..."] --> globalSkills["Global skills only"]
|
|
18
|
+
subagent["ai-ops subagent ..."] --> globalSubagents["Global subagents only"]
|
|
19
|
+
pack["ai-ops pack ..."] --> docsSpecs["optional docs/specs/ pack"]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
핵심 경계:
|
|
23
|
+
|
|
24
|
+
- project scope는 operating layer 문서만 관리합니다.
|
|
25
|
+
- global scope는 skills/subagents만 관리합니다.
|
|
26
|
+
- `AGENTS.md`가 canonical entrypoint입니다.
|
|
27
|
+
- `GEMINI.md`와 `CLAUDE.md`는 `AGENTS.md`를 기준으로 삼게 하는 adapter입니다.
|
|
28
|
+
- `docs/specs/`는 optional pack 위치입니다.
|
|
29
|
+
- global asset 명령은 `AI_OPS_HOME` 또는 `HOME`이 없으면 cwd fallback 없이 실패합니다.
|
|
30
|
+
|
|
31
|
+
## 설치 대상
|
|
32
|
+
|
|
33
|
+
Project repo:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
AGENTS.md
|
|
37
|
+
GEMINI.md
|
|
38
|
+
CLAUDE.md
|
|
39
|
+
docs/agent/workflow.md
|
|
40
|
+
docs/agent/rules/routing-rules.md
|
|
41
|
+
docs/agent/rules/doc-update-rules.md
|
|
42
|
+
docs/agent/rules/stop-rules.md
|
|
43
|
+
docs/agent/checks/impact-checklist.md
|
|
44
|
+
docs/agent/checks/review-checklist.md
|
|
45
|
+
docs/agent/maps/codebase-map.md
|
|
46
|
+
docs/business/business-rules.md
|
|
47
|
+
docs/docs-status.md
|
|
48
|
+
.ai-ops/manifest.json
|
|
49
|
+
.ai-ops/context-layer.json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Global tool home:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
skills/*
|
|
56
|
+
subagents/*
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 목표 CLI 표면
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
ai-ops [command]
|
|
63
|
+
|
|
64
|
+
Commands:
|
|
65
|
+
init Install or refresh the project agent operating layer
|
|
66
|
+
diff Show drift in the project operating layer
|
|
67
|
+
update Re-apply the project operating layer
|
|
68
|
+
audit Check frontmatter, docs-status, manifest, and context-layer consistency
|
|
69
|
+
uninstall Remove project-managed operating layer files
|
|
70
|
+
skill Manage global agent skills
|
|
71
|
+
subagent Manage global agent subagents
|
|
72
|
+
pack Manage optional project operating layer packs
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`--tool`은 유지합니다. Codex, Claude Code, Gemini CLI가 서로 다른 discovery 위치와 adapter 파일을 사용하기 때문입니다.
|
|
76
|
+
|
|
77
|
+
Skill lifecycle 명령:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
ai-ops skill list
|
|
81
|
+
ai-ops skill install skill-load-check --tool codex
|
|
82
|
+
ai-ops skill install doc-impact-reviewer --tool codex
|
|
83
|
+
ai-ops skill diff
|
|
84
|
+
ai-ops skill update
|
|
85
|
+
ai-ops skill uninstall skill-load-check
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`doc-impact-reviewer`는 변경 완료 또는 커밋 직전에 운영 문서 영향도를 확인하는 수동 task skill입니다. `$doc-impact-reviewer`로 호출하면 git status/diff를 보고 `required / recommended / not needed` 문서 후보와 미갱신 리스크를 제안합니다. 사용자 승인 전에는 문서를 수정하지 않고, 직접 staging/commit도 하지 않습니다.
|
|
89
|
+
|
|
90
|
+
Subagent lifecycle 명령:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
ai-ops subagent list
|
|
94
|
+
ai-ops subagent install security-gate --tool codex
|
|
95
|
+
ai-ops subagent diff
|
|
96
|
+
ai-ops subagent update
|
|
97
|
+
ai-ops subagent uninstall security-gate
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Subagent는 항상 global tool home에 설치됩니다. Codex는 `.codex/agents/<id>.toml`, Claude Code는 `.claude/agents/<id>.md`, Gemini CLI는 `.gemini/agents/<id>.md`를 사용하고, 상태는 `.ai-ops/subagents-manifest.json`에만 기록합니다.
|
|
101
|
+
|
|
102
|
+
Pack lifecycle 명령:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
ai-ops init --tool codex
|
|
106
|
+
ai-ops pack list
|
|
107
|
+
ai-ops pack install spec-lifecycle
|
|
108
|
+
ai-ops pack diff spec-lifecycle
|
|
109
|
+
ai-ops pack update spec-lifecycle
|
|
110
|
+
ai-ops pack uninstall spec-lifecycle
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`spec-lifecycle` pack은 `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, `docs/specs/initial-build/.gitkeep`를 설치합니다. Markdown 문서만 context-layer와 `docs/docs-status.md` 감사 대상이고, `.gitkeep`은 manifest의 일반 pack file로만 기록됩니다.
|
|
114
|
+
|
|
115
|
+
## Deprecated Old Model
|
|
116
|
+
|
|
117
|
+
다음 동작은 현재 코드나 과거 README에 남아 있을 수 있지만 새 계약에서는 제거 대상입니다.
|
|
118
|
+
|
|
119
|
+
- preset-first init UX
|
|
120
|
+
- project scope skill 설치
|
|
121
|
+
- `ai-ops skill install --project`
|
|
122
|
+
- project-installed skill metadata
|
|
123
|
+
- `.ai-ops-manifest.json`
|
|
124
|
+
- legacy manifest migration
|
|
125
|
+
- root `specs/`
|
|
126
|
+
- `ai-ops spec init`
|
|
127
|
+
|
|
128
|
+
기존 프로젝트 자동 마이그레이션은 제공하지 않습니다. 기존 사용자는 old CLI로 `ai-ops uninstall`을 실행한 뒤 새 major CLI로 `ai-ops init`을 다시 실행합니다.
|
|
129
|
+
|
|
130
|
+
## Old Model Command Notes
|
|
131
|
+
|
|
132
|
+
Deprecated old model 문맥에서만 아래 명령을 과거 project scope skill 설치 예시로 남깁니다. 현재 skill CLI는 global-only이며 `--project`, `--global`, `--scope`를 공개 옵션으로 제공하지 않습니다.
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
ai-ops skill install skill-load-check --project --tool codex
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Deprecated old model 문맥에서만 유지되는 항목:
|
|
139
|
+
|
|
140
|
+
- `--project`는 project scope skill 설치용 old option입니다.
|
|
141
|
+
- `--global`, `--scope`는 skill scope를 직접 지정하던 old option입니다.
|
|
142
|
+
- `spec init`은 root `specs/`를 만들던 제거된 old command입니다.
|
|
143
|
+
- `.ai-ops-manifest.json`는 old project manifest입니다.
|
|
144
|
+
|
|
145
|
+
## 개발
|
|
146
|
+
|
|
147
|
+
저장소 루트 기준:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
npm install
|
|
151
|
+
npm run build
|
|
152
|
+
npm run compile
|
|
153
|
+
npm test
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
CLI workspace만 확인할 때:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
npm run build --workspace=apps/cli
|
|
160
|
+
npm run test --workspace=apps/cli
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
코드와 운영 문서 변경은 `npm run check`를 기본 검증으로 사용합니다. CLI 배포 산출물 확인은 `npm run build`와 `npm run compile`을 함께 사용합니다.
|
|
164
|
+
|
|
165
|
+
Self-dogfood 검증은 `npm run build` 후 이 repo에 `init --tool codex --tool gemini --tool claude-code`를 적용하고, `diff`, `audit`, `update --force`, `uninstall --yes`, 재-`init`, 재-`audit` 순서로 확인합니다. 이 repo에는 `spec-lifecycle` pack을 설치하지 않고 `pack list`에서 `not installed` 상태만 확인합니다.
|
|
166
|
+
|
|
167
|
+
## 관련 문서
|
|
168
|
+
|
|
169
|
+
- [Master blueprint](../../docs/plan.md)
|
|
170
|
+
- [Implementation playbook](../../docs/implementation-playbook.md)
|
package/README.md
CHANGED
|
@@ -1,165 +1,150 @@
|
|
|
1
1
|
# ai-ops-cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`ai-ops-cli`는 프로젝트에 AI agent operating layer를 설치하고, 사용자 환경에 agent skills/subagents를 설치하는 CLI입니다.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
이 문서는 현재 구현된 breaking model을 설명합니다. old rules + skills scaffolder 모델은 deprecated 문맥으로만 남깁니다.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Current Breaking Model
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
init["ai-ops init"] --> layer["Project operating layer 설치"]
|
|
12
|
+
layer --> entry["AGENTS.md canonical entrypoint"]
|
|
13
|
+
layer --> adapters["GEMINI.md / CLAUDE.md adapters"]
|
|
14
|
+
layer --> docs["docs/agent/* / docs/business/*"]
|
|
15
|
+
layer --> state[".ai-ops/manifest.json / context-layer.json"]
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
- `apps/cli/data/skills/reference-skills/<skill-id>/`: installable reference skills
|
|
18
|
-
- `apps/cli/data/skills/task-skills/<skill-id>/`: installable task skills
|
|
19
|
-
- `apps/cli/data/presets.yaml`: preset-to-core-rule mapping
|
|
20
|
-
|
|
21
|
-
## What this CLI provides
|
|
17
|
+
skill["ai-ops skill ..."] --> globalSkills["Global skills only"]
|
|
18
|
+
subagent["ai-ops subagent ..."] --> globalSubagents["Global subagents only"]
|
|
19
|
+
pack["ai-ops pack ..."] --> docsSpecs["optional docs/specs/ pack"]
|
|
20
|
+
```
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
- skill package installation and lifecycle management (`ai-ops skill ...`)
|
|
25
|
-
- spec pipeline directory scaffolding (`ai-ops spec init`)
|
|
26
|
-
- source drift checks (`ai-ops diff`)
|
|
27
|
-
- deterministic re-apply (`ai-ops update`)
|
|
28
|
-
- managed cleanup (`ai-ops uninstall`)
|
|
22
|
+
핵심 경계:
|
|
29
23
|
|
|
30
|
-
|
|
24
|
+
- project scope는 operating layer 문서만 관리합니다.
|
|
25
|
+
- global scope는 skills/subagents만 관리합니다.
|
|
26
|
+
- `AGENTS.md`가 canonical entrypoint입니다.
|
|
27
|
+
- `GEMINI.md`와 `CLAUDE.md`는 `AGENTS.md`를 기준으로 삼게 하는 adapter입니다.
|
|
28
|
+
- `docs/specs/`는 optional pack 위치입니다.
|
|
29
|
+
- global asset 명령은 `AI_OPS_HOME` 또는 `HOME`이 없으면 cwd fallback 없이 실패합니다.
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
| --------------------------- | ----------------------------------------------------- | ---------------------------- |
|
|
34
|
-
| Claude Code (`claude-code`) | `.claude/rules/<rule-id>.md`, `<workspace>/CLAUDE.md` | `.claude/skills/<skill-id>/` |
|
|
35
|
-
| Codex (`codex`) | `AGENTS.md`, `<workspace>/AGENTS.override.md` | `.agents/skills/<skill-id>/` |
|
|
36
|
-
| Gemini CLI (`gemini`) | `GEMINI.md`, `<workspace>/GEMINI.md` | `.agents/skills/<skill-id>/` |
|
|
31
|
+
## 설치 대상
|
|
37
32
|
|
|
38
|
-
|
|
33
|
+
Project repo:
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
```text
|
|
36
|
+
AGENTS.md
|
|
37
|
+
GEMINI.md
|
|
38
|
+
CLAUDE.md
|
|
39
|
+
docs/agent/workflow.md
|
|
40
|
+
docs/agent/rules/routing-rules.md
|
|
41
|
+
docs/agent/rules/doc-update-rules.md
|
|
42
|
+
docs/agent/rules/stop-rules.md
|
|
43
|
+
docs/agent/checks/impact-checklist.md
|
|
44
|
+
docs/agent/checks/review-checklist.md
|
|
45
|
+
docs/agent/maps/codebase-map.md
|
|
46
|
+
docs/business/business-rules.md
|
|
47
|
+
docs/docs-status.md
|
|
48
|
+
.ai-ops/manifest.json
|
|
49
|
+
.ai-ops/context-layer.json
|
|
50
|
+
```
|
|
43
51
|
|
|
44
|
-
|
|
52
|
+
Global tool home:
|
|
45
53
|
|
|
46
|
-
```
|
|
47
|
-
|
|
54
|
+
```text
|
|
55
|
+
skills/*
|
|
56
|
+
subagents/*
|
|
48
57
|
```
|
|
49
58
|
|
|
50
|
-
##
|
|
59
|
+
## 목표 CLI 표면
|
|
51
60
|
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
ai-ops init
|
|
61
|
+
```text
|
|
62
|
+
ai-ops [command]
|
|
55
63
|
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
Commands:
|
|
65
|
+
init Install or refresh the project agent operating layer
|
|
66
|
+
diff Show drift in the project operating layer
|
|
67
|
+
update Re-apply the project operating layer
|
|
68
|
+
audit Check frontmatter, docs-status, manifest, and context-layer consistency
|
|
69
|
+
uninstall Remove project-managed operating layer files
|
|
70
|
+
skill Manage global agent skills
|
|
71
|
+
subagent Manage global agent subagents
|
|
72
|
+
pack Manage optional project operating layer packs
|
|
73
|
+
```
|
|
58
74
|
|
|
59
|
-
|
|
60
|
-
|
|
75
|
+
`--tool`은 유지합니다. Codex, Claude Code, Gemini CLI가 서로 다른 discovery 위치와 adapter 파일을 사용하기 때문입니다.
|
|
76
|
+
|
|
77
|
+
Skill lifecycle 명령:
|
|
61
78
|
|
|
62
|
-
|
|
79
|
+
```bash
|
|
63
80
|
ai-ops skill list
|
|
81
|
+
ai-ops skill install skill-load-check --tool codex
|
|
82
|
+
ai-ops skill install doc-impact-reviewer --tool codex
|
|
64
83
|
ai-ops skill diff
|
|
65
84
|
ai-ops skill update
|
|
66
85
|
ai-ops skill uninstall skill-load-check
|
|
67
|
-
|
|
68
|
-
# Check project drift
|
|
69
|
-
ai-ops diff
|
|
70
|
-
|
|
71
|
-
# Re-apply current project state
|
|
72
|
-
ai-ops update
|
|
73
|
-
ai-ops update --force
|
|
74
|
-
|
|
75
|
-
# Remove project-managed files
|
|
76
|
-
ai-ops uninstall
|
|
77
|
-
|
|
78
|
-
# Initialize spec pipeline directory structure
|
|
79
|
-
ai-ops spec init
|
|
80
|
-
|
|
81
|
-
# Force re-create even if specs/ already exists
|
|
82
|
-
ai-ops spec init --force
|
|
83
86
|
```
|
|
84
87
|
|
|
85
|
-
|
|
88
|
+
`doc-impact-reviewer`는 변경 완료 또는 커밋 직전에 운영 문서 영향도를 확인하는 수동 task skill입니다. `$doc-impact-reviewer`로 호출하면 git status/diff를 보고 `required / recommended / not needed` 문서 후보와 미갱신 리스크를 제안합니다. 사용자 승인 전에는 문서를 수정하지 않고, 직접 staging/commit도 하지 않습니다.
|
|
86
89
|
|
|
87
|
-
|
|
88
|
-
ai-ops [command]
|
|
90
|
+
Subagent lifecycle 명령:
|
|
89
91
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
uninstall Remove installed rules and manifest
|
|
97
|
-
|
|
98
|
-
Options:
|
|
99
|
-
--force Force update even when no changes are detected (update only)
|
|
100
|
-
-V, --version Output version number
|
|
101
|
-
-h, --help Display help
|
|
92
|
+
```bash
|
|
93
|
+
ai-ops subagent list
|
|
94
|
+
ai-ops subagent install security-gate --tool codex
|
|
95
|
+
ai-ops subagent diff
|
|
96
|
+
ai-ops subagent update
|
|
97
|
+
ai-ops subagent uninstall security-gate
|
|
102
98
|
```
|
|
103
99
|
|
|
104
|
-
|
|
100
|
+
Subagent는 항상 global tool home에 설치됩니다. Codex는 `.codex/agents/<id>.toml`, Claude Code는 `.claude/agents/<id>.md`, Gemini CLI는 `.gemini/agents/<id>.md`를 사용하고, 상태는 `.ai-ops/subagents-manifest.json`에만 기록합니다.
|
|
105
101
|
|
|
106
|
-
|
|
107
|
-
ai-ops spec init [options]
|
|
108
|
-
|
|
109
|
-
Initialize the specs/ directory structure for AI-collaborative spec pipelines.
|
|
110
|
-
Creates:
|
|
111
|
-
specs/README.md — usage guide
|
|
112
|
-
specs/baseline/ — baseline spec documents
|
|
113
|
-
specs/delta/ — delta (incremental change) spec documents
|
|
102
|
+
Pack lifecycle 명령:
|
|
114
103
|
|
|
115
|
-
|
|
116
|
-
|
|
104
|
+
```bash
|
|
105
|
+
ai-ops init --tool codex
|
|
106
|
+
ai-ops pack list
|
|
107
|
+
ai-ops pack install spec-lifecycle
|
|
108
|
+
ai-ops pack diff spec-lifecycle
|
|
109
|
+
ai-ops pack update spec-lifecycle
|
|
110
|
+
ai-ops pack uninstall spec-lifecycle
|
|
117
111
|
```
|
|
118
112
|
|
|
119
|
-
|
|
113
|
+
`spec-lifecycle` pack은 `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, `docs/specs/initial-build/.gitkeep`를 설치합니다. Markdown 문서만 context-layer와 `docs/docs-status.md` 감사 대상이고, `.gitkeep`은 manifest의 일반 pack file로만 기록됩니다.
|
|
120
114
|
|
|
121
|
-
|
|
122
|
-
- User-scope skill state is tracked in `~/.ai-ops/skills-manifest.json`.
|
|
123
|
-
- `ai-ops skill` defaults to user scope. Use `--project` to keep a skill local to the current repo.
|
|
115
|
+
## Deprecated Old Model
|
|
124
116
|
|
|
125
|
-
|
|
117
|
+
다음 동작은 현재 코드나 과거 README에 남아 있을 수 있지만 새 계약에서는 제거 대상입니다.
|
|
126
118
|
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
119
|
+
- preset-first init UX
|
|
120
|
+
- project scope skill 설치
|
|
121
|
+
- `ai-ops skill install --project`
|
|
122
|
+
- project-installed skill metadata
|
|
123
|
+
- `.ai-ops-manifest.json`
|
|
124
|
+
- legacy manifest migration
|
|
125
|
+
- root `specs/`
|
|
126
|
+
- `ai-ops spec init`
|
|
133
127
|
|
|
134
|
-
|
|
128
|
+
기존 프로젝트 자동 마이그레이션은 제공하지 않습니다. 기존 사용자는 old CLI로 `ai-ops uninstall`을 실행한 뒤 새 major CLI로 `ai-ops init`을 다시 실행합니다.
|
|
135
129
|
|
|
136
|
-
|
|
130
|
+
## Old Model Command Notes
|
|
137
131
|
|
|
138
|
-
|
|
139
|
-
2. Monorepo confirmation
|
|
140
|
-
3. Workspace selection for monorepos
|
|
141
|
-
4. Preset selection per workspace
|
|
142
|
-
5. Locked core rules review
|
|
143
|
-
6. Preset-linked `reference` skills only:
|
|
144
|
-
- already-installed global skills are shown separately
|
|
145
|
-
- only installable skills can be deselected
|
|
146
|
-
7. One shared install scope for selected installable skills (`user` default or `project`)
|
|
147
|
-
8. Optional settings installation
|
|
132
|
+
Deprecated old model 문맥에서만 아래 명령을 과거 project scope skill 설치 예시로 남깁니다. 현재 skill CLI는 global-only이며 `--project`, `--global`, `--scope`를 공개 옵션으로 제공하지 않습니다.
|
|
148
133
|
|
|
149
|
-
|
|
134
|
+
```bash
|
|
135
|
+
ai-ops skill install skill-load-check --project --tool codex
|
|
136
|
+
```
|
|
150
137
|
|
|
151
|
-
|
|
152
|
-
- `init` shows only preset-linked `reference` skills
|
|
153
|
-
- `task` skills are excluded from `init` and are managed with `ai-ops skill install/uninstall`
|
|
154
|
-
- globally available skills are not reinstalled by default
|
|
155
|
-
- when `user` scope is chosen, selected skills are written only to the global skill registry
|
|
156
|
-
- when `project` scope is chosen, selected skills are recorded in `.ai-ops-manifest.json`
|
|
138
|
+
Deprecated old model 문맥에서만 유지되는 항목:
|
|
157
139
|
|
|
158
|
-
|
|
140
|
+
- `--project`는 project scope skill 설치용 old option입니다.
|
|
141
|
+
- `--global`, `--scope`는 skill scope를 직접 지정하던 old option입니다.
|
|
142
|
+
- `spec init`은 root `specs/`를 만들던 제거된 old command입니다.
|
|
143
|
+
- `.ai-ops-manifest.json`는 old project manifest입니다.
|
|
159
144
|
|
|
160
|
-
##
|
|
145
|
+
## 개발
|
|
161
146
|
|
|
162
|
-
|
|
147
|
+
저장소 루트 기준:
|
|
163
148
|
|
|
164
149
|
```bash
|
|
165
150
|
npm install
|
|
@@ -168,57 +153,18 @@ npm run compile
|
|
|
168
153
|
npm test
|
|
169
154
|
```
|
|
170
155
|
|
|
171
|
-
|
|
156
|
+
CLI workspace만 확인할 때:
|
|
172
157
|
|
|
173
158
|
```bash
|
|
174
159
|
npm run build --workspace=apps/cli
|
|
175
160
|
npm run test --workspace=apps/cli
|
|
176
161
|
```
|
|
177
162
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
Use the built-in `skill-load-check` task skill before publishing to npm.
|
|
181
|
-
|
|
182
|
-
Recommended local flow:
|
|
183
|
-
|
|
184
|
-
```bash
|
|
185
|
-
# 1. Build the CLI
|
|
186
|
-
npm run build
|
|
187
|
-
|
|
188
|
-
# 2. Use an isolated user home so you do not pollute your real ~/.agents or ~/.claude
|
|
189
|
-
export AI_OPS_HOME="$(mktemp -d)"
|
|
190
|
-
|
|
191
|
-
# 3. Install the sample skill globally
|
|
192
|
-
node apps/cli/dist/bin/index.js skill install skill-load-check --tool codex
|
|
193
|
-
|
|
194
|
-
# 4. Verify files exist
|
|
195
|
-
find "$AI_OPS_HOME/.agents/skills/skill-load-check" -maxdepth 2 -type f | sort
|
|
196
|
-
|
|
197
|
-
# 5. Run the sample script manually
|
|
198
|
-
node "$AI_OPS_HOME/.agents/skills/skill-load-check/scripts/loaded.js"
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
Expected output:
|
|
202
|
-
|
|
203
|
-
```text
|
|
204
|
-
A Skill loaded
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Project-scope verification:
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
node apps/cli/dist/bin/index.js skill install skill-load-check --project --tool codex
|
|
211
|
-
find ./.agents/skills/skill-load-check -maxdepth 2 -type f | sort
|
|
212
|
-
node ./.agents/skills/skill-load-check/scripts/loaded.js
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
After file placement is verified, use a real tool prompt that should trigger `skill-load-check` and confirm the tool discovers the skill metadata. If the tool caches skill discovery, restart that tool session before re-checking.
|
|
216
|
-
|
|
217
|
-
## Related Docs
|
|
163
|
+
코드와 운영 문서 변경은 `npm run check`를 기본 검증으로 사용합니다. CLI 배포 산출물 확인은 `npm run build`와 `npm run compile`을 함께 사용합니다.
|
|
218
164
|
|
|
219
|
-
-
|
|
220
|
-
- Implementation playbook: [`docs/implementation-playbook.md`](../../docs/implementation-playbook.md)
|
|
165
|
+
Self-dogfood 검증은 `npm run build` 후 이 repo에 `init --tool codex --tool gemini --tool claude-code`를 적용하고, `diff`, `audit`, `update --force`, `uninstall --yes`, 재-`init`, 재-`audit` 순서로 확인합니다. 이 repo에는 `spec-lifecycle` pack을 설치하지 않고 `pack list`에서 `not installed` 상태만 확인합니다.
|
|
221
166
|
|
|
222
|
-
##
|
|
167
|
+
## 관련 문서
|
|
223
168
|
|
|
224
|
-
|
|
169
|
+
- [Master blueprint](../../docs/plan.md)
|
|
170
|
+
- [Implementation playbook](../../docs/implementation-playbook.md)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_task
|
|
7
|
+
update_when:
|
|
8
|
+
- operating_layer_changes
|
|
9
|
+
---
|
|
10
|
+
# Agent Operating Layer
|
|
11
|
+
|
|
12
|
+
이 파일은 이 프로젝트의 canonical agent entrypoint다. 도구별 adapter가 있더라도 운영 판단은 이 파일과 `docs/agent/*` 문서를 기준으로 한다.
|
|
13
|
+
|
|
14
|
+
## 읽기 순서
|
|
15
|
+
|
|
16
|
+
1. `AGENTS.md`
|
|
17
|
+
2. `docs/agent/workflow.md`
|
|
18
|
+
3. `docs/agent/rules/*.md`
|
|
19
|
+
4. 작업 성격에 맞는 `docs/agent/checks/*.md`
|
|
20
|
+
5. `docs/docs-status.md`
|
|
21
|
+
|
|
22
|
+
## 문서 신뢰도
|
|
23
|
+
|
|
24
|
+
- `Active`: 현재 판단 근거로 사용할 수 있다.
|
|
25
|
+
- `Reserved`: 자리만 만든 문서다. 프로젝트가 보강하기 전까지 현재 판단 근거로 사용하지 않는다.
|
|
26
|
+
- `Draft`: 작성 중인 문서다. 사용 전 검토가 필요하다.
|
|
27
|
+
- `Archived`: 과거 기록이다. 현재 운영 판단에 사용하지 않는다.
|
|
28
|
+
|
|
29
|
+
문서 상태가 애매하면 `docs/docs-status.md`와 각 문서 frontmatter를 함께 확인한다.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_task
|
|
7
|
+
update_when:
|
|
8
|
+
- adapter_changes
|
|
9
|
+
---
|
|
10
|
+
# Claude Code Adapter
|
|
11
|
+
|
|
12
|
+
이 파일은 Claude Code가 프로젝트 운영 계층을 찾기 위한 adapter다.
|
|
13
|
+
|
|
14
|
+
작업 전 `AGENTS.md`를 canonical entrypoint로 읽고, 세부 운영 문서는 `docs/agent/*`와 `docs/docs-status.md`를 따른다. 이 파일에는 중복 운영 규칙을 추가하지 않는다.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_task
|
|
7
|
+
update_when:
|
|
8
|
+
- adapter_changes
|
|
9
|
+
---
|
|
10
|
+
# Gemini CLI Adapter
|
|
11
|
+
|
|
12
|
+
이 파일은 Gemini CLI가 프로젝트 운영 계층을 찾기 위한 adapter다.
|
|
13
|
+
|
|
14
|
+
작업 전 `AGENTS.md`를 canonical entrypoint로 읽고, 세부 운영 문서는 `docs/agent/*`와 `docs/docs-status.md`를 따른다. 이 파일에는 중복 운영 규칙을 추가하지 않는다.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_finish
|
|
7
|
+
update_when:
|
|
8
|
+
- checklist_changes
|
|
9
|
+
---
|
|
10
|
+
# Impact Checklist
|
|
11
|
+
|
|
12
|
+
- 공개 CLI 표면이 바뀌었는가?
|
|
13
|
+
- 상태 파일 schema나 경로가 바뀌었는가?
|
|
14
|
+
- 기존 사용자 파일 보존 정책에 영향이 있는가?
|
|
15
|
+
- update/diff/uninstall 동작이 서로 같은 추적 기준을 쓰는가?
|
|
16
|
+
- 실패 시 사용자가 복구할 수 있는 메시지를 받는가?
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- review
|
|
7
|
+
- before_finish
|
|
8
|
+
update_when:
|
|
9
|
+
- checklist_changes
|
|
10
|
+
---
|
|
11
|
+
# Review Checklist
|
|
12
|
+
|
|
13
|
+
- 계획 문서의 의도와 실제 diff가 어긋나는 지점이 있는가?
|
|
14
|
+
- 테스트가 잡지 못하는 런타임 회귀 위험이 있는가?
|
|
15
|
+
- create-only 파일과 managed section 파일의 보존 정책이 섞이지 않았는가?
|
|
16
|
+
- manifest, context-layer, 실제 파일 상태가 같은 기준으로 갱신되는가?
|
|
17
|
+
- 검증 명령이 변경 범위에 충분히 직접적인가?
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Reserved
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: project
|
|
5
|
+
read_when:
|
|
6
|
+
- codebase_navigation
|
|
7
|
+
update_when:
|
|
8
|
+
- architecture_changes
|
|
9
|
+
---
|
|
10
|
+
# Codebase Map
|
|
11
|
+
|
|
12
|
+
이 문서는 Reserved 상태입니다. 프로젝트가 실제 구조를 보강하기 전까지 현재 판단 근거로 사용하지 마세요.
|
|
13
|
+
|
|
14
|
+
## 주요 영역
|
|
15
|
+
|
|
16
|
+
- TBD
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- document_change
|
|
7
|
+
update_when:
|
|
8
|
+
- document_policy_changes
|
|
9
|
+
---
|
|
10
|
+
# Document Update Rules
|
|
11
|
+
|
|
12
|
+
## 갱신 기준
|
|
13
|
+
|
|
14
|
+
- 구현 동작이 바뀌면 해당 동작을 설명하는 `Active` 문서를 갱신한다.
|
|
15
|
+
- 문서 상태/frontmatter 관리는 모든 Markdown이 아니라 context-layer와 `docs/docs-status.md`에 등록된 operating-layer 문서를 기준으로 한다.
|
|
16
|
+
- `Reserved` 문서를 실제 판단 근거로 승격하려면 frontmatter와 `docs/docs-status.md`를 함께 갱신한다.
|
|
17
|
+
- 오래된 문서는 삭제보다 `Archived` 전환을 우선 검토한다.
|
|
18
|
+
|
|
19
|
+
## 금지
|
|
20
|
+
|
|
21
|
+
- project-owned create-only 문서를 자동 update로 덮어쓰지 않는다.
|
|
22
|
+
- 도구 adapter에 canonical 운영 규칙을 중복 작성하지 않는다.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_task
|
|
7
|
+
update_when:
|
|
8
|
+
- routing_changes
|
|
9
|
+
---
|
|
10
|
+
# Routing Rules
|
|
11
|
+
|
|
12
|
+
## 판단 순서
|
|
13
|
+
|
|
14
|
+
1. 요청이 코드 변경인지, 리뷰인지, 문서 정리인지 구분한다.
|
|
15
|
+
2. repo 내부의 계획 문서가 지정되면 실제 diff와 직접 비교한다.
|
|
16
|
+
3. 외부 사실이나 최신 정보가 필요한 경우 현재 출처를 확인한다.
|
|
17
|
+
4. 프로젝트 문서가 `Reserved`이면 현재 사실로 인용하지 않는다.
|
|
18
|
+
|
|
19
|
+
## 범위
|
|
20
|
+
|
|
21
|
+
- project scope: `AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/*`, `docs/business/*`, `docs/docs-status.md`, `.ai-ops/*`
|
|
22
|
+
- global scope: skills, subagents, tool-specific reusable assets
|