lee-spec-kit 0.6.13 → 0.6.14
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 +9 -6
- package/README.md +8 -5
- package/dist/index.js +705 -47
- package/package.json +1 -1
- package/templates/en/common/agents/agents.md +3 -2
- package/templates/en/common/agents/issue-template.md +1 -0
- package/templates/en/common/agents/pr-template.md +1 -0
- package/templates/en/common/agents/skills/create-issue.md +17 -10
- package/templates/en/common/agents/skills/create-pr.md +17 -9
- package/templates/en/common/agents/skills/execute-task.md +1 -1
- package/templates/en/common/features/README.md +16 -0
- package/templates/en/common/features/feature-base/issue.md +34 -0
- package/templates/en/common/features/feature-base/plan.md +1 -1
- package/templates/en/common/features/feature-base/pr.md +35 -0
- package/templates/en/common/features/feature-base/spec.md +1 -1
- package/templates/en/common/features/feature-base/tasks.md +8 -3
- package/templates/ko/common/agents/agents.md +3 -2
- package/templates/ko/common/agents/issue-template.md +1 -0
- package/templates/ko/common/agents/pr-template.md +1 -0
- package/templates/ko/common/agents/skills/create-issue.md +17 -10
- package/templates/ko/common/agents/skills/create-pr.md +17 -9
- package/templates/ko/common/agents/skills/execute-task.md +1 -1
- package/templates/ko/common/features/README.md +16 -0
- package/templates/ko/common/features/feature-base/issue.md +34 -0
- package/templates/ko/common/features/feature-base/plan.md +1 -1
- package/templates/ko/common/features/feature-base/pr.md +35 -0
- package/templates/ko/common/features/feature-base/spec.md +1 -1
- package/templates/ko/common/features/feature-base/tasks.md +8 -3
package/package.json
CHANGED
|
@@ -71,8 +71,8 @@ Reply format: "<LABEL>" or "<LABEL> OK"
|
|
|
71
71
|
- Root guide: `npx lee-spec-kit docs get agents --json`
|
|
72
72
|
- Git workflow: `npx lee-spec-kit docs get git-workflow --json`
|
|
73
73
|
- Task execution: `npx lee-spec-kit docs get execute-task --json`
|
|
74
|
-
- Issue procedure/
|
|
75
|
-
- PR procedure/
|
|
74
|
+
- Issue procedure/doc: `npx lee-spec-kit docs get create-issue --json` → `npx lee-spec-kit docs get issue-doc --json`
|
|
75
|
+
- PR procedure/doc: `npx lee-spec-kit docs get create-pr --json` → `npx lee-spec-kit docs get pr-doc --json`
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
@@ -80,6 +80,7 @@ Reply format: "<LABEL>" or "<LABEL> OK"
|
|
|
80
80
|
|
|
81
81
|
- Docs structure/path rules: use `docs/README.md` as SSOT
|
|
82
82
|
- ADR format: use feature `decisions.md` template as SSOT
|
|
83
|
+
- Issue/PR execution state: use each feature's `issue.md` and `pr.md` as SSOT
|
|
83
84
|
|
|
84
85
|
---
|
|
85
86
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# GitHub Issue Creation Process
|
|
2
2
|
|
|
3
3
|
Guide for creating GitHub Issues.
|
|
4
|
+
Execution-state SSOT is the feature-local `issue.md`.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -13,22 +14,22 @@ Guide for creating GitHub Issues.
|
|
|
13
14
|
|
|
14
15
|
## Steps
|
|
15
16
|
|
|
16
|
-
### 1. Prepare
|
|
17
|
+
### 1. Prepare `issue.md` Draft
|
|
17
18
|
|
|
18
19
|
> 📖 **If not read in this session, read procedure/template via `docs get`; do not re-read the same doc in the same session, then generate a draft and treat it as the source of truth.**
|
|
19
20
|
|
|
20
21
|
```bash
|
|
21
22
|
# 1) Read procedure + template policy (only docs not read in this session)
|
|
22
23
|
npx lee-spec-kit docs get create-issue --json
|
|
23
|
-
npx lee-spec-kit docs get issue-
|
|
24
|
+
npx lee-spec-kit docs get issue-doc --json
|
|
24
25
|
|
|
25
26
|
# 2) Generate draft body (no remote action)
|
|
26
27
|
npx lee-spec-kit github issue F001 --json
|
|
27
28
|
```
|
|
28
29
|
|
|
29
|
-
Use `docs get issue-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
Use `docs get issue-doc --json` output as document-structure policy,
|
|
31
|
+
then refine the feature `issue.md` draft from `github issue --json` `body`.
|
|
32
|
+
Use `issue.md` status (`Draft | Ready`) as the actual workflow state.
|
|
32
33
|
|
|
33
34
|
| Item | Format |
|
|
34
35
|
| -------- | ------------------------------------------- |
|
|
@@ -37,19 +38,19 @@ If needed, use `bodyFile` as the filesystem source.
|
|
|
37
38
|
| Labels | `enhancement`, `bug`, `documentation`, etc. |
|
|
38
39
|
| Assignee | `@me` (default) |
|
|
39
40
|
|
|
40
|
-
### 2. Request User Approval
|
|
41
|
+
### 2. Request User Approval + Move to `Ready`
|
|
41
42
|
|
|
42
43
|
> 🚨 **User Approval Required**
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
Share the `issue.md` draft and wait for explicit approval (OK):
|
|
45
46
|
|
|
46
47
|
- Title
|
|
47
|
-
- Full body draft (from `
|
|
48
|
+
- Full body draft (from `issue.md`)
|
|
48
49
|
- Labels
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
After approval, set `issue.md` status to `Ready`.
|
|
51
52
|
|
|
52
|
-
### 3. Create Issue
|
|
53
|
+
### 3. Create Issue (when `issue.md` is `Ready`)
|
|
53
54
|
|
|
54
55
|
```bash
|
|
55
56
|
gh issue create \
|
|
@@ -62,9 +63,15 @@ gh issue create \
|
|
|
62
63
|
npx lee-spec-kit github issue F001 --create --confirm OK --labels enhancement
|
|
63
64
|
```
|
|
64
65
|
|
|
66
|
+
After creation:
|
|
67
|
+
- sync created issue number into `issue.md`
|
|
68
|
+
- sync issue number into `spec.md` and `tasks.md`
|
|
69
|
+
- keep `issue.md` status as `Ready` (creation state is tracked by issue number/link fields)
|
|
70
|
+
|
|
65
71
|
---
|
|
66
72
|
|
|
67
73
|
## Reference Documents
|
|
68
74
|
|
|
69
75
|
- **Draft generator**: `npx lee-spec-kit github issue <feature-name>`
|
|
70
76
|
- **Approval rule**: share title/body/labels first, then run `--create --confirm OK`
|
|
77
|
+
- **Execution-state SSOT**: `docs/features/.../<feature>/issue.md`
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Pull Request Creation Process
|
|
2
2
|
|
|
3
3
|
Guide for creating Pull Requests.
|
|
4
|
+
Execution-state SSOT is the feature-local `pr.md`.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -15,14 +16,14 @@ Guide for creating Pull Requests.
|
|
|
15
16
|
|
|
16
17
|
## Steps
|
|
17
18
|
|
|
18
|
-
### 1. Prepare
|
|
19
|
+
### 1. Prepare `pr.md` Draft
|
|
19
20
|
|
|
20
21
|
> 📖 **If not read in this session, read procedure/template via `docs get`; do not re-read the same doc in the same session, then generate a body template and treat it as the source of truth.**
|
|
21
22
|
|
|
22
23
|
```bash
|
|
23
24
|
# 1) Read procedure + template policy (only docs not read in this session)
|
|
24
25
|
npx lee-spec-kit docs get create-pr --json
|
|
25
|
-
npx lee-spec-kit docs get pr-
|
|
26
|
+
npx lee-spec-kit docs get pr-doc --json
|
|
26
27
|
|
|
27
28
|
# 2) Generate body template (no remote action)
|
|
28
29
|
npx lee-spec-kit github pr F001 --json
|
|
@@ -31,9 +32,9 @@ npx lee-spec-kit github pr F001 --json
|
|
|
31
32
|
# - Auto policy (default): --screenshots auto --mermaid auto
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
Use `docs get pr-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
Use `docs get pr-doc --json` output as document-structure policy,
|
|
36
|
+
then refine the feature `pr.md` draft from `github pr --json` `body`.
|
|
37
|
+
Use `pr.md` status (`Draft | Ready`) as the actual workflow state.
|
|
37
38
|
|
|
38
39
|
| Item | Format |
|
|
39
40
|
| -------- | ---------------------------------- |
|
|
@@ -124,19 +125,20 @@ echo \"\"
|
|
|
124
125
|
|
|
125
126
|
- Write a Mermaid **`sequenceDiagram`** in the PR body and keep it aligned with the generated body template format.
|
|
126
127
|
|
|
127
|
-
### 4. Request User Approval
|
|
128
|
+
### 4. Request User Approval + Move to `Ready`
|
|
128
129
|
|
|
129
130
|
> 🚨 **User Approval Required**
|
|
130
131
|
|
|
131
132
|
Before creating PR, share the following **in a code block** and wait for **explicit approval (OK)**:
|
|
132
133
|
|
|
133
134
|
- Title
|
|
134
|
-
- Full body template (from `
|
|
135
|
+
- Full body template (from `pr.md`)
|
|
135
136
|
- Labels (at least 1; cannot be empty)
|
|
136
137
|
|
|
137
|
-
Before approval/create, refine
|
|
138
|
+
Before approval/create, refine `pr.md` Changes/Tests sections based on actual work.
|
|
139
|
+
After approval, set `pr.md` status to `Ready`.
|
|
138
140
|
|
|
139
|
-
### 5. Create PR
|
|
141
|
+
### 5. Create PR (when `pr.md` is `Ready`)
|
|
140
142
|
|
|
141
143
|
```bash
|
|
142
144
|
gh pr create \
|
|
@@ -150,6 +152,11 @@ gh pr create \
|
|
|
150
152
|
npx lee-spec-kit github pr F001 --create --confirm OK --labels enhancement
|
|
151
153
|
```
|
|
152
154
|
|
|
155
|
+
After creation:
|
|
156
|
+
- record created PR link into `pr.md` and `tasks.md`
|
|
157
|
+
- record/keep PR status as `Review`
|
|
158
|
+
- keep `pr.md` status as `Ready` (creation/merge state is tracked by PR link + `PR Status`)
|
|
159
|
+
|
|
153
160
|
---
|
|
154
161
|
|
|
155
162
|
## Important Notes
|
|
@@ -191,3 +198,4 @@ Use **current branch name** for file links in PR body:
|
|
|
191
198
|
|
|
192
199
|
- **Body template generator**: `npx lee-spec-kit github pr <feature-name>`
|
|
193
200
|
- **Approval rule**: share title/body/labels first, then run `--create --confirm OK`
|
|
201
|
+
- **Execution-state SSOT**: `docs/features/.../<feature>/pr.md`
|
|
@@ -63,7 +63,7 @@ Use the feature’s `decisions.md` template format as final SSOT. (Context/Const
|
|
|
63
63
|
|
|
64
64
|
- Complete **only one task at a time** (do not batch-finish multiple tasks in one commit).
|
|
65
65
|
- After you share the outcome/verification and get approval (OK), mark the task `[DONE]` (and update any checklist items), then create commits (code commit + docs commit) so each task has its own history.
|
|
66
|
-
- In `tasks.md` test logs, keep one entry per test command and update its
|
|
66
|
+
- In `tasks.md` test logs, keep one entry per test command and update its date/result on reruns (do not keep appending duplicates). Use `YYYY-MM-DD` in local date.
|
|
67
67
|
- If `context` shows `[CHECK required]`, for commits/push/merge, **share the commit message + included files and wait for explicit OK** before running the commands.
|
|
68
68
|
- Once all tasks are `[DONE]`, share the "Completion Criteria" checklist with the user and get **final approval (OK)**, then check it (especially the **Final user approval (OK) received** item).
|
|
69
69
|
- Note: `Doc Status (Review→Approved)` is **progress approval (OK)**, while the completion checklist approval is **final approval (OK)**.
|
|
@@ -13,6 +13,8 @@ features/
|
|
|
13
13
|
│ ├── spec.md
|
|
14
14
|
│ ├── plan.md
|
|
15
15
|
│ ├── tasks.md
|
|
16
|
+
│ ├── issue.md
|
|
17
|
+
│ ├── pr.md
|
|
16
18
|
│ └── decisions.md
|
|
17
19
|
├── (single) F00X-{name}/
|
|
18
20
|
└── (multi) {component}/F00X-{name}/
|
|
@@ -58,6 +60,18 @@ npx lee-spec-kit status --write
|
|
|
58
60
|
|
|
59
61
|
---
|
|
60
62
|
|
|
63
|
+
## Status Glossary
|
|
64
|
+
|
|
65
|
+
| Scope | Field | Values |
|
|
66
|
+
| --- | --- | --- |
|
|
67
|
+
| Document status | `Status` in `spec.md`/`plan.md`, `Doc Status` in `tasks.md` | `Draft` \| `Review` \| `Approved` |
|
|
68
|
+
| Issue doc status | `Status` in `issue.md` | `Draft` \| `Ready` |
|
|
69
|
+
| PR doc status | `Status` in `pr.md` | `Draft` \| `Ready` |
|
|
70
|
+
| PR review status | `PR Status` in `tasks.md`/`pr.md` | `Review` \| `Approved` |
|
|
71
|
+
| Pre-PR review status | `Pre-PR Review` in `tasks.md` | `Pending` \| `Done` |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
61
75
|
## File Roles
|
|
62
76
|
|
|
63
77
|
| File | Role | When to Write |
|
|
@@ -65,4 +79,6 @@ npx lee-spec-kit status --write
|
|
|
65
79
|
| `spec.md` | **What and Why** | Feature definition |
|
|
66
80
|
| `plan.md` | **How** (technical) | After spec approval |
|
|
67
81
|
| `tasks.md` | Specific work items | After plan approval |
|
|
82
|
+
| `issue.md` | Issue draft + issue state (`Draft/Ready`) | Before/when creating issue |
|
|
83
|
+
| `pr.md` | PR draft + PR state (`Draft/Ready`) | Before/when creating PR |
|
|
68
84
|
| `decisions.md` | Technical decisions + reasoning trace + evidence links (ADR) | During development (DOING start / before DONE / post-merge) |
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Issue Draft: {feature-name}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **Status**: Draft | Ready
|
|
6
|
+
- **Issue Number**: #{issue-number}
|
|
7
|
+
- **Title**: {feature-name}
|
|
8
|
+
- **Labels**: enhancement
|
|
9
|
+
- **Created**: {YYYY-MM-DD}
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
- Problem/Context:
|
|
14
|
+
- Expected Impact:
|
|
15
|
+
|
|
16
|
+
## Goals
|
|
17
|
+
|
|
18
|
+
- [ ] (goal 1)
|
|
19
|
+
- [ ] (goal 2)
|
|
20
|
+
|
|
21
|
+
## Completion Criteria
|
|
22
|
+
|
|
23
|
+
- [ ] (verifiable criterion 1)
|
|
24
|
+
- [ ] (verifiable criterion 2)
|
|
25
|
+
|
|
26
|
+
## Out of Scope
|
|
27
|
+
|
|
28
|
+
- (what this issue does not cover)
|
|
29
|
+
|
|
30
|
+
## Related Docs
|
|
31
|
+
|
|
32
|
+
- Spec: `./spec.md`
|
|
33
|
+
- Plan: `./plan.md`
|
|
34
|
+
- Tasks: `./tasks.md`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# PR Draft: {feature-name}
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- **Status**: Draft | Ready
|
|
6
|
+
- **PR**: -
|
|
7
|
+
- **PR Status**: -
|
|
8
|
+
- Values: Review | Approved
|
|
9
|
+
- **Base**: main
|
|
10
|
+
- **Created**: {YYYY-MM-DD}
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
- Change purpose:
|
|
15
|
+
- User impact:
|
|
16
|
+
|
|
17
|
+
## Changes
|
|
18
|
+
|
|
19
|
+
- [ ] (key change 1)
|
|
20
|
+
- [ ] (key change 2)
|
|
21
|
+
|
|
22
|
+
## Tests
|
|
23
|
+
|
|
24
|
+
- [ ] (test run 1)
|
|
25
|
+
- [ ] (test run 2)
|
|
26
|
+
|
|
27
|
+
## Screenshots / Diagrams
|
|
28
|
+
|
|
29
|
+
- (attach when needed)
|
|
30
|
+
|
|
31
|
+
## Related Docs
|
|
32
|
+
|
|
33
|
+
- Spec: `./spec.md`
|
|
34
|
+
- Tasks: `./tasks.md`
|
|
35
|
+
- Decisions: `./decisions.md`
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
## GitHub Issue
|
|
14
14
|
|
|
15
|
-
- **Doc Status**: Review | Approved
|
|
15
|
+
- **Doc Status**: Draft | Review | Approved
|
|
16
16
|
- **Repo**: {{projectName}}-{component}
|
|
17
17
|
- **Issue**: #{issue-number}
|
|
18
18
|
- **Branch**: `feat/{issue-number}-{feature-name}`
|
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
- Values: Review | Approved
|
|
23
23
|
- **Pre-PR Review**: Pending | Done
|
|
24
24
|
- Mark `Done` after pre-PR review is completed
|
|
25
|
+
- **Pre-PR Findings**: major=0, minor=0
|
|
26
|
+
- Update with final findings counts from pre-PR review
|
|
27
|
+
- **Pre-PR Evidence**: -
|
|
28
|
+
- Example: review note link, log path, or docs path
|
|
25
29
|
|
|
26
30
|
---
|
|
27
31
|
|
|
@@ -34,6 +38,7 @@
|
|
|
34
38
|
|
|
35
39
|
```markdown
|
|
36
40
|
- [TODO][P1] T-F{number}-01 {Task Title}
|
|
41
|
+
- Date: YYYY-MM-DD
|
|
37
42
|
- Acceptance:
|
|
38
43
|
- (verification condition)
|
|
39
44
|
- Checklist:
|
|
@@ -53,8 +58,8 @@
|
|
|
53
58
|
### Test Run Log (Latest by Command)
|
|
54
59
|
|
|
55
60
|
> Keep one row per command. If you rerun the same command, update that row instead of appending.
|
|
56
|
-
> Use `YYYY-MM-DD
|
|
61
|
+
> Use `YYYY-MM-DD` for `Last Run` (local date).
|
|
57
62
|
|
|
58
|
-
| Command | Last Run (Local, YYYY-MM-DD
|
|
63
|
+
| Command | Last Run (Local, YYYY-MM-DD) | Result |
|
|
59
64
|
| --- | --- | --- |
|
|
60
65
|
| `{test command you ran}` | `-` | `{PASS/FAIL summary}` |
|
|
@@ -71,8 +71,8 @@ B: <detail>
|
|
|
71
71
|
- 루트 가이드: `npx lee-spec-kit docs get agents --json`
|
|
72
72
|
- Git 워크플로우: `npx lee-spec-kit docs get git-workflow --json`
|
|
73
73
|
- 태스크 실행: `npx lee-spec-kit docs get execute-task --json`
|
|
74
|
-
- 이슈
|
|
75
|
-
- PR
|
|
74
|
+
- 이슈 절차/문서: `npx lee-spec-kit docs get create-issue --json` → `npx lee-spec-kit docs get issue-doc --json`
|
|
75
|
+
- PR 절차/문서: `npx lee-spec-kit docs get create-pr --json` → `npx lee-spec-kit docs get pr-doc --json`
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
@@ -80,6 +80,7 @@ B: <detail>
|
|
|
80
80
|
|
|
81
81
|
- docs 구조/경로 규칙: `docs/README.md`를 SSOT로 사용
|
|
82
82
|
- ADR 작성 형식: `docs/features/.../decisions.md` 템플릿을 SSOT로 사용
|
|
83
|
+
- 이슈/PR 실행 상태: 각 Feature의 `issue.md`, `pr.md`를 SSOT로 사용
|
|
83
84
|
|
|
84
85
|
---
|
|
85
86
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# GitHub Issue 생성 프로세스
|
|
2
2
|
|
|
3
3
|
GitHub Issue를 생성할 때 따르는 가이드입니다.
|
|
4
|
+
실행 상태 SSOT는 Feature 폴더의 `issue.md`입니다.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -13,22 +14,22 @@ GitHub Issue를 생성할 때 따르는 가이드입니다.
|
|
|
13
14
|
|
|
14
15
|
## 단계
|
|
15
16
|
|
|
16
|
-
### 1.
|
|
17
|
+
### 1. `issue.md` 초안 준비
|
|
17
18
|
|
|
18
19
|
> 📖 **이번 세션에 아직 읽지 않았다면 `docs get`으로 절차/템플릿을 읽고, 이미 읽은 동일 문서는 재호출하지 않은 채 초안을 생성해 기준으로 사용하세요.**
|
|
19
20
|
|
|
20
21
|
```bash
|
|
21
22
|
# 1) 절차/템플릿 정책 확인 (이번 세션 미확인 문서만)
|
|
22
23
|
npx lee-spec-kit docs get create-issue --json
|
|
23
|
-
npx lee-spec-kit docs get issue-
|
|
24
|
+
npx lee-spec-kit docs get issue-doc --json
|
|
24
25
|
|
|
25
26
|
# 2) 초안 본문 생성 (원격 작업 아님)
|
|
26
27
|
npx lee-spec-kit github issue F001 --json
|
|
27
28
|
```
|
|
28
29
|
|
|
29
|
-
`docs get issue-
|
|
30
|
-
`github issue --json`의 `body`를
|
|
31
|
-
|
|
30
|
+
`docs get issue-doc --json` 출력은 문서 구조 정책으로 보고,
|
|
31
|
+
`github issue --json`의 `body`를 참고해 `issue.md` 초안을 보완하세요.
|
|
32
|
+
실제 진행 상태는 `issue.md`의 `상태(Draft | Ready)`를 사용합니다.
|
|
32
33
|
|
|
33
34
|
| 항목 | 형식 |
|
|
34
35
|
| ------ | ---------------------------------------- |
|
|
@@ -37,19 +38,19 @@ npx lee-spec-kit github issue F001 --json
|
|
|
37
38
|
| 라벨 | `enhancement`, `bug`, `documentation` 등 |
|
|
38
39
|
| 담당자 | `@me` (기본값) |
|
|
39
40
|
|
|
40
|
-
### 2. 사용자 확인 요청
|
|
41
|
+
### 2. 사용자 확인 요청 + `Ready` 전환
|
|
41
42
|
|
|
42
43
|
> 🚨 **사용자 확인 필수**
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
`issue.md` 초안 기준으로 다음 내용을 공유하고 명시적 승인(OK) 대기:
|
|
45
46
|
|
|
46
47
|
- 제목
|
|
47
|
-
- 본문 전체 초안 (`
|
|
48
|
+
- 본문 전체 초안 (`issue.md` 기준)
|
|
48
49
|
- 라벨
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
승인 후 `issue.md` 상태를 `Ready`로 변경하세요.
|
|
51
52
|
|
|
52
|
-
### 3. 이슈 생성
|
|
53
|
+
### 3. 이슈 생성 (`issue.md`가 `Ready`일 때)
|
|
53
54
|
|
|
54
55
|
```bash
|
|
55
56
|
gh issue create \
|
|
@@ -62,9 +63,15 @@ gh issue create \
|
|
|
62
63
|
npx lee-spec-kit github issue F001 --create --confirm OK --labels enhancement
|
|
63
64
|
```
|
|
64
65
|
|
|
66
|
+
생성 후:
|
|
67
|
+
- 생성된 이슈 번호를 `issue.md`에 기록
|
|
68
|
+
- `spec.md`, `tasks.md`의 이슈 번호도 동기화
|
|
69
|
+
- `issue.md` 상태는 `Ready`로 유지 (`Issue Number`/링크 필드로 생성 상태를 관리)
|
|
70
|
+
|
|
65
71
|
---
|
|
66
72
|
|
|
67
73
|
## 참조 문서
|
|
68
74
|
|
|
69
75
|
- **초안 생성기**: `npx lee-spec-kit github issue <feature-name>`
|
|
70
76
|
- **승인 규칙**: 제목/본문/라벨 공유 후 `--create --confirm OK` 실행
|
|
77
|
+
- **실행 상태 SSOT**: `docs/features/.../<feature>/issue.md`
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Pull Request 생성 프로세스
|
|
2
2
|
|
|
3
3
|
Pull Request를 생성할 때 따르는 가이드입니다.
|
|
4
|
+
실행 상태 SSOT는 Feature 폴더의 `pr.md`입니다.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -15,14 +16,14 @@ Pull Request를 생성할 때 따르는 가이드입니다.
|
|
|
15
16
|
|
|
16
17
|
## 단계
|
|
17
18
|
|
|
18
|
-
### 1.
|
|
19
|
+
### 1. `pr.md` 본문 초안 준비
|
|
19
20
|
|
|
20
21
|
> 📖 **이번 세션에 아직 읽지 않았다면 `docs get`으로 절차/템플릿을 읽고, 이미 읽은 동일 문서는 재호출하지 않은 채 본문 템플릿을 생성해 기준으로 사용하세요.**
|
|
21
22
|
|
|
22
23
|
```bash
|
|
23
24
|
# 1) 절차/템플릿 정책 확인 (이번 세션 미확인 문서만)
|
|
24
25
|
npx lee-spec-kit docs get create-pr --json
|
|
25
|
-
npx lee-spec-kit docs get pr-
|
|
26
|
+
npx lee-spec-kit docs get pr-doc --json
|
|
26
27
|
|
|
27
28
|
# 2) 본문 템플릿 생성 (원격 작업 아님)
|
|
28
29
|
npx lee-spec-kit github pr F001 --json
|
|
@@ -31,9 +32,9 @@ npx lee-spec-kit github pr F001 --json
|
|
|
31
32
|
# - 자동 정책(기본): --screenshots auto --mermaid auto
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
`docs get pr-
|
|
35
|
-
`github pr --json`의 `body`를
|
|
36
|
-
|
|
35
|
+
`docs get pr-doc --json` 출력은 문서 구조 정책으로 보고,
|
|
36
|
+
`github pr --json`의 `body`를 참고해 `pr.md` 초안을 보완하세요.
|
|
37
|
+
실제 진행 상태는 `pr.md`의 `상태(Draft | Ready)`를 사용합니다.
|
|
37
38
|
|
|
38
39
|
| 항목 | 형식 |
|
|
39
40
|
| ------ | ---------------------------------- |
|
|
@@ -124,19 +125,20 @@ echo \"\"
|
|
|
124
125
|
|
|
125
126
|
- PR 본문에 Mermaid **`sequenceDiagram`**을 작성하고, 생성된 본문 템플릿 형식과 일치하게 유지합니다.
|
|
126
127
|
|
|
127
|
-
### 4. 사용자 확인 요청
|
|
128
|
+
### 4. 사용자 확인 요청 + `Ready` 전환
|
|
128
129
|
|
|
129
130
|
> 🚨 **사용자 확인 필수**
|
|
130
131
|
|
|
131
132
|
PR 생성 전 다음 내용을 **코드블록으로** 사용자에게 공유하고 **명시적 승인(OK)** 대기:
|
|
132
133
|
|
|
133
134
|
- 제목
|
|
134
|
-
- 본문 전체 템플릿 (`
|
|
135
|
+
- 본문 전체 템플릿 (`pr.md` 기준)
|
|
135
136
|
- 라벨(최소 1개, 비워둘 수 없음)
|
|
136
137
|
|
|
137
|
-
승인/생성 전에
|
|
138
|
+
승인/생성 전에 `pr.md`의 변경 사항/테스트 섹션을 실제 작업 기준으로 보완하세요.
|
|
139
|
+
승인 후 `pr.md` 상태를 `Ready`로 변경하세요.
|
|
138
140
|
|
|
139
|
-
### 5. PR 생성
|
|
141
|
+
### 5. PR 생성 (`pr.md`가 `Ready`일 때)
|
|
140
142
|
|
|
141
143
|
```bash
|
|
142
144
|
gh pr create \
|
|
@@ -150,6 +152,11 @@ gh pr create \
|
|
|
150
152
|
npx lee-spec-kit github pr F001 --create --confirm OK --labels enhancement
|
|
151
153
|
```
|
|
152
154
|
|
|
155
|
+
생성 후:
|
|
156
|
+
- 생성된 PR 링크를 `pr.md`와 `tasks.md`에 기록
|
|
157
|
+
- PR 상태를 `Review`로 기록/유지
|
|
158
|
+
- `pr.md` 상태는 `Ready`로 유지 (생성/머지 상태는 PR 링크 + `PR 상태`로 관리)
|
|
159
|
+
|
|
153
160
|
---
|
|
154
161
|
|
|
155
162
|
## 주의사항
|
|
@@ -191,3 +198,4 @@ PR 본문의 파일 링크는 **현재 브랜치명**을 사용:
|
|
|
191
198
|
|
|
192
199
|
- **본문 템플릿 생성기**: `npx lee-spec-kit github pr <feature-name>`
|
|
193
200
|
- **승인 규칙**: 제목/본문/라벨 공유 후 `--create --confirm OK` 실행
|
|
201
|
+
- **실행 상태 SSOT**: `docs/features/.../<feature>/pr.md`
|
|
@@ -60,7 +60,7 @@ CLI가 가리키는 **Active Task** 또는 **`👉 Next Options (Atomic)`의 단
|
|
|
60
60
|
|
|
61
61
|
1. 작업이 끝나면 결과/검증을 사용자에게 공유해 승인(OK)을 받은 뒤, 해당 태스크의 상태를 `[DONE]`으로 변경하고 `Acceptance/Checklist` 항목을 `[x]`로 체크합니다.
|
|
62
62
|
2. **한 번에 하나의 태스크만** `[DONE]` 처리합니다. (태스크 2개 이상을 한 번에 완료/커밋으로 묶지 않기)
|
|
63
|
-
3. `tasks.md`의 테스트 실행 기록은 명령어별 1개 행만 유지하고, 같은 명령어 재실행 시
|
|
63
|
+
3. `tasks.md`의 테스트 실행 기록은 명령어별 1개 행만 유지하고, 같은 명령어 재실행 시 날짜/결과를 갱신합니다. (중복 누적 금지, 날짜 형식: 로컬 `YYYY-MM-DD`)
|
|
64
64
|
4. 커밋을 생성합니다 (코드 커밋 + 문서 커밋). 태스크 단위로 커밋이 남아야 합니다.
|
|
65
65
|
- `context`에 `[확인 필요]`가 보이면, **커밋/푸시 같은 원격 작업은 사용자에게 커밋 메시지/포함 파일을 공유하고 OK를 받은 뒤** 실행합니다.
|
|
66
66
|
5. 모든 태스크가 `[DONE]`가 되면, "완료 조건" 체크리스트를 사용자에게 공유하고 **최종 승인(OK)** 을 받은 뒤 체크합니다. (특히 **최종 사용자 승인(OK) 완료** 항목)
|
|
@@ -13,6 +13,8 @@ features/
|
|
|
13
13
|
│ ├── spec.md
|
|
14
14
|
│ ├── plan.md
|
|
15
15
|
│ ├── tasks.md
|
|
16
|
+
│ ├── issue.md
|
|
17
|
+
│ ├── pr.md
|
|
16
18
|
│ └── decisions.md
|
|
17
19
|
├── (single) F00X-{name}/
|
|
18
20
|
└── (multi) {component}/F00X-{name}/
|
|
@@ -58,6 +60,18 @@ npx lee-spec-kit status --write
|
|
|
58
60
|
|
|
59
61
|
---
|
|
60
62
|
|
|
63
|
+
## 상태 용어 정리
|
|
64
|
+
|
|
65
|
+
| 구분 | 필드 | 값 |
|
|
66
|
+
| --- | --- | --- |
|
|
67
|
+
| 문서 상태 | `spec.md`/`plan.md`의 `상태`, `tasks.md`의 `문서 상태` | `Draft` \| `Review` \| `Approved` |
|
|
68
|
+
| 이슈 문서 상태 | `issue.md`의 `상태` | `Draft` \| `Ready` |
|
|
69
|
+
| PR 문서 상태 | `pr.md`의 `상태` | `Draft` \| `Ready` |
|
|
70
|
+
| PR 리뷰 상태 | `tasks.md`/`pr.md`의 `PR 상태` | `Review` \| `Approved` |
|
|
71
|
+
| Pre-PR 리뷰 상태 | `tasks.md`의 `PR 전 리뷰` | `Pending` \| `Done` |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
61
75
|
## 각 파일 역할
|
|
62
76
|
|
|
63
77
|
| 파일 | 역할 | 작성 시점 |
|
|
@@ -65,4 +79,6 @@ npx lee-spec-kit status --write
|
|
|
65
79
|
| `spec.md` | **무엇을, 왜** 만드는지 | 기능 정의 시 |
|
|
66
80
|
| `plan.md` | **어떻게** 만드는지 (기술) | 스펙 승인 후 |
|
|
67
81
|
| `tasks.md` | 구체적인 작업 목록 | 계획 승인 후 |
|
|
82
|
+
| `issue.md` | 이슈 초안 + 이슈 상태(`Draft/Ready`) | 이슈 생성 전/생성 시 |
|
|
83
|
+
| `pr.md` | PR 초안 + PR 상태(`Draft/Ready`) | PR 생성 전/생성 시 |
|
|
68
84
|
| `decisions.md` | 기술 결정 + 판단 근거(Trace) + 증거 링크(ADR) | 개발 중 수시로 (DOING 시작 / DONE 직전 / 머지 후) |
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Issue Draft: {기능명}
|
|
2
|
+
|
|
3
|
+
## 메타데이터
|
|
4
|
+
|
|
5
|
+
- **상태**: Draft | Ready
|
|
6
|
+
- **이슈 번호**: #{이슈번호}
|
|
7
|
+
- **제목**: {기능명}
|
|
8
|
+
- **라벨**: enhancement
|
|
9
|
+
- **작성일**: {YYYY-MM-DD}
|
|
10
|
+
|
|
11
|
+
## 개요
|
|
12
|
+
|
|
13
|
+
- 문제/배경:
|
|
14
|
+
- 기대 효과:
|
|
15
|
+
|
|
16
|
+
## 목표
|
|
17
|
+
|
|
18
|
+
- [ ] (목표 1)
|
|
19
|
+
- [ ] (목표 2)
|
|
20
|
+
|
|
21
|
+
## 완료 기준
|
|
22
|
+
|
|
23
|
+
- [ ] (검증 가능한 완료 기준 1)
|
|
24
|
+
- [ ] (검증 가능한 완료 기준 2)
|
|
25
|
+
|
|
26
|
+
## 제외 범위
|
|
27
|
+
|
|
28
|
+
- (이번 이슈에서 다루지 않는 내용)
|
|
29
|
+
|
|
30
|
+
## 관련 문서
|
|
31
|
+
|
|
32
|
+
- Spec: `./spec.md`
|
|
33
|
+
- Plan: `./plan.md`
|
|
34
|
+
- Tasks: `./tasks.md`
|