ai-ops-cli 1.3.0 → 1.4.0
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 +13 -2
- package/README.md +13 -2
- package/data/context-layer/AGENTS.md +4 -3
- package/data/context-layer/docs/agent/rules/00-agent-baseline.md +2 -1
- package/data/context-layer/docs/agent/terminology.md +39 -0
- package/data/context-layer/docs/business/terminology.md +61 -0
- package/data/packs/spec-lifecycle/docs/specs/README.ko.md +1 -0
- package/data/packs/spec-lifecycle/docs/specs/README.md +1 -0
- package/data/skills/skill-registry.json +2 -2
- package/data/skills/task-skills/context-promotion-review/SKILL.md +26 -16
- package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/SKILL.md +25 -16
- package/data/skills/task-skills/project-terminology-sync/agents/openai.yaml +6 -0
- package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/references/checklist.md +5 -5
- package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/references/template.md +19 -18
- package/data/skills/task-skills/spec-baseline-sync/SKILL.md +4 -4
- package/data/skills/task-skills/spec-product-01-idea-to-brief/SKILL.md +3 -3
- package/data/skills/task-skills/spec-product-02-brief-to-technical-context/SKILL.md +3 -3
- package/data/skills/task-skills/spec-product-03-brief-to-product-spec/SKILL.md +3 -3
- package/data/skills/task-skills/spec-product-05-spec-to-work-packets/SKILL.md +3 -3
- package/dist/bin/index.js +1210 -316
- package/dist/bin/index.js.map +1 -1
- package/package.json +1 -1
- package/data/skills/task-skills/spec-shared-glossary-sync/agents/openai.yaml +0 -6
package/README.ko.md
CHANGED
|
@@ -44,11 +44,13 @@ GEMINI.md
|
|
|
44
44
|
CLAUDE.md
|
|
45
45
|
docs/agent/rules/00-agent-baseline.md
|
|
46
46
|
docs/agent/workflow.md
|
|
47
|
+
docs/agent/terminology.md
|
|
47
48
|
docs/agent/rules/routing-rules.md
|
|
48
49
|
docs/agent/rules/doc-update-rules.md
|
|
49
50
|
docs/agent/rules/stop-rules.md
|
|
50
51
|
docs/agent/checks/impact-checklist.md
|
|
51
52
|
docs/agent/maps/codebase-map.md
|
|
53
|
+
docs/business/terminology.md
|
|
52
54
|
docs/business/business-rules.md
|
|
53
55
|
docs/docs-status.md
|
|
54
56
|
.ai-ops/manifest.json
|
|
@@ -76,7 +78,7 @@ receipts/config/*
|
|
|
76
78
|
|
|
77
79
|
### 사용자가 직접 수정해야 하는 파일은 무엇인가요?
|
|
78
80
|
|
|
79
|
-
프로젝트 지식은 project-owned 문서에 적습니다. 기본 project-owned 문서는 `docs/agent/maps/codebase-map.md`, `docs/business/business-rules.md`, `docs/docs-status.md`입니다. `docs/agent/maps/codebase-map.md
|
|
81
|
+
프로젝트 지식은 project-owned 문서에 적습니다. 기본 project-owned 문서는 `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, `docs/business/business-rules.md`, `docs/docs-status.md`입니다. `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, `docs/business/business-rules.md`는 처음에는 Reserved 템플릿이지만, 프로젝트가 실제 내용을 채운 뒤에는 update가 자동으로 덮어쓰지 않습니다.
|
|
80
82
|
|
|
81
83
|
`docs/docs-status.md`는 project-owned 문서이지만 자유 메모장이 아니라 context-layer registry입니다. 문서 status/frontmatter를 바꿀 때 함께 맞추는 파일이며, update 과정에서 manifest와 실제 문서 frontmatter 기준으로 테이블이 정리될 수 있습니다.
|
|
82
84
|
|
|
@@ -100,6 +102,7 @@ Commands:
|
|
|
100
102
|
skill Manage skill components
|
|
101
103
|
subagent Manage subagent components
|
|
102
104
|
pack Manage optional project operating layer packs
|
|
105
|
+
studio Generate read-only Studio snapshot contracts
|
|
103
106
|
integration Manage user/global runtime integrations
|
|
104
107
|
context-promotion Manage context promotion review receipts
|
|
105
108
|
codex-hook Manage Codex hook components
|
|
@@ -107,6 +110,14 @@ Commands:
|
|
|
107
110
|
|
|
108
111
|
`--tool`은 유지합니다. Codex, Claude Code, Gemini CLI가 서로 다른 discovery 위치와 adapter 파일을 사용하기 때문입니다.
|
|
109
112
|
|
|
113
|
+
Studio read-only snapshot 명령:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
ai-ops studio snapshot --json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
이 명령은 ai-ops Studio가 소비할 JSON contract를 출력합니다. Desktop app을 실행하거나 project/runtime 파일을 수정하지 않고 project context layer, audit 상태, user/global runtime 상태만 읽습니다.
|
|
120
|
+
|
|
110
121
|
Integration lifecycle 명령:
|
|
111
122
|
|
|
112
123
|
```bash
|
|
@@ -176,7 +187,7 @@ ai-ops pack update spec-lifecycle
|
|
|
176
187
|
ai-ops pack uninstall spec-lifecycle
|
|
177
188
|
```
|
|
178
189
|
|
|
179
|
-
`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로만 기록됩니다.
|
|
190
|
+
`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로만 기록됩니다. 프로젝트 용어는 계속 `docs/business/terminology.md`에서 중앙 관리합니다.
|
|
180
191
|
|
|
181
192
|
## Deprecated Old Model
|
|
182
193
|
|
package/README.md
CHANGED
|
@@ -44,11 +44,13 @@ GEMINI.md
|
|
|
44
44
|
CLAUDE.md
|
|
45
45
|
docs/agent/rules/00-agent-baseline.md
|
|
46
46
|
docs/agent/workflow.md
|
|
47
|
+
docs/agent/terminology.md
|
|
47
48
|
docs/agent/rules/routing-rules.md
|
|
48
49
|
docs/agent/rules/doc-update-rules.md
|
|
49
50
|
docs/agent/rules/stop-rules.md
|
|
50
51
|
docs/agent/checks/impact-checklist.md
|
|
51
52
|
docs/agent/maps/codebase-map.md
|
|
53
|
+
docs/business/terminology.md
|
|
52
54
|
docs/business/business-rules.md
|
|
53
55
|
docs/docs-status.md
|
|
54
56
|
.ai-ops/manifest.json
|
|
@@ -76,7 +78,7 @@ receipts/config/*
|
|
|
76
78
|
|
|
77
79
|
### Which files should users edit directly?
|
|
78
80
|
|
|
79
|
-
Project knowledge belongs in project-owned documents. The default project-owned documents are `docs/agent/maps/codebase-map.md`, `docs/business/business-rules.md`, and `docs/docs-status.md`. `docs/agent/maps/codebase-map.md` and `docs/business/business-rules.md` start as Reserved templates, but once the project fills them with real content, update does not automatically overwrite them.
|
|
81
|
+
Project knowledge belongs in project-owned documents. The default project-owned documents are `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, `docs/business/business-rules.md`, and `docs/docs-status.md`. `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, and `docs/business/business-rules.md` start as Reserved templates, but once the project fills them with real content, update does not automatically overwrite them.
|
|
80
82
|
|
|
81
83
|
`docs/docs-status.md` is project-owned, but it is not a free-form notebook. It is the context-layer registry. Update it together with document status/frontmatter changes; the update flow may also normalize its table from the manifest and current document frontmatter.
|
|
82
84
|
|
|
@@ -100,6 +102,7 @@ Commands:
|
|
|
100
102
|
skill Manage skill components
|
|
101
103
|
subagent Manage subagent components
|
|
102
104
|
pack Manage optional project operating layer packs
|
|
105
|
+
studio Generate read-only Studio snapshot contracts
|
|
103
106
|
integration Manage user/global runtime integrations
|
|
104
107
|
context-promotion Manage context promotion review receipts
|
|
105
108
|
codex-hook Manage Codex hook components
|
|
@@ -107,6 +110,14 @@ Commands:
|
|
|
107
110
|
|
|
108
111
|
`--tool` remains because Codex, Claude Code, and Gemini CLI use different discovery locations and adapter files.
|
|
109
112
|
|
|
113
|
+
Studio read-only snapshot command:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
ai-ops studio snapshot --json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
This emits the JSON contract consumed by ai-ops Studio. It reads the project context layer, audit state, and user/global runtime status without launching the desktop app or mutating project/runtime files.
|
|
120
|
+
|
|
110
121
|
Integration lifecycle commands:
|
|
111
122
|
|
|
112
123
|
```bash
|
|
@@ -176,7 +187,7 @@ ai-ops pack update spec-lifecycle
|
|
|
176
187
|
ai-ops pack uninstall spec-lifecycle
|
|
177
188
|
```
|
|
178
189
|
|
|
179
|
-
The `spec-lifecycle` pack installs `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, and `docs/specs/initial-build/.gitkeep`. Only Markdown documents are audited by the context-layer and `docs/docs-status.md`; `.gitkeep` files are tracked only as regular pack files in the manifest.
|
|
190
|
+
The `spec-lifecycle` pack installs `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, and `docs/specs/initial-build/.gitkeep`. Only Markdown documents are audited by the context-layer and `docs/docs-status.md`; `.gitkeep` files are tracked only as regular pack files in the manifest. Project terminology remains centralized in `docs/business/terminology.md`.
|
|
180
191
|
|
|
181
192
|
## Deprecated Old Model
|
|
182
193
|
|
|
@@ -16,9 +16,10 @@ update_when:
|
|
|
16
16
|
1. `AGENTS.md`
|
|
17
17
|
2. `docs/agent/rules/00-agent-baseline.md`
|
|
18
18
|
3. `docs/agent/workflow.md`
|
|
19
|
-
4.
|
|
20
|
-
5.
|
|
21
|
-
6. `docs/
|
|
19
|
+
4. `docs/agent/terminology.md`
|
|
20
|
+
5. 나머지 `docs/agent/rules/*.md`
|
|
21
|
+
6. 변경 영향 확인이 필요하면 `docs/agent/checks/impact-checklist.md`
|
|
22
|
+
7. `docs/docs-status.md`
|
|
22
23
|
|
|
23
24
|
## 문서 신뢰도
|
|
24
25
|
|
|
@@ -7,6 +7,7 @@ read_when:
|
|
|
7
7
|
update_when:
|
|
8
8
|
- baseline_rule_changes
|
|
9
9
|
---
|
|
10
|
+
|
|
10
11
|
# Agent Baseline Rules
|
|
11
12
|
|
|
12
13
|
이 문서는 모든 작업 전에 먼저 적용할 기본 협업 규칙이다. 세부 routing, workflow, stop rule보다 앞서 읽고, 프로젝트별 Active 문서가 더 구체적인 판단 근거를 제공하면 그 문서를 우선한다.
|
|
@@ -44,4 +45,4 @@ update_when:
|
|
|
44
45
|
- flow, sequence, state, structure를 설명할 때 긴 bullet list보다 Mermaid diagram을 우선 검토한다.
|
|
45
46
|
- UX/control flow와 decision tree는 `flowchart`, request/response와 service interaction은 `sequenceDiagram`, entity/schema relationship은 `erDiagram`, lifecycle/state transition은 `stateDiagram-v2`를 사용한다.
|
|
46
47
|
- Mermaid diagram은 fenced `mermaid` code block으로 작성한다.
|
|
47
|
-
- plan 문서를 저장할 때는 `
|
|
48
|
+
- plan 문서를 저장할 때는 `YYYYMMDDHH_<topic>.md` 형식을 사용하고, topic은 kebab-case로 작성한다.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_task
|
|
7
|
+
- terminology_check
|
|
8
|
+
update_when:
|
|
9
|
+
- operating_layer_changes
|
|
10
|
+
- terminology_changes
|
|
11
|
+
---
|
|
12
|
+
# Agent Terminology
|
|
13
|
+
|
|
14
|
+
이 문서는 project operating layer를 해석하는 데 필요한 최소 용어만 정의한다. `ai-ops-cli`의 release, 내부 구현, phase history, integration catalog 구현 세부사항은 사용자 프로젝트의 기본 운영 문서에 포함하지 않는다.
|
|
15
|
+
|
|
16
|
+
## 핵심 용어
|
|
17
|
+
|
|
18
|
+
| 용어 | 정의 |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| agent operating layer | 프로젝트 안에서 에이전트가 읽고 따르는 운영 문서와 상태 파일의 묶음이다. |
|
|
21
|
+
| context layer | operating layer 문서의 경로, 상태, 읽기 조건, 갱신 조건, content hash를 추적하는 문맥 index다. |
|
|
22
|
+
| `docs/docs-status.md` | operating layer 문서의 status와 owner를 사람이 확인할 수 있게 기록하는 project-owned registry다. |
|
|
23
|
+
| `.ai-ops/context-layer.json` | 에이전트와 CLI가 문서 계층을 빠르게 탐색하고 audit할 수 있게 생성하는 index 파일이다. |
|
|
24
|
+
| `Active` | 현재 판단 근거로 사용할 수 있는 문서 상태다. |
|
|
25
|
+
| `Reserved` | 자리만 만든 문서 상태다. 프로젝트가 실제 내용을 보강하기 전까지 판단 근거로 사용하지 않는다. |
|
|
26
|
+
| `Draft` | 작성 중인 문서 상태다. 현재 판단 근거로 쓰기 전에 검토가 필요하다. |
|
|
27
|
+
| `Archived` | 과거 기록 상태다. 현재 운영 판단에 사용하지 않는다. |
|
|
28
|
+
| ai-ops managed | CLI 템플릿이 관리하는 문서 또는 문서 영역이다. update 시 현재 CLI 템플릿으로 다시 적용될 수 있다. |
|
|
29
|
+
| project-owned | 프로젝트가 직접 채우고 유지하는 문서다. CLI update는 사용자 내용을 보존해야 한다. |
|
|
30
|
+
| optional pack | 필요한 프로젝트에만 설치하는 추가 문서 묶음이다. 기본 operating layer와 별도의 lifecycle을 가진다. |
|
|
31
|
+
| `read_when` | 에이전트가 이 문서를 읽어야 하는 상황을 나타내는 frontmatter 필드다. |
|
|
32
|
+
| `update_when` | 문서를 갱신해야 하는 변경 상황을 나타내는 frontmatter 필드다. |
|
|
33
|
+
|
|
34
|
+
## 범위 밖
|
|
35
|
+
|
|
36
|
+
- `ai-ops-cli` release model
|
|
37
|
+
- `ai-ops-cli` 내부 phase history
|
|
38
|
+
- CLI 구현 파일이나 schema의 내부 구조
|
|
39
|
+
- integration catalog의 구현 세부사항
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Reserved
|
|
3
|
+
layer: business
|
|
4
|
+
owner: project
|
|
5
|
+
read_when:
|
|
6
|
+
- terminology_check
|
|
7
|
+
- business_rule_check
|
|
8
|
+
- spec_lifecycle
|
|
9
|
+
update_when:
|
|
10
|
+
- terminology_changes
|
|
11
|
+
- business_rule_changes
|
|
12
|
+
- spec_lifecycle_changes
|
|
13
|
+
---
|
|
14
|
+
# Terminology
|
|
15
|
+
|
|
16
|
+
이 문서는 Reserved 상태입니다. 프로젝트가 실제 용어를 보강하기 전까지 현재 판단 근거로 사용하지 마세요.
|
|
17
|
+
|
|
18
|
+
프로젝트의 비즈니스, spec, UI, work packet, plan 용어는 이 문서를 source of truth로 사용합니다. `docs/specs/`가 설치되어 있어도 별도 용어 문서를 두지 않고 이 문서를 읽고 갱신합니다.
|
|
19
|
+
|
|
20
|
+
## 용어 표기 원칙
|
|
21
|
+
|
|
22
|
+
- 사용자-facing 또는 domain 용어는 한국어를 우선합니다.
|
|
23
|
+
- code-facing name, API field, library/service name, protocol, file path, 표준 technical term은 영어 원형이 더 명확하면 그대로 씁니다.
|
|
24
|
+
- 같은 개념은 하나의 canonical term으로 통일합니다.
|
|
25
|
+
- 불확실한 용어는 확정하지 말고 `검토 중인 용어`에 기록합니다.
|
|
26
|
+
|
|
27
|
+
## 핵심 용어
|
|
28
|
+
|
|
29
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
30
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
31
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
32
|
+
|
|
33
|
+
## 엔티티 용어
|
|
34
|
+
|
|
35
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
36
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
37
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
38
|
+
|
|
39
|
+
## 상태 용어
|
|
40
|
+
|
|
41
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
42
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
43
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
44
|
+
|
|
45
|
+
## UI 용어
|
|
46
|
+
|
|
47
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
48
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
49
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
50
|
+
|
|
51
|
+
## 금지하거나 피할 표현
|
|
52
|
+
|
|
53
|
+
| 표현 | 이유 | 대신 사용할 표현 |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| TBD | TBD | TBD |
|
|
56
|
+
|
|
57
|
+
## 검토 중인 용어
|
|
58
|
+
|
|
59
|
+
| 항목 | 후보 표현 | 충돌 / 불확실성 | 판단 메모 | 관련 문서 |
|
|
60
|
+
| --- | --- | --- | --- | --- |
|
|
61
|
+
| TBD | TBD | TBD | TBD | TBD |
|
|
@@ -25,4 +25,5 @@ docs/specs/
|
|
|
25
25
|
|
|
26
26
|
- `baseline/`은 승인된 제품/기술/UI 기준 문서를 둡니다.
|
|
27
27
|
- `initial-build/`는 초기 구현 work packet과 관련 산출물을 둡니다.
|
|
28
|
+
- 프로젝트 용어는 `docs/business/terminology.md`를 기준으로 관리합니다. 이 optional spec pack은 별도 용어 source of truth를 만들지 않습니다.
|
|
28
29
|
- 실제 판단 근거로 쓰기 전에 각 문서의 frontmatter와 `docs/docs-status.md` 상태를 갱신합니다.
|
|
@@ -25,4 +25,5 @@ docs/specs/
|
|
|
25
25
|
|
|
26
26
|
- `baseline/` contains approved product, technical, and UI baseline documents.
|
|
27
27
|
- `initial-build/` contains initial implementation work packets and related artifacts.
|
|
28
|
+
- Project terminology is tracked in `docs/business/terminology.md`; this optional spec pack does not create a separate terminology source of truth.
|
|
28
29
|
- Before using any document as decision-making evidence, update its frontmatter and its status in `docs/docs-status.md`.
|
|
@@ -169,11 +169,11 @@
|
|
|
169
169
|
"source_path": "task-skills/spec-product-05-spec-to-work-packets"
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
|
-
"id": "
|
|
172
|
+
"id": "project-terminology-sync",
|
|
173
173
|
"kind": "task",
|
|
174
174
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
175
175
|
"groups": ["spec-lifecycle"],
|
|
176
|
-
"source_path": "task-skills/
|
|
176
|
+
"source_path": "task-skills/project-terminology-sync"
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
"id": "typescript-language",
|
|
@@ -5,56 +5,66 @@ description: 방금 완료된 작업 커밋에서 core, project-local, global로
|
|
|
5
5
|
|
|
6
6
|
# context-promotion-review
|
|
7
7
|
|
|
8
|
-
이 skill은 사용자가 명시적으로 호출했거나 `ai-ops` Codex PostToolUse hook이 작업 커밋 직후 후속 검토를 요청했을 때만 사용한다. CLI가 AI 판단을 하지 않으므로, 승격 후보 판정은 현재 Codex
|
|
8
|
+
이 skill은 사용자가 명시적으로 호출했거나 `ai-ops` Codex PostToolUse hook이 작업 커밋 직후 후속 검토를 요청했을 때만 사용한다. CLI가 AI 판단을 하지 않으므로, 승격 후보 판정은 현재 Codex 대화/리뷰 루프에서 반복되거나 사용자가 교정한 운영 판단과 방금 만든 `HEAD` 커밋을 바탕으로 이 skill에서 수행한다.
|
|
9
9
|
|
|
10
10
|
hook이 전달한 Project root가 이 검토의 유일한 프로젝트 기준이다. 먼저 해당 Project root로 shell 기준을 맞추고, 다른 repo, parent directory, 이전 대화의 workspace, 웹 검색, 외부 문서를 사용하지 않는다. `AGENTS.md`, `docs/agent/*`, `docs/docs-status.md`, `.ai-ops/context-layer.json` 같은 context layer 파일이 없으면 없다고 보고하며 다른 repo 파일로 대체하지 않는다.
|
|
11
11
|
|
|
12
12
|
## 목적
|
|
13
13
|
|
|
14
|
-
방금 완료된 작업
|
|
14
|
+
방금 완료된 작업 커밋과 현재 대화/리뷰 루프에서 반복 가능한 운영 지식, 명령 루틴, 판단 기준이 생겼는지 확인하고, 사용자에게 승격 여부를 묻는다.
|
|
15
15
|
|
|
16
16
|
검토 결과는 다음 다섯 가지로만 정리한다.
|
|
17
17
|
|
|
18
18
|
- `core`: 모든 ai-ops 설치 프로젝트에 적용되어야 하는 제품 계약, CLI/Studio/schema/hook 동작
|
|
19
19
|
- `project-local`: 현재 프로젝트에서만 반복 적용되는 agent rule, workflow, QA, business/spec 운영 기준
|
|
20
20
|
- `global`: 여러 프로젝트에서 재사용할 skill, subagent, Codex hook 같은 runtime asset
|
|
21
|
-
- `already-covered`:
|
|
21
|
+
- `already-covered`: 기존 Active context layer에 같은 agent 행동 규칙이 있어 새 승격이 필요 없는 내용
|
|
22
22
|
- `no-promotion`: 일회성 구현 세부사항, 임시 디버깅, 승격 가치가 없는 내용
|
|
23
23
|
|
|
24
24
|
## 절차
|
|
25
25
|
|
|
26
26
|
1. hook 또는 사용자 요청에 표시된 Project root로 이동한다. Project root 밖 파일은 읽지 않는다.
|
|
27
27
|
2. `ai-ops context-promotion status`를 실행해 현재 `HEAD`, fingerprint, receipt 상태를 확인한다.
|
|
28
|
-
3.
|
|
28
|
+
3. 현재 post-commit worktree 상태를 확인한다.
|
|
29
|
+
- `git status --short`
|
|
30
|
+
- `git diff --name-only`
|
|
31
|
+
- `git diff --cached --name-only`
|
|
32
|
+
- `git ls-files --others --exclude-standard`
|
|
33
|
+
4. 방금 완료된 작업 커밋을 확인한다.
|
|
29
34
|
- `git show --stat HEAD`
|
|
30
35
|
- `git show --name-only HEAD`
|
|
31
36
|
- 필요 시 `git show HEAD`
|
|
32
|
-
|
|
37
|
+
5. 기존 context layer를 cross-check한다.
|
|
33
38
|
- `AGENTS.md`
|
|
34
39
|
- `docs/docs-status.md`
|
|
35
40
|
- `.ai-ops/context-layer.json`
|
|
36
41
|
- `docs/agent/rules/*`
|
|
37
42
|
- `docs/agent/checks/impact-checklist.md`
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
6. 현재 대화/리뷰 루프에서 반복되거나 사용자가 교정한 운영 판단을 확인한다.
|
|
44
|
+
- 사용자 교정, 반복 리뷰 지적, 새로 안정화한 명령 루틴을 후보로 본다.
|
|
45
|
+
- dirty worktree, untracked 파일, changeset pollution, staging scope 같은 커밋 hygiene 이슈가 반복되거나 교정되면 `project-local` 후보로 검토한다.
|
|
46
|
+
7. context layer 파일이 없으면 absent로 기록하고, 다른 repo에서 대체 근거를 찾지 않는다.
|
|
47
|
+
8. 이미 있는 규칙이면 `already-covered`로 보고하고 새 승격 후보로 만들지 않는다.
|
|
48
|
+
9. 새 후보가 있으면 `core`, `project-local`, `global` 중 하나 이상으로 분류하고, 추천 위치를 제안한다.
|
|
49
|
+
10. 최종 승격 후보가 없더라도 `near-miss / discarded candidates`를 먼저 짧게 보고한 뒤 `no-promotion` 결정을 제안한다.
|
|
50
|
+
11. 사용자 승인 전에는 파일을 수정하지 않는다.
|
|
51
|
+
12. 승인된 범위만 수정한다.
|
|
52
|
+
13. 마지막에 반드시 `ai-ops context-promotion resolve ...`를 실행한다.
|
|
53
|
+
14. 다시 `ai-ops context-promotion status`를 실행해 현재 `HEAD` receipt 확인을 한다.
|
|
54
|
+
15. 승격 파일을 수정했더라도 직접 commit하지 않고 사용자 검사 대기 상태로 멈춘다.
|
|
47
55
|
|
|
48
56
|
## 보고 형식
|
|
49
57
|
|
|
50
58
|
사용자에게 먼저 다음 형식으로 짧게 보고한다.
|
|
51
59
|
|
|
52
60
|
- `new candidates`: 새로 승격할 후보와 추천 scope/위치
|
|
53
|
-
- `already-covered`: 기존 context layer에 이미 있는 규칙과 근거 파일
|
|
61
|
+
- `already-covered`: 기존 Active context layer에 이미 있는 같은 agent 행동 규칙과 근거 파일
|
|
62
|
+
- `near-miss / discarded candidates`: 검토했지만 최종 승격 후보로 올리지 않은 항목과 이유
|
|
54
63
|
- `no-promotion`: 승격하지 않을 항목과 이유
|
|
55
64
|
- `ask`: 사용자가 선택해야 할 결정
|
|
56
65
|
|
|
57
66
|
보고에는 각 후보의 근거를 함께 둔다. 근거는 현재 대화에서 반복된 판단, 사용자가 교정한 문장, 실행한 명령 루틴, 방금 완료된 `HEAD` 커밋 중 하나 이상이어야 한다.
|
|
67
|
+
plan, test, README, runbook, operator docs는 후보 근거가 될 수 있지만, Active context layer에 같은 agent 행동 규칙이 없으면 자동으로 `already-covered`가 되지 않는다.
|
|
58
68
|
|
|
59
69
|
## Resolve 규칙
|
|
60
70
|
|
|
@@ -83,6 +93,6 @@ ai-ops context-promotion resolve --decision no-promotion --summary "이번 작
|
|
|
83
93
|
- 웹 검색 금지: 이 검토는 외부 문서나 웹 검색을 사용하지 않는다.
|
|
84
94
|
- 다른 repo 탐색 금지: parent directory, sibling repo, 이전 대화 workspace를 cross-check 근거로 사용하지 않는다.
|
|
85
95
|
- receipt 확인 필수: 완료 전에 `ai-ops context-promotion status`에서 현재 `HEAD` receipt가 `found`인지 확인한다.
|
|
86
|
-
- 기존 규칙 중복 금지: 이미
|
|
96
|
+
- 기존 규칙 중복 금지: Active context layer에 이미 같은 agent 행동 규칙이 있으면 새 문서나 중복 문장으로 승격하지 않는다.
|
|
87
97
|
- `Reserved` 승격 금지: 명시 승인 없이 `Reserved` 문서를 현재 판단 근거로 바꾸지 않는다.
|
|
88
98
|
- 직접 commit 금지: 승격 수정 후에도 commit하지 않고 사용자 검사 대기 상태로 멈춘다.
|
package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/SKILL.md
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Create or update
|
|
2
|
+
name: project-terminology-sync
|
|
3
|
+
description: Create or update the current project's docs/business/terminology.md by standardizing project-wide domain terms, entities, states, UI labels, and English code-facing names across business docs, specs, active .codex/plans, and work packets.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
#
|
|
7
|
+
# project-terminology-sync
|
|
8
8
|
|
|
9
|
-
Use this skill when the project needs
|
|
9
|
+
Use this skill when the project needs canonical terminology or when existing business docs, specs, plans, or packets have begun to drift in terminology.
|
|
10
10
|
|
|
11
11
|
Typical high-value run points are:
|
|
12
12
|
|
|
@@ -14,6 +14,7 @@ Typical high-value run points are:
|
|
|
14
14
|
- after `product spec`
|
|
15
15
|
- after `ui spec`
|
|
16
16
|
- during `spec-baseline-sync` if implemented terminology changed
|
|
17
|
+
- after business rule changes introduce new domain language
|
|
17
18
|
- whenever naming drift is noticed
|
|
18
19
|
|
|
19
20
|
Usually skip automatic reruns after small plans unless new shared terminology was introduced.
|
|
@@ -21,18 +22,18 @@ Usually skip automatic reruns after small plans unless new shared terminology wa
|
|
|
21
22
|
## Output Location
|
|
22
23
|
|
|
23
24
|
- Write into the current workspace.
|
|
24
|
-
- Default output path: `./docs/
|
|
25
|
+
- Default output path: `./docs/business/terminology.md`
|
|
25
26
|
|
|
26
27
|
## Language Rules
|
|
27
28
|
|
|
28
|
-
- Write
|
|
29
|
+
- Write terminology content in Korean.
|
|
29
30
|
- Keep code-facing English identifiers, API field names, library/service names, protocol names, file paths, and standard technical terms in their natural English form when clearer.
|
|
30
31
|
- Do not invent awkward Koreanized spellings for standard English technical terms.
|
|
31
32
|
- If a term needs explanation, keep the standard term and add a short Korean definition.
|
|
32
33
|
|
|
33
34
|
## Objective
|
|
34
35
|
|
|
35
|
-
Maintain one canonical vocabulary so briefs, specs, UI docs, plans, packets, and baseline sync entries use the same terms for the same concepts.
|
|
36
|
+
Maintain one canonical project vocabulary so business docs, briefs, specs, UI docs, plans, packets, and baseline sync entries use the same terms for the same concepts.
|
|
36
37
|
|
|
37
38
|
The default output style is:
|
|
38
39
|
|
|
@@ -42,10 +43,14 @@ The default output style is:
|
|
|
42
43
|
|
|
43
44
|
## Create Or Update Rules
|
|
44
45
|
|
|
45
|
-
- If `./docs/
|
|
46
|
+
- If `./docs/business/terminology.md` does not exist, create it with operating-layer frontmatter from `references/template.md`.
|
|
46
47
|
- If it exists, update it instead of replacing it blindly.
|
|
48
|
+
- Preserve existing frontmatter unless the document is being promoted from `Reserved` to `Active`.
|
|
49
|
+
- When the document receives real terminology content, set frontmatter `status: Active`.
|
|
50
|
+
- If `docs/docs-status.md` exists, update the `docs/business/terminology.md` row to match the frontmatter status and owner.
|
|
51
|
+
- If `.ai-ops/context-layer.json` exists, update the `docs/business/terminology.md` entry so status, read/update conditions, and content hash match the file.
|
|
47
52
|
- Preserve stable canonical terms unless there is a strong reason to change them.
|
|
48
|
-
- If a newly found term conflicts with an existing definition, keep the current canonical term and record the conflict in
|
|
53
|
+
- If a newly found term conflicts with an existing definition, keep the current canonical term and record the conflict in `검토 중인 용어`.
|
|
49
54
|
- Normalize synonyms toward one preferred term.
|
|
50
55
|
- Prefer Korean for user-facing/domain wording, but keep standard English when clearer, more stable, or already established in the project.
|
|
51
56
|
|
|
@@ -53,13 +58,14 @@ The default output style is:
|
|
|
53
58
|
|
|
54
59
|
Read relevant files that exist:
|
|
55
60
|
|
|
61
|
+
- `./docs/business/terminology.md`
|
|
62
|
+
- `./docs/business/business-rules.md`
|
|
56
63
|
- `./docs/specs/baseline/00_brief.md`
|
|
57
64
|
- `./docs/specs/baseline/05_technical-context.md`
|
|
58
65
|
- `./docs/specs/baseline/10_product-spec.md`
|
|
59
66
|
- `./docs/specs/baseline/20_ui-spec.md`
|
|
60
67
|
- active `./.codex/plans/*.md` when terminology from a current change needs to become canonical
|
|
61
68
|
- `./docs/specs/initial-build/<topic>/30_work-packets/*.md` when reviewing initial build terminology
|
|
62
|
-
- existing `./docs/specs/baseline/01_glossary.md`
|
|
63
69
|
|
|
64
70
|
Use only files that are present and relevant.
|
|
65
71
|
|
|
@@ -71,9 +77,11 @@ Use only files that are present and relevant.
|
|
|
71
77
|
4. Attach English code-facing counterpart when needed.
|
|
72
78
|
5. Capture harmless synonyms only when useful.
|
|
73
79
|
6. List discouraged or banned wording when ambiguity is likely.
|
|
74
|
-
7.
|
|
75
|
-
8.
|
|
76
|
-
9.
|
|
80
|
+
7. Promote `docs/business/terminology.md` from `Reserved` to `Active` if real terminology is written.
|
|
81
|
+
8. Write most terminology content as tables.
|
|
82
|
+
9. Move only hard cases into detailed sections.
|
|
83
|
+
10. Update `docs/docs-status.md` and `.ai-ops/context-layer.json` when they exist.
|
|
84
|
+
11. Update terminology without deleting still-valid prior decisions.
|
|
77
85
|
|
|
78
86
|
Use these references while drafting:
|
|
79
87
|
|
|
@@ -87,13 +95,14 @@ Use these references while drafting:
|
|
|
87
95
|
- `상태 용어`
|
|
88
96
|
- `UI 용어`
|
|
89
97
|
- `금지하거나 피할 표현`
|
|
90
|
-
-
|
|
91
|
-
- `정의 충돌 / 검토 필요`
|
|
98
|
+
- `검토 중인 용어`
|
|
92
99
|
|
|
93
100
|
## Quality Bar
|
|
94
101
|
|
|
95
|
-
The
|
|
102
|
+
The terminology document is not ready if:
|
|
96
103
|
|
|
104
|
+
- frontmatter is missing or the document has real terminology but still says `status: Reserved`
|
|
105
|
+
- `docs/docs-status.md` or `.ai-ops/context-layer.json` disagree with the terminology document status when those files exist
|
|
97
106
|
- simple vocabulary that should be in tables is expanded into unnecessary prose
|
|
98
107
|
- the same concept still appears under multiple primary names
|
|
99
108
|
- terms are listed without definitions
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "project-terminology-sync"
|
|
3
|
+
short_description: "Standardize project terms into docs/business/terminology.md."
|
|
4
|
+
default_prompt: "Use $project-terminology-sync to create or update docs/business/terminology.md, standardizing project-wide terms across business docs, specs, active .codex/plans, and work packets."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Project Terminology Sync Checklist
|
|
2
2
|
|
|
3
|
-
Use this checklist before finalizing `
|
|
3
|
+
Use this checklist before finalizing `docs/business/terminology.md`.
|
|
4
4
|
|
|
5
5
|
## Look For
|
|
6
6
|
|
|
@@ -30,7 +30,7 @@ Use this checklist before finalizing `01_glossary.md`.
|
|
|
30
30
|
|
|
31
31
|
## Update Rule
|
|
32
32
|
|
|
33
|
-
- merge new terms into the existing
|
|
33
|
+
- merge new terms into the existing terminology document
|
|
34
34
|
- do not delete stable terms unless they are clearly wrong
|
|
35
|
-
- when uncertain, add the conflict to
|
|
36
|
-
- keep simple terms in tables; avoid turning the whole
|
|
35
|
+
- when uncertain, add the conflict to `검토 중인 용어`
|
|
36
|
+
- keep simple terms in tables; avoid turning the whole terminology document into long prose
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
#
|
|
1
|
+
# docs/business/terminology.md Template
|
|
2
2
|
|
|
3
3
|
```md
|
|
4
|
-
|
|
4
|
+
---
|
|
5
|
+
status: Active
|
|
6
|
+
layer: business
|
|
7
|
+
owner: project
|
|
8
|
+
read_when:
|
|
9
|
+
- terminology_check
|
|
10
|
+
- business_rule_check
|
|
11
|
+
- spec_lifecycle
|
|
12
|
+
update_when:
|
|
13
|
+
- terminology_changes
|
|
14
|
+
- business_rule_changes
|
|
15
|
+
- spec_lifecycle_changes
|
|
16
|
+
---
|
|
17
|
+
# Terminology
|
|
5
18
|
|
|
6
19
|
용어 표기 원칙:
|
|
7
20
|
|
|
@@ -38,21 +51,9 @@
|
|
|
38
51
|
|---|---|---|
|
|
39
52
|
| 표현 1 | 왜 피해야 하는지 | 표준 표현 |
|
|
40
53
|
|
|
41
|
-
##
|
|
54
|
+
## 검토 중인 용어
|
|
42
55
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- 어떤 문맥에서 다른 표현과 충돌하는지 설명
|
|
47
|
-
|
|
48
|
-
```mermaid
|
|
49
|
-
flowchart TD
|
|
50
|
-
A["개념 A"] --> B["개념 B"]
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## 정의 충돌 / 검토 필요
|
|
54
|
-
|
|
55
|
-
| 항목 | 현재 표준 | 충돌 표현 | 판단 메모 |
|
|
56
|
-
|---|---|---|---|
|
|
57
|
-
| 충돌 항목 | 현재 표준 표현 | 새로 발견된 표현 | 판단 메모 |
|
|
56
|
+
| 항목 | 후보 표현 | 충돌 / 불확실성 | 판단 메모 | 관련 문서 |
|
|
57
|
+
|---|---|---|---|---|
|
|
58
|
+
| 충돌 항목 | 새로 발견된 표현 | 현재 표준 표현과의 차이 | 판단 메모 | `10_product-spec.md` |
|
|
58
59
|
```
|
|
@@ -10,7 +10,7 @@ Use this skill after a post-MVP change has been implemented and verified, and th
|
|
|
10
10
|
|
|
11
11
|
## Output Location
|
|
12
12
|
|
|
13
|
-
- Update only affected files under `./docs/specs/baseline
|
|
13
|
+
- Update only affected files under `./docs/specs/baseline/` and `./docs/business/terminology.md` when project terminology changed.
|
|
14
14
|
- Move the completed plan from `./.codex/plans/<plan>.md` to `./.codex/plans/archived/YYYY-MM/<plan>.md`.
|
|
15
15
|
- Append a compact entry to `./.codex/CHANGE_LOG.md`.
|
|
16
16
|
|
|
@@ -31,7 +31,7 @@ Read the relevant available inputs before updating baseline:
|
|
|
31
31
|
2. implemented code changes, PR diff, commit diff, or implementation notes
|
|
32
32
|
3. verification results and known skipped tests
|
|
33
33
|
4. optional issue or PR link
|
|
34
|
-
5. existing `./docs/
|
|
34
|
+
5. existing `./docs/business/terminology.md`
|
|
35
35
|
6. existing `./docs/specs/baseline/05_technical-context.md`
|
|
36
36
|
7. existing `./docs/specs/baseline/10_product-spec.md`
|
|
37
37
|
8. existing `./docs/specs/baseline/20_ui-spec.md`
|
|
@@ -64,7 +64,7 @@ Baseline sync is implementation-confirming work.
|
|
|
64
64
|
|
|
65
65
|
1. Identify the plan being closed and the implementation evidence.
|
|
66
66
|
2. Compare shipped behavior against current baseline docs.
|
|
67
|
-
3. Decide
|
|
67
|
+
3. Decide whether project terminology or baseline docs among `05,10,20,22,24` are affected.
|
|
68
68
|
4. Update only affected baseline docs while preserving still-valid prior decisions.
|
|
69
69
|
5. Append one changelog entry summarizing what changed, why, evidence, baseline impact, and follow-up.
|
|
70
70
|
6. Move the plan into `.codex/plans/archived/YYYY-MM/`.
|
|
@@ -74,7 +74,7 @@ Use [references/template.md](references/template.md) for the changelog entry sha
|
|
|
74
74
|
|
|
75
75
|
## Baseline Update Rules
|
|
76
76
|
|
|
77
|
-
- `./docs/
|
|
77
|
+
- `./docs/business/terminology.md`: update only when the implementation introduced or normalized meaningful shared terms.
|
|
78
78
|
- `./docs/specs/baseline/05_technical-context.md`: update only when architecture, stack, boundaries, integrations, or deployment assumptions changed materially.
|
|
79
79
|
- `./docs/specs/baseline/10_product-spec.md`: update for implemented user-flow, feature, entity, rule, edge-case, or success-criteria changes.
|
|
80
80
|
- `./docs/specs/baseline/20_ui-spec.md`: update for implemented screens, states, interactions, or UI constraints.
|
|
@@ -20,10 +20,10 @@ Use this skill when the input is still rough and the next artifact should be `./
|
|
|
20
20
|
- Do not force awkward phonetic transliterations such as `소스 오브 트루스`, `타겟 플랫폼`, or `워크 패킷`.
|
|
21
21
|
- If an English technical term needs explanation, keep the English term and add a short Korean gloss on first mention, for example `source of truth(가장 신뢰하는 기준)`.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Terminology Rule
|
|
24
24
|
|
|
25
|
-
- Check `./docs/
|
|
26
|
-
- After writing the target document, `
|
|
25
|
+
- Check `./docs/business/terminology.md` if it exists and the brief introduces product terms, user-facing labels, or domain nouns that may collide with existing terminology.
|
|
26
|
+
- After writing the target document, `project-terminology-sync` is recommended because briefs often introduce new canonical terms.
|
|
27
27
|
|
|
28
28
|
## Objective
|
|
29
29
|
|
|
@@ -20,10 +20,10 @@ Use this skill after `./docs/specs/baseline/00_brief.md` is approved and before
|
|
|
20
20
|
- Do not force awkward phonetic transliterations such as `소스 오브 트루스`, `타겟 플랫폼`, or `워크 패킷`.
|
|
21
21
|
- If an English technical term needs explanation, keep the English term and add a short Korean gloss on first mention, for example `source of truth(가장 신뢰하는 기준)`.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Terminology Rule
|
|
24
24
|
|
|
25
|
-
- Check `./docs/
|
|
26
|
-
- After writing the target document, run `
|
|
25
|
+
- Check `./docs/business/terminology.md` if it exists and the document introduces stack names, architectural terms, or labels that should align with existing terminology.
|
|
26
|
+
- After writing the target document, run `project-terminology-sync` only if new technical terms, product-facing labels, or collisions were introduced.
|
|
27
27
|
|
|
28
28
|
## Default Stack Preferences
|
|
29
29
|
|