lee-spec-kit 0.6.7 → 0.6.9
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.en.md +88 -57
- package/README.md +94 -69
- package/dist/index.js +1255 -391
- package/package.json +1 -1
- package/templates/en/{single → common}/README.md +10 -10
- package/templates/en/common/agents/agents.md +77 -0
- package/templates/en/common/agents/issue-template.md +3 -3
- package/templates/en/common/agents/skills/create-feature.md +1 -0
- package/templates/en/common/agents/skills/create-pr.md +9 -9
- package/templates/en/common/agents/skills/execute-task.md +1 -0
- package/templates/en/{fullstack → common}/features/README.md +8 -16
- package/templates/en/{fullstack → common}/features/feature-base/decisions.md +3 -0
- package/templates/en/{fullstack → common}/features/feature-base/plan.md +1 -1
- package/templates/en/{fullstack → common}/features/feature-base/spec.md +1 -1
- package/templates/en/{fullstack → common}/features/feature-base/tasks.md +1 -1
- package/templates/en/common/ideas/README.md +1 -1
- package/templates/ko/{single → common}/README.md +9 -9
- package/templates/ko/common/agents/agents.md +78 -0
- package/templates/ko/common/agents/issue-template.md +3 -3
- package/templates/ko/common/agents/skills/create-feature.md +1 -0
- package/templates/ko/common/agents/skills/create-pr.md +9 -9
- package/templates/ko/common/agents/skills/execute-task.md +1 -0
- package/templates/ko/{fullstack → common}/features/README.md +7 -37
- package/templates/ko/{fullstack → common}/features/feature-base/decisions.md +3 -0
- package/templates/ko/{fullstack → common}/features/feature-base/plan.md +1 -1
- package/templates/ko/{fullstack → common}/features/feature-base/spec.md +1 -1
- package/templates/ko/{fullstack → common}/features/feature-base/tasks.md +1 -1
- package/templates/ko/common/ideas/README.md +1 -1
- package/templates/en/fullstack/README.md +0 -60
- package/templates/en/fullstack/agents/agents.md +0 -116
- package/templates/en/fullstack/features/be/README.md +0 -5
- package/templates/en/fullstack/features/fe/README.md +0 -5
- package/templates/en/fullstack/prd/README.md +0 -20
- package/templates/en/single/agents/agents.md +0 -103
- package/templates/en/single/features/README.md +0 -56
- package/templates/en/single/features/feature-base/decisions.md +0 -15
- package/templates/en/single/features/feature-base/plan.md +0 -48
- package/templates/en/single/features/feature-base/spec.md +0 -57
- package/templates/en/single/features/feature-base/tasks.md +0 -60
- package/templates/ko/fullstack/README.md +0 -60
- package/templates/ko/fullstack/agents/agents.md +0 -146
- package/templates/ko/fullstack/features/be/README.md +0 -5
- package/templates/ko/fullstack/features/fe/README.md +0 -5
- package/templates/ko/single/agents/agents.md +0 -116
- package/templates/ko/single/features/README.md +0 -56
- package/templates/ko/single/features/feature-base/decisions.md +0 -15
- package/templates/ko/single/features/feature-base/plan.md +0 -48
- package/templates/ko/single/features/feature-base/spec.md +0 -57
- package/templates/ko/single/features/feature-base/tasks.md +0 -60
- package/templates/ko/single/prd/README.md +0 -20
- /package/templates/en/{single → common}/prd/README.md +0 -0
- /package/templates/ko/{fullstack → common}/prd/README.md +0 -0
package/package.json
CHANGED
|
@@ -4,13 +4,13 @@ This documentation is organized by feature to help agents quickly understand the
|
|
|
4
4
|
|
|
5
5
|
## Directory Structure
|
|
6
6
|
|
|
7
|
-
| Path
|
|
8
|
-
|
|
|
9
|
-
| `docs/agents/`
|
|
10
|
-
| `docs/prd/`
|
|
11
|
-
| `docs/designs/`
|
|
12
|
-
| `docs/ideas/`
|
|
13
|
-
| `
|
|
7
|
+
| Path | Purpose | Key Documents |
|
|
8
|
+
| ----------------- | --------------------- | ------------- |
|
|
9
|
+
| `docs/agents/` | Agent operating rules | `custom.md`, `constitution.md` (engine-managed guides are fetched via `npx lee-spec-kit docs get <doc-id> --json`) |
|
|
10
|
+
| `docs/prd/` | Product requirements | Project-specific |
|
|
11
|
+
| `docs/designs/` | Design references | `README.md` (links/guidelines/references) |
|
|
12
|
+
| `docs/ideas/` | Ideas / to-dos | `README.md` (Idea → Feature promotion rules) |
|
|
13
|
+
| `{{featurePath}}` | Feature documentation | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ When you run `lee-spec-kit init`, it creates `.lee-spec-kit.json` in the docs ro
|
|
|
24
24
|
### Fields
|
|
25
25
|
|
|
26
26
|
- `projectName` (string): Project name
|
|
27
|
-
- `projectType` ("single" | "
|
|
27
|
+
- `projectType` ("single" | "multi"): Project type
|
|
28
28
|
- `lang` ("ko" | "en"): Docs language
|
|
29
29
|
- `createdAt` (string, YYYY-MM-DD): Creation date
|
|
30
30
|
- `docsRepo` ("embedded" | "standalone"): How docs are managed
|
|
@@ -37,7 +37,7 @@ When you run `lee-spec-kit init`, it creates `.lee-spec-kit.json` in the docs ro
|
|
|
37
37
|
```json
|
|
38
38
|
{
|
|
39
39
|
"projectName": "{{projectName}}",
|
|
40
|
-
"projectType": "
|
|
40
|
+
"projectType": "{{projectType}}",
|
|
41
41
|
"lang": "en",
|
|
42
42
|
"createdAt": "{{date}}",
|
|
43
43
|
"docsRepo": "embedded",
|
|
@@ -48,7 +48,7 @@ When you run `lee-spec-kit init`, it creates `.lee-spec-kit.json` in the docs ro
|
|
|
48
48
|
```json
|
|
49
49
|
{
|
|
50
50
|
"projectName": "{{projectName}}",
|
|
51
|
-
"projectType": "
|
|
51
|
+
"projectType": "{{projectType}}",
|
|
52
52
|
"lang": "en",
|
|
53
53
|
"createdAt": "{{date}}",
|
|
54
54
|
"docsRepo": "standalone",
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Agents Guide
|
|
2
|
+
|
|
3
|
+
Operating rules for AI code assistants.
|
|
4
|
+
This document covers **policy only**.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🚨 User Approval Required (MUST)
|
|
9
|
+
|
|
10
|
+
> ⚠️ The actions below require explicit user approval (OK) before execution.
|
|
11
|
+
> ✅ Approval replies must be in `<label>` or `<label> OK` format (e.g. `A`, `A OK`).
|
|
12
|
+
|
|
13
|
+
| Action | When to confirm | What to share |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| Spec writing | After writing `spec.md` | Full spec content |
|
|
16
|
+
| Task execution | Before each task | Task title |
|
|
17
|
+
| Commit creation | Before `git commit` | Commit message, included files |
|
|
18
|
+
| Issue creation | Before `gh issue create` | Title, body, labels |
|
|
19
|
+
| PR creation | Before `gh pr create` | Title, body, labels |
|
|
20
|
+
| Assignee change | When assigning someone else | Target username |
|
|
21
|
+
| Remote Git operations | Before `push`, `merge` (including merge commits) | Branch, changes |
|
|
22
|
+
|
|
23
|
+
Approval flow:
|
|
24
|
+
1. Share details first
|
|
25
|
+
2. Wait for explicit approval (OK)
|
|
26
|
+
3. Execute after approval
|
|
27
|
+
|
|
28
|
+
Prohibited:
|
|
29
|
+
- Proceeding without user response
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🧾 Label Response Contract (SSOT)
|
|
34
|
+
|
|
35
|
+
- End **every user-facing reply** with current status + available labels.
|
|
36
|
+
- Use the latest `npx lee-spec-kit context --json` (or `flow --json`) as source.
|
|
37
|
+
- Use `actionOptions[].detail` or command `cmd` **verbatim**. Do not paraphrase.
|
|
38
|
+
- Even when the user asks something else, append the same label block at the end if executable labels exist.
|
|
39
|
+
- If no executable labels exist, print `Available labels: none` and guide re-check with `npx lee-spec-kit context`.
|
|
40
|
+
- If user input does not contain a valid label, do not execute; request label selection again.
|
|
41
|
+
|
|
42
|
+
Output format:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
Current status: <reasonCode or brief state>
|
|
46
|
+
Available labels:
|
|
47
|
+
A: <detail>
|
|
48
|
+
B: <detail>
|
|
49
|
+
Reply format: "<LABEL>" or "<LABEL> OK"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Required References
|
|
55
|
+
|
|
56
|
+
- Highest-priority custom rules: `/docs/agents/custom.md`
|
|
57
|
+
- Project principles: `/docs/agents/constitution.md`
|
|
58
|
+
- Root guide: `npx lee-spec-kit docs get agents --json`
|
|
59
|
+
- Git workflow: `npx lee-spec-kit docs get git-workflow --json`
|
|
60
|
+
- Task execution: `npx lee-spec-kit docs get execute-task --json`
|
|
61
|
+
- Issue procedure/template: `npx lee-spec-kit docs get create-issue --json` → `npx lee-spec-kit docs get issue-template --json`
|
|
62
|
+
- PR procedure/template: `npx lee-spec-kit docs get create-pr --json` → `npx lee-spec-kit docs get pr-template --json`
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Scope Split
|
|
67
|
+
|
|
68
|
+
- Docs structure/path rules: use `docs/README.md` as SSOT
|
|
69
|
+
- ADR format: use feature `decisions.md` template as SSOT
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Language / Formatting Rules
|
|
74
|
+
|
|
75
|
+
- Replies: English (or project language policy in `custom.md`)
|
|
76
|
+
- Code/file names: English
|
|
77
|
+
- Date/time: use user's local system time
|
|
@@ -58,8 +58,8 @@ In GitHub Issues, use different link formats **based on file location**:
|
|
|
58
58
|
> Format: `- **{Label}**: \`{path}\``
|
|
59
59
|
|
|
60
60
|
```markdown
|
|
61
|
-
- **Spec**: `docs/features/{
|
|
62
|
-
- **Tasks**: `docs/features/{
|
|
61
|
+
- **Spec**: `docs/features/{component}/F001-feature-name/spec.md`
|
|
62
|
+
- **Tasks**: `docs/features/{component}/F001-feature-name/tasks.md`
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
> ⚠️ Local documents are not clickable on GitHub, so use **bold label + code block path** format instead of markdown links.
|
|
@@ -85,7 +85,7 @@ In GitHub Issues, use different link formats **based on file location**:
|
|
|
85
85
|
|
|
86
86
|
## Related Documents
|
|
87
87
|
|
|
88
|
-
- **Spec**: `docs/features/{
|
|
88
|
+
- **Spec**: `docs/features/{component}/F{number}-{feature-name}/spec.md`
|
|
89
89
|
|
|
90
90
|
## Labels
|
|
91
91
|
|
|
@@ -25,6 +25,7 @@ For gated actions, proceed only after the user replies in **`<label>` or `<label
|
|
|
25
25
|
- If the CLI indicates **Review**, share the document with the user and stop.
|
|
26
26
|
- If the CLI asks for writing a file, write that file and follow the format.
|
|
27
27
|
- If the CLI prints a command, **copy/paste and run it exactly**. (It may include repo-safe `git -C ...` commands and scopes like `project` vs `docs`.)
|
|
28
|
+
- When requesting approval, present labels as `A: ...` using the exact CLI detail/cmd text. Do not paraphrase command options.
|
|
28
29
|
|
|
29
30
|
### Step 3: Repeat
|
|
30
31
|
|
|
@@ -15,16 +15,16 @@ Guide for creating Pull Requests.
|
|
|
15
15
|
|
|
16
16
|
## Steps
|
|
17
17
|
|
|
18
|
-
### 1. Prepare PR
|
|
18
|
+
### 1. Prepare PR Body Template
|
|
19
19
|
|
|
20
|
-
> 📖 **Read procedure/template via `docs get` first, then generate a
|
|
20
|
+
> 📖 **Read procedure/template via `docs get` first, then generate a body template and treat it as the source of truth.**
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
# 1) Read procedure + template policy
|
|
24
24
|
npx lee-spec-kit docs get create-pr --json
|
|
25
25
|
npx lee-spec-kit docs get pr-template --json
|
|
26
26
|
|
|
27
|
-
# 2) Generate
|
|
27
|
+
# 2) Generate body template (no remote action)
|
|
28
28
|
npx lee-spec-kit github pr F001 --json
|
|
29
29
|
# - Force screenshots section: --screenshots on
|
|
30
30
|
# - Force Mermaid section: --mermaid on
|
|
@@ -32,7 +32,7 @@ npx lee-spec-kit github pr F001 --json
|
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Use `docs get pr-template --json` output as the section policy,
|
|
35
|
-
and `github pr --json` output `body` as the first PR
|
|
35
|
+
and `github pr --json` output `body` as the first PR body template.
|
|
36
36
|
If needed, use `bodyFile` as the filesystem source.
|
|
37
37
|
|
|
38
38
|
| Item | Format |
|
|
@@ -50,7 +50,7 @@ If needed, use `bodyFile` as the filesystem source.
|
|
|
50
50
|
|
|
51
51
|
1. Run relevant test commands (e.g., `npm test`, `pnpm test`); if no tests exist, request them from the user
|
|
52
52
|
2. Check results (PASS/FAIL)
|
|
53
|
-
3. In the PR body "Tests" section, keep only what you actually ran in the generated
|
|
53
|
+
3. In the PR body "Tests" section, keep only what you actually ran in the generated body template
|
|
54
54
|
4. If you didn’t run any tests, request/confirm with the user before creating the PR
|
|
55
55
|
|
|
56
56
|
### 3. Prepare Screenshots / Diagrams (Include in PR Body)
|
|
@@ -122,7 +122,7 @@ echo \"\"
|
|
|
122
122
|
|
|
123
123
|
#### Logic/structure changes (Backend PR)
|
|
124
124
|
|
|
125
|
-
- Write a Mermaid **`sequenceDiagram`** in the PR body and keep it aligned with the generated
|
|
125
|
+
- Write a Mermaid **`sequenceDiagram`** in the PR body and keep it aligned with the generated body template format.
|
|
126
126
|
|
|
127
127
|
### 4. Request User Approval
|
|
128
128
|
|
|
@@ -131,10 +131,10 @@ echo \"\"
|
|
|
131
131
|
Before creating PR, share the following **in a code block** and wait for **explicit approval (OK)**:
|
|
132
132
|
|
|
133
133
|
- Title
|
|
134
|
-
- Full body
|
|
134
|
+
- Full body template (from `body`)
|
|
135
135
|
- Labels (at least 1; cannot be empty)
|
|
136
136
|
|
|
137
|
-
Before approval/create, refine the generated
|
|
137
|
+
Before approval/create, refine the generated body template's Changes/Tests sections based on actual work.
|
|
138
138
|
|
|
139
139
|
### 5. Create PR
|
|
140
140
|
|
|
@@ -189,5 +189,5 @@ Use **current branch name** for file links in PR body:
|
|
|
189
189
|
|
|
190
190
|
## Reference Documents
|
|
191
191
|
|
|
192
|
-
- **
|
|
192
|
+
- **Body template generator**: `npx lee-spec-kit github pr <feature-name>`
|
|
193
193
|
- **Approval rule**: share title/body/labels first, then run `--create --confirm OK`
|
|
@@ -22,6 +22,7 @@ Execute exactly one option from `👉 Next Options (Atomic)` as printed by the C
|
|
|
22
22
|
- If the CLI points to an active task, focus on that task only.
|
|
23
23
|
- Treat the task state/approval rules in `tasks.md` **"Task Rules"** as SSOT (e.g. when OK is required for `[TODO]→[DOING]`, `[DOING]→[DONE]`).
|
|
24
24
|
- If the CLI prints commands, copy/paste them. (In standalone setups commands may include `git -C ...` and scopes like `project`/`docs`.)
|
|
25
|
+
- Follow user-facing response format (including the final status/label block in every reply) from `agents.md` **"Label Response Contract (SSOT)"**.
|
|
25
26
|
|
|
26
27
|
### Step 3: Update tasks.md (only what you did)
|
|
27
28
|
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
# Features Guide
|
|
2
2
|
|
|
3
3
|
Folder for managing feature specs, plans, and tasks.
|
|
4
|
-
**FE/BE repos are separated, so Features are also managed separately.**
|
|
5
4
|
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
## Folder Structure
|
|
9
8
|
|
|
10
|
-
```
|
|
9
|
+
```text
|
|
11
10
|
features/
|
|
12
11
|
├── README.md # This file
|
|
13
12
|
├── feature-base/ # Shared template (edit in one place)
|
|
@@ -15,24 +14,20 @@ features/
|
|
|
15
14
|
│ ├── plan.md
|
|
16
15
|
│ ├── tasks.md
|
|
17
16
|
│ └── decisions.md
|
|
18
|
-
├──
|
|
19
|
-
|
|
20
|
-
└── fe/ # Frontend Features
|
|
21
|
-
└── F00X-{name}/
|
|
17
|
+
├── (single) F00X-{name}/
|
|
18
|
+
└── (multi) {component}/F00X-{name}/
|
|
22
19
|
```
|
|
23
20
|
|
|
24
21
|
---
|
|
25
22
|
|
|
26
23
|
## Creating New Features
|
|
27
24
|
|
|
28
|
-
### Using CLI (Recommended)
|
|
29
|
-
|
|
30
25
|
```bash
|
|
31
|
-
#
|
|
32
|
-
npx lee-spec-kit feature
|
|
26
|
+
# Single project
|
|
27
|
+
npx lee-spec-kit feature user-auth
|
|
33
28
|
|
|
34
|
-
#
|
|
35
|
-
npx lee-spec-kit feature --
|
|
29
|
+
# Multi project
|
|
30
|
+
npx lee-spec-kit feature --component app user-profile
|
|
36
31
|
```
|
|
37
32
|
|
|
38
33
|
> 💡 CLI copies templates from `feature-base/` and auto-assigns IDs.
|
|
@@ -45,15 +40,12 @@ npx lee-spec-kit feature --repo fe user-profile
|
|
|
45
40
|
- Minimum **3-digit padding** for numbers (001, 002, ...)
|
|
46
41
|
- Expands to **4+ digits** beyond 999 (F1000, F1001, ...)
|
|
47
42
|
- Feature names in kebab-case
|
|
48
|
-
- **
|
|
49
|
-
- **Feature = Issue**: Each Feature corresponds to one GitHub Issue
|
|
43
|
+
- **Feature = Issue**: Each Feature corresponds to one GitHub Issue.
|
|
50
44
|
|
|
51
45
|
---
|
|
52
46
|
|
|
53
47
|
## Status Check
|
|
54
48
|
|
|
55
|
-
Check feature progress with CLI:
|
|
56
|
-
|
|
57
49
|
```bash
|
|
58
50
|
npx lee-spec-kit status
|
|
59
51
|
```
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Record technical decisions and their rationale.
|
|
4
4
|
|
|
5
|
+
> ADR (Architecture Decision Record) captures important technical or architectural choices made during implementation.
|
|
6
|
+
> Write ADRs so the team can trace why a choice was made and revisit trade-offs later.
|
|
7
|
+
|
|
5
8
|
> Format: `D{number}: {Decision Title} ({YYYY-MM-DD})`
|
|
6
9
|
|
|
7
10
|
---
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
- **Feature ID**: F{number}
|
|
10
10
|
- **Feature Name**: {feature-name}
|
|
11
|
-
- **Target Repo**: {{projectName}}-{
|
|
11
|
+
- **Target Repo**: {{projectName}}-{component}
|
|
12
12
|
- **Issue Number**: #{issue-number}
|
|
13
13
|
- **Created**: {YYYY-MM-DD}
|
|
14
14
|
- **Status**: Review | Approved
|
|
@@ -14,7 +14,7 @@ Core rule: once an idea becomes a Feature, the SSOT moves to `docs/features/`.
|
|
|
14
14
|
- Put at least these at the top:
|
|
15
15
|
- Goal / context
|
|
16
16
|
- Rough scope (what’s in/out)
|
|
17
|
-
- Target
|
|
17
|
+
- Target component (optional): `api` / `app` / `worker` / `all`
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
## 상위 구조 요약
|
|
6
6
|
|
|
7
|
-
| 경로 | 목적 | 핵심 문서/역할
|
|
8
|
-
| ---------------- | ------------------ |
|
|
7
|
+
| 경로 | 목적 | 핵심 문서/역할 |
|
|
8
|
+
| ---------------- | ------------------ | -------------- |
|
|
9
9
|
| `docs/agents/` | 에이전트 운영 규칙 | `custom.md`, `constitution.md` (엔진 종속 가이드는 `npx lee-spec-kit docs get <doc-id> --json`으로 조회) |
|
|
10
|
-
| `docs/prd/` | 제품 요구사항 | 프로젝트별 작성
|
|
11
|
-
| `docs/designs/` | 디자인 참고 자료 | `README.md` (링크/가이드/레퍼런스)
|
|
12
|
-
| `docs/ideas/` | 아이디어/To-do
|
|
13
|
-
| `
|
|
10
|
+
| `docs/prd/` | 제품 요구사항 | 프로젝트별 작성 |
|
|
11
|
+
| `docs/designs/` | 디자인 참고 자료 | `README.md` (링크/가이드/레퍼런스) |
|
|
12
|
+
| `docs/ideas/` | 아이디어/To-do | `README.md` (Idea → Feature 승격 규칙) |
|
|
13
|
+
| `{{featurePath}}` | 기능별 문서 | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
### 필드
|
|
25
25
|
|
|
26
26
|
- `projectName` (string): 프로젝트 이름
|
|
27
|
-
- `projectType` ("single" | "
|
|
27
|
+
- `projectType` ("single" | "multi"): 프로젝트 타입
|
|
28
28
|
- `lang` ("ko" | "en"): 문서 언어
|
|
29
29
|
- `createdAt` (string, YYYY-MM-DD): 생성 날짜
|
|
30
30
|
- `docsRepo` ("embedded" | "standalone"): Docs 관리 방식
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
```json
|
|
38
38
|
{
|
|
39
39
|
"projectName": "{{projectName}}",
|
|
40
|
-
"projectType": "
|
|
40
|
+
"projectType": "{{projectType}}",
|
|
41
41
|
"lang": "ko",
|
|
42
42
|
"createdAt": "{{date}}",
|
|
43
43
|
"docsRepo": "embedded",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
```json
|
|
49
49
|
{
|
|
50
50
|
"projectName": "{{projectName}}",
|
|
51
|
-
"projectType": "
|
|
51
|
+
"projectType": "{{projectType}}",
|
|
52
52
|
"lang": "ko",
|
|
53
53
|
"createdAt": "{{date}}",
|
|
54
54
|
"docsRepo": "standalone",
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Agents Guide
|
|
2
|
+
|
|
3
|
+
코드 어시스턴트/에이전트 운영 규칙입니다.
|
|
4
|
+
이 문서는 **정책(강제 규칙)만** 다룹니다.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🚨 사용자 확인 필수 규칙 (MUST)
|
|
9
|
+
|
|
10
|
+
> ⚠️ 아래 작업은 반드시 사용자 명시 승인(OK) 후에만 진행합니다.
|
|
11
|
+
> ✅ 승인 응답은 `<라벨>` 또는 `<라벨> OK` 형식(예: `A`, `A OK`)입니다.
|
|
12
|
+
|
|
13
|
+
| 작업 | 확인 시점 | 공유 내용 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| 스펙 작성 | `spec.md` 작성 후 | 스펙 내용 전문 |
|
|
16
|
+
| 태스크 실행 | 각 태스크 시작 전 | 태스크 제목 |
|
|
17
|
+
| 커밋 생성 | `git commit` 전 | 커밋 메시지, 포함 파일 목록 |
|
|
18
|
+
| 이슈 생성 | `gh issue create` 전 | 제목, 본문, 라벨 |
|
|
19
|
+
| PR 생성 | `gh pr create` 전 | 제목, 본문, 라벨 |
|
|
20
|
+
| Assignee 변경 | 본인 외 지정 시 | 대상 사용자명 |
|
|
21
|
+
| Git 원격 작업 | `push`, `merge` 전 (머지 커밋 포함) | 브랜치, 변경 사항 |
|
|
22
|
+
|
|
23
|
+
확인 절차:
|
|
24
|
+
1. 작업 내용을 먼저 공유
|
|
25
|
+
2. 명시적 승인(OK) 대기
|
|
26
|
+
3. 승인 후 실행
|
|
27
|
+
|
|
28
|
+
금지:
|
|
29
|
+
- 사용자 응답 없이 임의 진행
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🧾 라벨 응답 계약 (SSOT)
|
|
34
|
+
|
|
35
|
+
- 사용자에게 보내는 **모든 응답의 마지막**에 현재 상태 + 선택 가능한 라벨을 표시합니다.
|
|
36
|
+
- 기준 데이터는 최신 `npx lee-spec-kit context --json`(또는 `flow --json`)입니다.
|
|
37
|
+
- 라벨 설명은 `actionOptions[].detail` 또는 command `cmd`를 **원문 그대로** 사용합니다. (요약/의역 금지)
|
|
38
|
+
- 사용자가 다른 질문을 하더라도, 실행 가능한 라벨이 있으면 응답 마지막에 동일 블록을 다시 표시합니다.
|
|
39
|
+
- 실행 가능한 라벨이 없으면 `선택 가능: 없음` + `npx lee-spec-kit context` 재확인을 안내합니다.
|
|
40
|
+
- 사용자 입력에 유효 라벨이 없으면 실행하지 말고 라벨 선택을 다시 요청합니다.
|
|
41
|
+
|
|
42
|
+
출력 형식:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
현재 상태: <reasonCode 또는 상태 요약>
|
|
46
|
+
선택 가능:
|
|
47
|
+
A: <detail>
|
|
48
|
+
B: <detail>
|
|
49
|
+
응답 형식: "<LABEL>" 또는 "<LABEL> OK"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 필수 참조
|
|
55
|
+
|
|
56
|
+
- 최우선 규칙: `/docs/agents/custom.md`
|
|
57
|
+
- 프로젝트 원칙: `/docs/agents/constitution.md`
|
|
58
|
+
- 루트 가이드: `npx lee-spec-kit docs get agents --json`
|
|
59
|
+
- Git 워크플로우: `npx lee-spec-kit docs get git-workflow --json`
|
|
60
|
+
- 태스크 실행: `npx lee-spec-kit docs get execute-task --json`
|
|
61
|
+
- 이슈 절차/템플릿: `npx lee-spec-kit docs get create-issue --json` → `npx lee-spec-kit docs get issue-template --json`
|
|
62
|
+
- PR 절차/템플릿: `npx lee-spec-kit docs get create-pr --json` → `npx lee-spec-kit docs get pr-template --json`
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 범위 분리
|
|
67
|
+
|
|
68
|
+
- docs 구조/경로 규칙: `docs/README.md`를 SSOT로 사용
|
|
69
|
+
- ADR 작성 형식: `docs/features/.../decisions.md` 템플릿을 SSOT로 사용
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 언어/표기 규칙
|
|
74
|
+
|
|
75
|
+
- 답변: 한국어
|
|
76
|
+
- 코드/파일명: 영어
|
|
77
|
+
- 주석/커밋메시지: 한국어
|
|
78
|
+
- 날짜/시간: 사용자 PC 시스템 시간 사용
|
|
@@ -42,8 +42,8 @@ GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
|
|
|
42
42
|
> 형식: `- **{레이블}**: \`{경로}\``
|
|
43
43
|
|
|
44
44
|
```markdown
|
|
45
|
-
- **Spec**: `docs/features/{
|
|
46
|
-
- **Tasks**: `docs/features/{
|
|
45
|
+
- **Spec**: `docs/features/{component}/F001-feature-name/spec.md`
|
|
46
|
+
- **Tasks**: `docs/features/{component}/F001-feature-name/tasks.md`
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
> ⚠️ 로컬 문서는 GitHub에서 클릭되지 않으므로, 마크다운 링크 대신 **볼드 레이블 + 코드블록 경로** 형식을 사용합니다.
|
|
@@ -69,7 +69,7 @@ GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
|
|
|
69
69
|
|
|
70
70
|
## 관련 문서
|
|
71
71
|
|
|
72
|
-
- **Spec**: `docs/features/{
|
|
72
|
+
- **Spec**: `docs/features/{component}/F{번호}-{기능명}/spec.md`
|
|
73
73
|
|
|
74
74
|
## 라벨
|
|
75
75
|
|
|
@@ -26,6 +26,7 @@ CLI가 출력하는 **`👉 Next Options (Atomic)` 목록에서 단 하나의
|
|
|
26
26
|
- CLI가 파일 작성을 지시하면 해당 파일을 작성합니다.
|
|
27
27
|
- CLI가 이슈 생성을 지시하면 이슈를 생성합니다.
|
|
28
28
|
- CLI가 명령어를 출력하면 **그대로 복사해 실행**합니다. (standalone 환경에서도 레포 경로가 포함될 수 있습니다)
|
|
29
|
+
- 승인 요청 시 라벨 옵션은 `A: ...` 형식으로 **CLI가 출력한 원문(detail/cmd) 그대로** 공유합니다. 요약/의역하지 않습니다.
|
|
29
30
|
|
|
30
31
|
### 3단계: 반복
|
|
31
32
|
|
|
@@ -15,16 +15,16 @@ Pull Request를 생성할 때 따르는 가이드입니다.
|
|
|
15
15
|
|
|
16
16
|
## 단계
|
|
17
17
|
|
|
18
|
-
### 1. PR
|
|
18
|
+
### 1. PR 본문 템플릿 준비
|
|
19
19
|
|
|
20
|
-
> 📖 **먼저 `docs get`으로 절차/템플릿을 읽고,
|
|
20
|
+
> 📖 **먼저 `docs get`으로 절차/템플릿을 읽고, 본문 템플릿을 생성해 기준으로 사용하세요.**
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
# 1) 절차/템플릿 정책 확인
|
|
24
24
|
npx lee-spec-kit docs get create-pr --json
|
|
25
25
|
npx lee-spec-kit docs get pr-template --json
|
|
26
26
|
|
|
27
|
-
# 2)
|
|
27
|
+
# 2) 본문 템플릿 생성 (원격 작업 아님)
|
|
28
28
|
npx lee-spec-kit github pr F001 --json
|
|
29
29
|
# - 스크린샷 강제 포함: --screenshots on
|
|
30
30
|
# - Mermaid 강제 포함: --mermaid on
|
|
@@ -32,7 +32,7 @@ npx lee-spec-kit github pr F001 --json
|
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
`docs get pr-template --json` 출력은 섹션 정책으로 보고,
|
|
35
|
-
`github pr --json`의 `body`를 우선 PR
|
|
35
|
+
`github pr --json`의 `body`를 우선 PR 본문 템플릿으로 사용하세요.
|
|
36
36
|
필요하면 `bodyFile` 경로 파일을 함께 참고하세요.
|
|
37
37
|
|
|
38
38
|
| 항목 | 형식 |
|
|
@@ -50,7 +50,7 @@ npx lee-spec-kit github pr F001 --json
|
|
|
50
50
|
|
|
51
51
|
1. 작업과 관련된 테스트 명령어 실행 (예: `npm test`, `pnpm test`), 테스트가 없는 경우 사용자에게 요청
|
|
52
52
|
2. 결과 확인 (PASS/FAIL)
|
|
53
|
-
3. PR 본문 "테스트" 섹션은 생성된
|
|
53
|
+
3. PR 본문 "테스트" 섹션은 생성된 본문 템플릿 기준으로, 실제 실행한 테스트만 반영합니다.
|
|
54
54
|
4. 테스트를 실행하지 않았다면, PR 생성 전에 사용자에게 요청/확인합니다.
|
|
55
55
|
|
|
56
56
|
### 3. 스크린샷/다이어그램 작성 (PR 본문에 포함)
|
|
@@ -122,7 +122,7 @@ echo \"\"
|
|
|
122
122
|
|
|
123
123
|
#### 로직/구조 변경 (백엔드 PR)
|
|
124
124
|
|
|
125
|
-
- PR 본문에 Mermaid **`sequenceDiagram`**을 작성하고, 생성된
|
|
125
|
+
- PR 본문에 Mermaid **`sequenceDiagram`**을 작성하고, 생성된 본문 템플릿 형식과 일치하게 유지합니다.
|
|
126
126
|
|
|
127
127
|
### 4. 사용자 확인 요청
|
|
128
128
|
|
|
@@ -131,10 +131,10 @@ echo \"\"
|
|
|
131
131
|
PR 생성 전 다음 내용을 **코드블록으로** 사용자에게 공유하고 **명시적 승인(OK)** 대기:
|
|
132
132
|
|
|
133
133
|
- 제목
|
|
134
|
-
- 본문 전체
|
|
134
|
+
- 본문 전체 템플릿 (`body` 기준)
|
|
135
135
|
- 라벨(최소 1개, 비워둘 수 없음)
|
|
136
136
|
|
|
137
|
-
승인/생성 전에 생성된
|
|
137
|
+
승인/생성 전에 생성된 본문 템플릿의 변경 사항/테스트 섹션을 실제 작업 기준으로 보완하세요.
|
|
138
138
|
|
|
139
139
|
### 5. PR 생성
|
|
140
140
|
|
|
@@ -189,5 +189,5 @@ PR 본문의 파일 링크는 **현재 브랜치명**을 사용:
|
|
|
189
189
|
|
|
190
190
|
## 참조 문서
|
|
191
191
|
|
|
192
|
-
-
|
|
192
|
+
- **본문 템플릿 생성기**: `npx lee-spec-kit github pr <feature-name>`
|
|
193
193
|
- **승인 규칙**: 제목/본문/라벨 공유 후 `--create --confirm OK` 실행
|
|
@@ -24,6 +24,7 @@ CLI가 가리키는 **Active Task** 또는 **`👉 Next Options (Atomic)`의 단
|
|
|
24
24
|
- **[DOING] 상태인 태스크가 있다면**: 해당 태스크를 최우선으로 완료하세요.
|
|
25
25
|
- 태스크 상태 전환/승인 규칙은 `tasks.md`의 **"태스크 규칙"** 섹션을 SSOT로 따릅니다. (예: `[TODO]→[DOING]`, `[DOING]→[DONE]` 시점의 OK)
|
|
26
26
|
- CLI가 명령어를 출력하면 **그대로 복사해 실행**합니다. (standalone 환경에서도 레포 경로가 포함될 수 있습니다)
|
|
27
|
+
- 사용자 응답 포맷(매 응답 말미의 상태/라벨 표시 포함)은 `agents.md`의 **"라벨 응답 계약 (SSOT)"** 을 따릅니다.
|
|
27
28
|
|
|
28
29
|
### 3단계: 기록 및 반복 (Record & Loop)
|
|
29
30
|
|