ai-ops-cli 0.2.4 → 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/reference-skills/frontend-app-flutter-runtime/references/reference.md +4 -0
- package/data/skills/reference-skills/frontend-web-react-next-runtime/references/reference.md +6 -0
- package/data/skills/reference-skills/graphql-client-integration/references/reference.md +3 -0
- 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
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 10_product-spec.md Template
|
|
2
|
+
|
|
3
|
+
```md
|
|
4
|
+
# 10 Product Spec
|
|
5
|
+
|
|
6
|
+
## 핵심 사용자 플로우
|
|
7
|
+
1. 플로우 1
|
|
8
|
+
2. 플로우 2
|
|
9
|
+
|
|
10
|
+
## 기능
|
|
11
|
+
- 기능 1
|
|
12
|
+
- 기능 2
|
|
13
|
+
|
|
14
|
+
## 엔티티
|
|
15
|
+
- 엔티티명
|
|
16
|
+
- 목적
|
|
17
|
+
- 핵심 필드
|
|
18
|
+
|
|
19
|
+
## 비즈니스 규칙
|
|
20
|
+
- 규칙 1
|
|
21
|
+
- 규칙 2
|
|
22
|
+
|
|
23
|
+
## 엣지 케이스
|
|
24
|
+
- empty state
|
|
25
|
+
- loading state
|
|
26
|
+
- error state
|
|
27
|
+
|
|
28
|
+
## 성공 기준
|
|
29
|
+
- 기준 1
|
|
30
|
+
- 기준 2
|
|
31
|
+
|
|
32
|
+
## 기술 제약 반영 메모
|
|
33
|
+
- 어떤 제약이 제품 구조에 영향을 주는지
|
|
34
|
+
|
|
35
|
+
## 보안 고려사항
|
|
36
|
+
- auth / 권한 / 민감정보 / 업로드 / 외부 호출 / tenant 경계 관련 메모
|
|
37
|
+
- 없으면 `특이사항 없음`
|
|
38
|
+
|
|
39
|
+
## 미해결 결정사항
|
|
40
|
+
- 결정사항 1
|
|
41
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-product-04-product-spec-to-ui-spec
|
|
3
|
+
description: Generate initial Korean 20_ui-spec.md, optional English 21_stitch-prompt.md, and initial visual guidance from approved product specs, screenshots, or Stitch/reference drafts for first product implementation only.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# spec-product-04-product-spec-to-ui-spec
|
|
8
|
+
|
|
9
|
+
Use this skill when `./docs/specs/baseline/10_product-spec.md` is approved and the product needs initial UI direction before first implementation.
|
|
10
|
+
|
|
11
|
+
Default outputs:
|
|
12
|
+
|
|
13
|
+
- `./docs/specs/baseline/20_ui-spec.md`
|
|
14
|
+
- optional `./docs/specs/baseline/21_stitch-prompt.md`
|
|
15
|
+
- optional `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
|
|
16
|
+
- optional `./docs/specs/baseline/24_design-tokens.md`
|
|
17
|
+
|
|
18
|
+
Do not use this skill as the default path for MVP-afterward UI changes. Ongoing UI work belongs in `.codex/plans/*.md` with screenshots, reference apps, and detailed requested adjustments.
|
|
19
|
+
|
|
20
|
+
## Language Rules
|
|
21
|
+
|
|
22
|
+
- `20_ui-spec.md`, `DESIGN.md`, and `24_design-tokens.md` must be written in Korean.
|
|
23
|
+
- `21_stitch-prompt.md`, when created, must be written in English.
|
|
24
|
+
- Keep code-facing names, API field names, library/service names, protocol names, file paths, and standard technical terms in their natural English form when clearer.
|
|
25
|
+
- Do not force awkward phonetic transliterations.
|
|
26
|
+
|
|
27
|
+
## Required Inputs
|
|
28
|
+
|
|
29
|
+
1. `./docs/specs/baseline/05_technical-context.md`
|
|
30
|
+
2. `./docs/specs/baseline/10_product-spec.md`
|
|
31
|
+
3. optional user-provided screenshots, reference apps, mood notes, or visual constraints
|
|
32
|
+
4. optional Stitch output under `./docs/specs/baseline/22_stitch-assets/`
|
|
33
|
+
|
|
34
|
+
## Objective
|
|
35
|
+
|
|
36
|
+
Define initial UI structure and states clearly enough for first implementation, while treating visual references as concept/draft input rather than product truth.
|
|
37
|
+
|
|
38
|
+
The skill should:
|
|
39
|
+
|
|
40
|
+
- enumerate screens from approved user flows
|
|
41
|
+
- define screen purpose, primary actions, states, and navigation boundaries
|
|
42
|
+
- preserve target platform constraints
|
|
43
|
+
- normalize initial visual direction against approved product scope
|
|
44
|
+
- reject or defer visual ideas that imply unapproved product behavior
|
|
45
|
+
- create a Stitch prompt only when external visual generation will reduce ambiguity
|
|
46
|
+
|
|
47
|
+
## Workflow
|
|
48
|
+
|
|
49
|
+
1. Read approved product and technical context.
|
|
50
|
+
2. Identify UI surfaces that are required for the first build.
|
|
51
|
+
3. Draft `20_ui-spec.md` around screens, states, interactions, and design constraints.
|
|
52
|
+
4. If the user wants Stitch concepting, write `21_stitch-prompt.md` in English.
|
|
53
|
+
5. If screenshots or Stitch output already establish reusable visual rules, write or update baseline `DESIGN.md` and optional tokens.
|
|
54
|
+
6. Record security-relevant UI surfaces under `보안 고려사항`.
|
|
55
|
+
|
|
56
|
+
## Visual Reference Rules
|
|
57
|
+
|
|
58
|
+
- Stitch, screenshots, and reference apps are inspiration and structure references, not product truth.
|
|
59
|
+
- Approved product spec and technical context outrank visual references.
|
|
60
|
+
- If a reference introduces unsupported features, labels, business rules, biometric/medical claims, social mechanics, monetization, or platform assumptions, reject or mark them out of scope.
|
|
61
|
+
- For Flutter or native apps, translate visual ideas into native primitives and theme/tokens. Do not treat HTML/CSS as the shipping stack.
|
|
62
|
+
- Keep initial guidance practical enough for `spec-product-05` to create implementation packets.
|
|
63
|
+
|
|
64
|
+
## Security Lens
|
|
65
|
+
|
|
66
|
+
Keep this pass UI-focused and short.
|
|
67
|
+
|
|
68
|
+
- Check whether the UI introduces auth-sensitive actions, destructive actions, file upload/download, rendered user content, or admin-only surfaces.
|
|
69
|
+
- Record the result under `보안 고려사항`.
|
|
70
|
+
- If any trigger appears or the trust boundary is unclear, recommend `spec-security-01-triage` in `mode=spec`.
|
|
71
|
+
|
|
72
|
+
Use these references while drafting:
|
|
73
|
+
|
|
74
|
+
- [references/ui-spec-template.md](references/ui-spec-template.md)
|
|
75
|
+
- [references/stitch-prompt-template.md](references/stitch-prompt-template.md)
|
|
76
|
+
|
|
77
|
+
## Required UI Spec Sections
|
|
78
|
+
|
|
79
|
+
- `화면 목록`
|
|
80
|
+
- `화면 목적`
|
|
81
|
+
- `상태 정의`
|
|
82
|
+
- `주요 인터랙션`
|
|
83
|
+
- `디자인 제약`
|
|
84
|
+
- `초기 시각 참고 / 구현 번역 규칙`
|
|
85
|
+
- `보안 고려사항`
|
|
86
|
+
|
|
87
|
+
## Mermaid Rule
|
|
88
|
+
|
|
89
|
+
Include Mermaid only when navigation or state coverage is dense.
|
|
90
|
+
|
|
91
|
+
- Use flowchart for screen-to-screen navigation.
|
|
92
|
+
- Use stateDiagram for per-screen states when more than 4 states or transitions matter.
|
|
93
|
+
- Skip Mermaid if prose is enough.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "spec-product-04-product-spec-to-ui-spec"
|
|
3
|
+
short_description: "Create initial UI spec, optional Stitch prompt, and first-build visual guidance."
|
|
4
|
+
default_prompt: "Use $spec-product-04-product-spec-to-ui-spec to create an initial Korean 20_ui-spec.md, optional English 21_stitch-prompt.md, and practical first-build visual guidance from approved product specs and reference inputs."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: false
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 21_stitch-prompt.md Template
|
|
2
|
+
|
|
3
|
+
```md
|
|
4
|
+
# Stitch Prompt
|
|
5
|
+
|
|
6
|
+
## Product Context
|
|
7
|
+
- Summarize the product in 3-5 lines.
|
|
8
|
+
|
|
9
|
+
## Technical Context
|
|
10
|
+
- Mention the intended platform and implementation constraints relevant to UI generation.
|
|
11
|
+
- Say the generated result is an initial visual reference, not product truth or the shipped technology stack.
|
|
12
|
+
|
|
13
|
+
## Core User Flows
|
|
14
|
+
1. Flow 1
|
|
15
|
+
2. Flow 2
|
|
16
|
+
|
|
17
|
+
## Screens To Generate
|
|
18
|
+
- Screen 1
|
|
19
|
+
- Screen 2
|
|
20
|
+
|
|
21
|
+
## Required States
|
|
22
|
+
- empty
|
|
23
|
+
- loading
|
|
24
|
+
- error
|
|
25
|
+
- success
|
|
26
|
+
|
|
27
|
+
## Key Interactions
|
|
28
|
+
- Interaction 1
|
|
29
|
+
- Interaction 2
|
|
30
|
+
|
|
31
|
+
## Design Direction
|
|
32
|
+
- Visual tone
|
|
33
|
+
- Layout constraints
|
|
34
|
+
- Platform assumptions
|
|
35
|
+
- Current design-system constraints, if any
|
|
36
|
+
|
|
37
|
+
## Scope Guardrails
|
|
38
|
+
- Do not invent unapproved features, pricing, social mechanics, medical claims, or backend behavior.
|
|
39
|
+
- Do not imply that HTML/CSS is the implementation stack.
|
|
40
|
+
- Treat output as concept art/reference for first implementation.
|
|
41
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 20_ui-spec.md Template
|
|
2
|
+
|
|
3
|
+
```md
|
|
4
|
+
# 20 UI Spec
|
|
5
|
+
|
|
6
|
+
## 화면 목록
|
|
7
|
+
- 화면명
|
|
8
|
+
|
|
9
|
+
## 화면 목적
|
|
10
|
+
- 화면별 목적과 주요 사용자 행동
|
|
11
|
+
|
|
12
|
+
## 상태 정의
|
|
13
|
+
- empty
|
|
14
|
+
- loading
|
|
15
|
+
- error
|
|
16
|
+
- success
|
|
17
|
+
|
|
18
|
+
## 주요 인터랙션
|
|
19
|
+
- 인터랙션 1
|
|
20
|
+
- 인터랙션 2
|
|
21
|
+
|
|
22
|
+
## 디자인 제약
|
|
23
|
+
- 접근성
|
|
24
|
+
- 반응형
|
|
25
|
+
- 시각 톤
|
|
26
|
+
- 플랫폼 제약
|
|
27
|
+
|
|
28
|
+
## 초기 시각 참고 / 구현 번역 규칙
|
|
29
|
+
- 참고 screenshot, reference app, Stitch 결과는 initial concept reference다.
|
|
30
|
+
- 승인된 product spec과 technical context가 더 우선한다.
|
|
31
|
+
- 구현 대상은 승인된 target platform이며, Flutter 프로젝트라면 Flutter widget tree와 theme/token으로 번역한다.
|
|
32
|
+
- HTML/CSS를 그대로 이식하지 않는다.
|
|
33
|
+
- 레이아웃 계층, CTA 우선순위, 정보 그룹, 상태 표현, 주요 인터랙션 중 제품에 승인된 부분만 유지한다.
|
|
34
|
+
- 범위 밖 아이디어는 `범위 제외` 또는 후속 plan 후보로 분리한다.
|
|
35
|
+
|
|
36
|
+
## 보안 고려사항
|
|
37
|
+
- auth-sensitive action, destructive action, upload/download, rendered content 관련 메모
|
|
38
|
+
- 없으면 `특이사항 없음`
|
|
39
|
+
```
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-product-05-spec-to-work-packets
|
|
3
|
+
description: Convert approved baseline product specs into initial-build Korean work packets under docs/specs/initial-build, with explicit scope, tests, dependencies, and repo-reality bootstrap/foundation packets when needed.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# spec-product-05-spec-to-work-packets
|
|
8
|
+
|
|
9
|
+
Use this skill only when the next artifact is the first implementation packet set for a product baseline.
|
|
10
|
+
|
|
11
|
+
## Output Location
|
|
12
|
+
|
|
13
|
+
- Write into the current workspace.
|
|
14
|
+
- Create or continue one initial-build batch such as `./docs/specs/initial-build/2026-03-21_initial-build/`.
|
|
15
|
+
- If no active initial-build batch exists yet, create `./docs/specs/initial-build/YYYY-MM-DD_initial-build/`.
|
|
16
|
+
- Default output path: `./docs/specs/initial-build/<initial-build-topic>/30_work-packets/*.md`
|
|
17
|
+
- Optional summary artifact: `./docs/specs/initial-build/<initial-build-topic>/30_work-packets/00_packet-map.md`
|
|
18
|
+
|
|
19
|
+
Do not use this skill as the default path for MVP 이후 changes. Ongoing changes belong in `.codex/plans/*.md`.
|
|
20
|
+
|
|
21
|
+
## Required Inputs
|
|
22
|
+
|
|
23
|
+
Read all relevant available inputs before writing packets:
|
|
24
|
+
|
|
25
|
+
1. `./docs/specs/baseline/05_technical-context.md`
|
|
26
|
+
2. `./docs/specs/baseline/10_product-spec.md`
|
|
27
|
+
3. `./docs/specs/baseline/20_ui-spec.md` when the product includes approved UI surfaces
|
|
28
|
+
4. optional initial visual references under `./docs/specs/baseline/22_stitch-assets/`
|
|
29
|
+
5. optional `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
|
|
30
|
+
6. optional `./docs/specs/baseline/24_design-tokens.md`
|
|
31
|
+
7. current repository manifests, config files, and top-level app/package directories relevant to the approved stack
|
|
32
|
+
|
|
33
|
+
Use what exists. Explicitly note missing but relevant inputs.
|
|
34
|
+
|
|
35
|
+
If the product has no user-facing UI by design, proceed from `05_technical-context.md` and `10_product-spec.md` without inventing UI docs or visual inputs.
|
|
36
|
+
|
|
37
|
+
If the product has UI but no visual references exist, proceed from `20_ui-spec.md`; visual references are helpful but never a blocker.
|
|
38
|
+
|
|
39
|
+
## Language Rules
|
|
40
|
+
|
|
41
|
+
- Write every work packet in Korean.
|
|
42
|
+
- Keep code identifiers, API field names, library/service names, protocol names, file paths, and standard technical terms in their natural English form when clearer.
|
|
43
|
+
- Do not force awkward phonetic transliterations.
|
|
44
|
+
|
|
45
|
+
## Objective
|
|
46
|
+
|
|
47
|
+
Produce initial-build packets that are independently understandable, independently implementable, and small enough for human review and safe AI execution.
|
|
48
|
+
|
|
49
|
+
For initial-build work, packet generation must stay grounded in the current repository reality, not an imagined clean scaffold.
|
|
50
|
+
|
|
51
|
+
The packet set should be `parallel-ready`:
|
|
52
|
+
|
|
53
|
+
- packets are small enough to hand to one worker at a time
|
|
54
|
+
- dependencies are explicit enough that plan mode can order or parallelize them
|
|
55
|
+
- hidden coupling is minimized before execution begins
|
|
56
|
+
|
|
57
|
+
## Required Sections
|
|
58
|
+
|
|
59
|
+
Every packet must include:
|
|
60
|
+
|
|
61
|
+
- `목표`
|
|
62
|
+
- `범위`
|
|
63
|
+
- `입력물`
|
|
64
|
+
- `산출물`
|
|
65
|
+
- `대상 파일 / 모듈`
|
|
66
|
+
- `승인 기준`
|
|
67
|
+
- `보안 검토`
|
|
68
|
+
- `테스트`
|
|
69
|
+
- `의존성`
|
|
70
|
+
- `범위 제외`
|
|
71
|
+
|
|
72
|
+
For UI-touching packets:
|
|
73
|
+
|
|
74
|
+
- `입력물` should include `20_ui-spec.md` and any relevant visual guidance that exists
|
|
75
|
+
- `승인 기준` must state which UI structure, hierarchy, states, and interactions must survive in the approved target platform
|
|
76
|
+
- any intentional deviation from initial visual references must be named explicitly
|
|
77
|
+
|
|
78
|
+
## Security Overlay
|
|
79
|
+
|
|
80
|
+
Every packet must include `보안 검토`.
|
|
81
|
+
|
|
82
|
+
- `보안 검토` must state `판정: 필요 | 불필요 | 확인 필요`.
|
|
83
|
+
- It must briefly list trigger surfaces and say whether implementation-stage security review is required.
|
|
84
|
+
- If the packet touches auth, permission, sensitive data, tenant boundaries, external fetch, uploads, raw queries, rendered content, or destructive actions, do not mark it `불필요` unless the packet is clearly documentation-only.
|
|
85
|
+
- If risk is unclear, use `확인 필요` and recommend `spec-security-01-triage` in `mode=spec`.
|
|
86
|
+
|
|
87
|
+
## Dependency Rules
|
|
88
|
+
|
|
89
|
+
Every packet must make dependency state explicit.
|
|
90
|
+
|
|
91
|
+
- If there is no dependency, write `없음`.
|
|
92
|
+
- If another packet must finish first, name the packet ID explicitly.
|
|
93
|
+
- If the packet is blocked by a contract, schema, design decision, or external approval, name that dependency explicitly.
|
|
94
|
+
- If the packet is likely parallel-safe with other packets, note that inside `의존성`.
|
|
95
|
+
- Never leave dependencies implied or blank.
|
|
96
|
+
|
|
97
|
+
Use a compact structure such as:
|
|
98
|
+
|
|
99
|
+
- `선행 패킷: 없음`
|
|
100
|
+
- `선행 패킷: 001_api-shell`
|
|
101
|
+
- `외부 결정 / 선행 계약: Supabase auth schema 확정`
|
|
102
|
+
- `병렬 가능 후보: 003_home-shell, 004_session-card`
|
|
103
|
+
|
|
104
|
+
## Repository Reality Check
|
|
105
|
+
|
|
106
|
+
Before drafting packets, inspect the current repository for concrete evidence of the approved stack.
|
|
107
|
+
|
|
108
|
+
- Check stack signals such as `package.json`, lockfiles, workspace manifests, `next.config.*`, `components.json`, `tailwind.config.*`, `pubspec.yaml`, `lib/`, `android/`, `ios/`, `nest-cli.json`, `src/main.ts`, `prisma/schema.prisma`, GraphQL schema/config files, and existing app/package directories.
|
|
109
|
+
- Use product surfaces declared in `05_technical-context.md` to decide which signals matter.
|
|
110
|
+
- Classify each approved surface as `present`, `partial`, or `absent`.
|
|
111
|
+
- If any approved surface is `partial` or `absent`, create explicit bootstrap/foundation packets before feature packets for that surface.
|
|
112
|
+
|
|
113
|
+
## Bootstrap / Foundation Rules
|
|
114
|
+
|
|
115
|
+
Bootstrap work is first-class packet work.
|
|
116
|
+
|
|
117
|
+
- Prefer clear packet names such as `000_repo-bootstrap`, `001_web-foundation`, `002_backend-foundation`, or `003_db-foundation`.
|
|
118
|
+
- Cover the minimum setup required to make later feature packets realistic:
|
|
119
|
+
- package manager / workspace initialization when missing
|
|
120
|
+
- framework scaffold or base module wiring
|
|
121
|
+
- required approved dependencies installation
|
|
122
|
+
- baseline config files and directory structure
|
|
123
|
+
- environment/example config wiring needed for local execution
|
|
124
|
+
- smoke-level verification such as install success, boot success, or schema generation success
|
|
125
|
+
- Downstream feature packets must list relevant foundation packet IDs in `선행 패킷`.
|
|
126
|
+
- Do not scatter the same installation or scaffold work across multiple feature packets.
|
|
127
|
+
|
|
128
|
+
Use these references while drafting:
|
|
129
|
+
|
|
130
|
+
- [references/work-packet-template.md](references/work-packet-template.md)
|
|
131
|
+
- [references/stitch-html-review.md](references/stitch-html-review.md) only when initial Stitch HTML exists and materially helps UI packet boundaries
|
|
132
|
+
|
|
133
|
+
## Glossary Rule
|
|
134
|
+
|
|
135
|
+
- Check `./docs/specs/baseline/01_glossary.md` only if packet wording could drift from established entity, state, or UI terminology.
|
|
136
|
+
- Do not run `spec-shared-glossary-sync` by default after packet generation. Run it only if packeting surfaced meaningful new terms or clear terminology collisions.
|
|
137
|
+
|
|
138
|
+
## Mermaid Rule
|
|
139
|
+
|
|
140
|
+
Include Mermaid only when dependency structure is hard to scan in prose.
|
|
141
|
+
|
|
142
|
+
- If packet count is 4 or more, or dependency order across backend/mobile/domain seams is hard to scan, prefer adding `00_packet-map.md`.
|
|
143
|
+
- Use graph TD for packet dependency DAGs.
|
|
144
|
+
- Skip Mermaid if packets are already linear and obvious.
|
|
145
|
+
|
|
146
|
+
If `00_packet-map.md` is created, packet files' `## 의존성` sections remain the canonical dependency source.
|
|
147
|
+
|
|
148
|
+
## Quality Bar
|
|
149
|
+
|
|
150
|
+
The packet set is not ready if:
|
|
151
|
+
|
|
152
|
+
- it assumes a framework scaffold that is absent from the repo
|
|
153
|
+
- dependencies are implied rather than explicit
|
|
154
|
+
- bootstrap work is hidden inside feature packets
|
|
155
|
+
- security trigger surfaces are not marked
|
|
156
|
+
- UI packets ignore approved UI spec or current visual guidance
|
|
157
|
+
- packets are too broad for one worker to implement safely
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "spec-product-05-spec-to-work-packets"
|
|
3
|
+
short_description: "Split baseline specs into initial-build packets with repo-reality foundation work."
|
|
4
|
+
default_prompt: "Use $spec-product-05-spec-to-work-packets to convert the approved baseline spec set into initial-build Korean work packets under docs/specs/initial-build, checking the current repository against the approved stack and creating explicit foundation packets when required surfaces are missing."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: false
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Stitch HTML Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist before writing initial-build UI packets from Stitch output.
|
|
4
|
+
|
|
5
|
+
## Extract
|
|
6
|
+
|
|
7
|
+
- top-level screens represented by each HTML file
|
|
8
|
+
- repeated layout regions such as header, shell, side panel, footer
|
|
9
|
+
- major interactive blocks such as forms, tables, tabs, charts, filters
|
|
10
|
+
- visible state variants such as disabled, active, empty, loading-like placeholders, error copy
|
|
11
|
+
|
|
12
|
+
## Do Not Assume
|
|
13
|
+
|
|
14
|
+
- generated class names are production-ready structure
|
|
15
|
+
- every visual grouping should become a component
|
|
16
|
+
- missing states mean those states do not exist
|
|
17
|
+
- HTML output means the shipped product should be implemented as web markup
|
|
18
|
+
|
|
19
|
+
## Use For Packeting
|
|
20
|
+
|
|
21
|
+
- identify natural UI seams
|
|
22
|
+
- identify likely component boundaries
|
|
23
|
+
- identify stateful regions needing separate implementation work
|
|
24
|
+
- cross-check whether the generated visuals introduce behavior not present in the approved spec
|
|
25
|
+
- identify which approved layout hierarchy, CTA priority, copy grouping, and state presentation should survive target-platform translation
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Work Packet Template
|
|
2
|
+
|
|
3
|
+
```md
|
|
4
|
+
# 001 패킷 제목
|
|
5
|
+
|
|
6
|
+
## 목표
|
|
7
|
+
|
|
8
|
+
- 이번 패킷이 끝나면 무엇이 가능해져야 하는가
|
|
9
|
+
- foundation 패킷이면 이후 기능 패킷이 실제 repo 위에서 시작 가능해야 한다.
|
|
10
|
+
|
|
11
|
+
## 범위
|
|
12
|
+
|
|
13
|
+
- 포함되는 변경 범위
|
|
14
|
+
- 설치, scaffold, config, env wiring만 다루는 foundation 패킷인지 여부를 명확히 적는다.
|
|
15
|
+
|
|
16
|
+
## 입력물
|
|
17
|
+
|
|
18
|
+
- `./docs/specs/baseline/05_technical-context.md`
|
|
19
|
+
- `./docs/specs/baseline/10_product-spec.md`
|
|
20
|
+
- 필요 시 `./docs/specs/baseline/20_ui-spec.md`
|
|
21
|
+
- 필요 시 `./docs/specs/baseline/22_stitch-assets/...`
|
|
22
|
+
- 필요 시 `./docs/specs/baseline/22_stitch-assets/DESIGN.md`
|
|
23
|
+
- 필요 시 `./docs/specs/baseline/24_design-tokens.md`
|
|
24
|
+
- 현재 repo의 관련 manifest / config / app 디렉터리 상태 (`package.json`, `pubspec.yaml`, `next.config.*`, `nest-cli.json`, `prisma/schema.prisma` 등)
|
|
25
|
+
|
|
26
|
+
## 산출물
|
|
27
|
+
|
|
28
|
+
- 기대 결과물
|
|
29
|
+
- foundation 패킷이면 생성되거나 정리될 scaffold, config, dependency install 결과를 적는다.
|
|
30
|
+
|
|
31
|
+
## 대상 파일 / 모듈
|
|
32
|
+
|
|
33
|
+
- 수정 또는 생성 대상
|
|
34
|
+
- 필요 시 `package.json`, lockfile, `pubspec.yaml`, `next.config.*`, `tailwind.config.*`, `components.json`, `nest-cli.json`, `src/main.ts`, `prisma/schema.prisma`, `apps/*`, `packages/*`, `lib/*` 같은 기반 파일을 명시한다.
|
|
35
|
+
|
|
36
|
+
## 승인 기준
|
|
37
|
+
|
|
38
|
+
- 기준 1
|
|
39
|
+
- 기준 2
|
|
40
|
+
- foundation 패킷이면 이후 패킷이 가정하는 framework scaffold와 dependency wiring이 repo에 실제로 존재해야 한다.
|
|
41
|
+
- foundation 패킷이면 최소 한 가지 smoke 검증 기준을 넣는다. 예: install 성공, dev boot 성공, schema generation 성공.
|
|
42
|
+
- UI 패킷이면 `20_ui-spec.md`와 initial visual guidance에서 승인된 화면 구조, CTA 우선순위, 상태 표현, 주요 인터랙션을 target platform에 맞게 보존해야 한다.
|
|
43
|
+
- 헤드리스 / 백엔드 패킷이면 화면 문서를 새로 만들지 않고 계약, 데이터 흐름, 운영 동작 기준으로 검증 가능해야 한다.
|
|
44
|
+
|
|
45
|
+
## 보안 검토
|
|
46
|
+
|
|
47
|
+
- 판정: 필요 / 불필요 / 확인 필요
|
|
48
|
+
- 트리거: auth / 권한 / 민감정보 / 업로드 / 외부 호출 / raw query / 렌더링 / tenant 경계 / 삭제 동작 중 해당 사항
|
|
49
|
+
- 구현 후 리뷰 조건: 필요 없으면 `없음`
|
|
50
|
+
|
|
51
|
+
## 테스트
|
|
52
|
+
|
|
53
|
+
- 테스트 1
|
|
54
|
+
- 테스트 2
|
|
55
|
+
- foundation 패킷이면 smoke test, install verification, scaffold verification, generated file presence 중 최소 하나를 넣는다.
|
|
56
|
+
|
|
57
|
+
## 의존성
|
|
58
|
+
|
|
59
|
+
- 선행 패킷: 없음 / `000_repo-bootstrap` / `001_xxx`
|
|
60
|
+
- 외부 결정 / 선행 계약: 없으면 `없음`
|
|
61
|
+
- 병렬 가능 후보: 없으면 `없음`
|
|
62
|
+
|
|
63
|
+
## 범위 제외
|
|
64
|
+
|
|
65
|
+
- 이번 패킷에서 다루지 않을 것
|
|
66
|
+
- foundation 패킷이면 실제 기능 구현, 세부 UI 완성, 비즈니스 로직은 범위 제외로 분리한다.
|
|
67
|
+
```
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spec-shared-glossary-sync
|
|
3
|
+
description: Create or update a Korean 01_glossary.md inside the current project's docs/specs/baseline directory by standardizing domain terms, entities, states, UI labels, and English code-facing names across baseline docs and active .codex/plans.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# spec-shared-glossary-sync
|
|
8
|
+
|
|
9
|
+
Use this skill when the project needs a shared glossary or when existing docs/specs/plans have begun to drift in terminology.
|
|
10
|
+
|
|
11
|
+
Typical high-value run points are:
|
|
12
|
+
|
|
13
|
+
- after `brief`
|
|
14
|
+
- after `product spec`
|
|
15
|
+
- after `ui spec`
|
|
16
|
+
- during `spec-baseline-sync` if implemented terminology changed
|
|
17
|
+
- whenever naming drift is noticed
|
|
18
|
+
|
|
19
|
+
Usually skip automatic reruns after small plans unless new shared terminology was introduced.
|
|
20
|
+
|
|
21
|
+
## Output Location
|
|
22
|
+
|
|
23
|
+
- Write into the current workspace.
|
|
24
|
+
- Default output path: `./docs/specs/baseline/01_glossary.md`
|
|
25
|
+
|
|
26
|
+
## Language Rules
|
|
27
|
+
|
|
28
|
+
- Write the glossary in Korean.
|
|
29
|
+
- 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
|
+
- Do not invent awkward Koreanized spellings for standard English technical terms.
|
|
31
|
+
- If a term needs explanation, keep the standard term and add a short Korean definition.
|
|
32
|
+
|
|
33
|
+
## Objective
|
|
34
|
+
|
|
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
|
+
|
|
37
|
+
The default output style is:
|
|
38
|
+
|
|
39
|
+
- tables first for fast scanning
|
|
40
|
+
- detailed subsections only for genuinely complex concepts
|
|
41
|
+
- diagrams only when relationships or state vocabularies are hard to understand in prose
|
|
42
|
+
|
|
43
|
+
## Create Or Update Rules
|
|
44
|
+
|
|
45
|
+
- If `./docs/specs/baseline/01_glossary.md` does not exist, create it from currently approved specs and relevant active plans.
|
|
46
|
+
- If it exists, update it instead of replacing it blindly.
|
|
47
|
+
- 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 `정의 충돌 / 검토 필요`.
|
|
49
|
+
- Normalize synonyms toward one preferred term.
|
|
50
|
+
- Prefer Korean for user-facing/domain wording, but keep standard English when clearer, more stable, or already established in the project.
|
|
51
|
+
|
|
52
|
+
## Recommended Inputs
|
|
53
|
+
|
|
54
|
+
Read relevant files that exist:
|
|
55
|
+
|
|
56
|
+
- `./docs/specs/baseline/00_brief.md`
|
|
57
|
+
- `./docs/specs/baseline/05_technical-context.md`
|
|
58
|
+
- `./docs/specs/baseline/10_product-spec.md`
|
|
59
|
+
- `./docs/specs/baseline/20_ui-spec.md`
|
|
60
|
+
- active `./.codex/plans/*.md` when terminology from a current change needs to become canonical
|
|
61
|
+
- `./docs/specs/initial-build/<topic>/30_work-packets/*.md` when reviewing initial build terminology
|
|
62
|
+
- existing `./docs/specs/baseline/01_glossary.md`
|
|
63
|
+
|
|
64
|
+
Use only files that are present and relevant.
|
|
65
|
+
|
|
66
|
+
## Workflow
|
|
67
|
+
|
|
68
|
+
1. Identify repeated nouns, states, and labels across available docs.
|
|
69
|
+
2. Separate true domain concepts from incidental wording.
|
|
70
|
+
3. Choose one canonical project term per concept.
|
|
71
|
+
4. Attach English code-facing counterpart when needed.
|
|
72
|
+
5. Capture harmless synonyms only when useful.
|
|
73
|
+
6. List discouraged or banned wording when ambiguity is likely.
|
|
74
|
+
7. Write most glossary content as tables.
|
|
75
|
+
8. Move only hard cases into detailed sections.
|
|
76
|
+
9. Update the glossary without deleting still-valid prior decisions.
|
|
77
|
+
|
|
78
|
+
Use these references while drafting:
|
|
79
|
+
|
|
80
|
+
- [references/template.md](references/template.md)
|
|
81
|
+
- [references/checklist.md](references/checklist.md)
|
|
82
|
+
|
|
83
|
+
## Required Sections
|
|
84
|
+
|
|
85
|
+
- `핵심 용어`
|
|
86
|
+
- `엔티티 용어`
|
|
87
|
+
- `상태 용어`
|
|
88
|
+
- `UI 용어`
|
|
89
|
+
- `금지하거나 피할 표현`
|
|
90
|
+
- `복잡한 개념 상세 설명`
|
|
91
|
+
- `정의 충돌 / 검토 필요`
|
|
92
|
+
|
|
93
|
+
## Quality Bar
|
|
94
|
+
|
|
95
|
+
The glossary is not ready if:
|
|
96
|
+
|
|
97
|
+
- simple vocabulary that should be in tables is expanded into unnecessary prose
|
|
98
|
+
- the same concept still appears under multiple primary names
|
|
99
|
+
- terms are listed without definitions
|
|
100
|
+
- code-facing English names and canonical project terms conflict without explanation
|
|
101
|
+
- banned or confusing wording is omitted despite clear ambiguity
|
|
102
|
+
- existing approved terminology is overwritten without explanation
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "spec-shared-glossary-sync"
|
|
3
|
+
short_description: "Standardize Korean spec terms into a shared baseline glossary."
|
|
4
|
+
default_prompt: "Use $spec-shared-glossary-sync to create or update a Korean 01_glossary.md that standardizes terms across baseline docs and active .codex/plans."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: false
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Glossary Sync Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist before finalizing `01_glossary.md`.
|
|
4
|
+
|
|
5
|
+
## Look For
|
|
6
|
+
|
|
7
|
+
- one concept described with multiple Korean names
|
|
8
|
+
- one Korean term mapped to multiple English code names
|
|
9
|
+
- UI copy that conflicts with domain terms
|
|
10
|
+
- product docs and change docs using different names for the same thing
|
|
11
|
+
- states that appear in packets but were never defined centrally
|
|
12
|
+
|
|
13
|
+
## Prefer
|
|
14
|
+
|
|
15
|
+
- a table-first structure for most vocabulary
|
|
16
|
+
- one canonical project term per concept
|
|
17
|
+
- prefer Korean for user-facing/domain nouns, but keep standard English when that is clearer or already the stable norm
|
|
18
|
+
- one code-facing English name per canonical concept when possible
|
|
19
|
+
- short definitions that explain scope, not implementation
|
|
20
|
+
- explicit “do not use” wording for risky ambiguities
|
|
21
|
+
- detailed prose only for genuinely complex concepts
|
|
22
|
+
|
|
23
|
+
## 대표 예시
|
|
24
|
+
|
|
25
|
+
- 플랜 / 루틴 / 프로그램
|
|
26
|
+
- 운동 세션 / 운동 기록 / workout
|
|
27
|
+
- 세트 템플릿 / 세트 기록
|
|
28
|
+
- 저장 / 완료 / 확정
|
|
29
|
+
- 초안 / 진행 중 / 임시 저장
|
|
30
|
+
|
|
31
|
+
## Update Rule
|
|
32
|
+
|
|
33
|
+
- merge new terms into the existing glossary
|
|
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 glossary into long prose
|