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.
Files changed (28) hide show
  1. package/README.en.md +9 -6
  2. package/README.md +8 -5
  3. package/dist/index.js +705 -47
  4. package/package.json +1 -1
  5. package/templates/en/common/agents/agents.md +3 -2
  6. package/templates/en/common/agents/issue-template.md +1 -0
  7. package/templates/en/common/agents/pr-template.md +1 -0
  8. package/templates/en/common/agents/skills/create-issue.md +17 -10
  9. package/templates/en/common/agents/skills/create-pr.md +17 -9
  10. package/templates/en/common/agents/skills/execute-task.md +1 -1
  11. package/templates/en/common/features/README.md +16 -0
  12. package/templates/en/common/features/feature-base/issue.md +34 -0
  13. package/templates/en/common/features/feature-base/plan.md +1 -1
  14. package/templates/en/common/features/feature-base/pr.md +35 -0
  15. package/templates/en/common/features/feature-base/spec.md +1 -1
  16. package/templates/en/common/features/feature-base/tasks.md +8 -3
  17. package/templates/ko/common/agents/agents.md +3 -2
  18. package/templates/ko/common/agents/issue-template.md +1 -0
  19. package/templates/ko/common/agents/pr-template.md +1 -0
  20. package/templates/ko/common/agents/skills/create-issue.md +17 -10
  21. package/templates/ko/common/agents/skills/create-pr.md +17 -9
  22. package/templates/ko/common/agents/skills/execute-task.md +1 -1
  23. package/templates/ko/common/features/README.md +16 -0
  24. package/templates/ko/common/features/feature-base/issue.md +34 -0
  25. package/templates/ko/common/features/feature-base/plan.md +1 -1
  26. package/templates/ko/common/features/feature-base/pr.md +35 -0
  27. package/templates/ko/common/features/feature-base/spec.md +1 -1
  28. package/templates/ko/common/features/feature-base/tasks.md +8 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lee-spec-kit",
3
- "version": "0.6.13",
3
+ "version": "0.6.14",
4
4
  "description": "Project documentation structure generator for AI-assisted development",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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/template: `npx lee-spec-kit docs get create-issue --json` → `npx lee-spec-kit docs get issue-template --json`
75
- - PR procedure/template: `npx lee-spec-kit docs get create-pr --json` → `npx lee-spec-kit docs get pr-template --json`
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 Template Guide
2
2
 
3
3
  A template for AI agents to create GitHub Issues.
4
+ This document is a section policy/style guide. Use feature-local `issue.md` as the SSOT for actual workflow state.
4
5
 
5
6
  ---
6
7
 
@@ -1,6 +1,7 @@
1
1
  # GitHub PR Template Guide
2
2
 
3
3
  A template for AI agents to create Pull Requests.
4
+ This document is a section policy/style guide. Use feature-local `pr.md` as the SSOT for actual workflow state.
4
5
 
5
6
  ---
6
7
 
@@ -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 Issue Draft
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-template --json
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-template --json` output as the section policy,
30
- and `github issue --json` output `body` as the first draft to review/share.
31
- If needed, use `bodyFile` as the filesystem source.
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
- Before creating issue, share and wait for explicit approval (OK):
45
+ Share the `issue.md` draft and wait for explicit approval (OK):
45
46
 
46
47
  - Title
47
- - Full body draft (from `body`)
48
+ - Full body draft (from `issue.md`)
48
49
  - Labels
49
50
 
50
- Also refine Goals/Completion Criteria based on spec before creating.
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 PR Body Template
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-template --json
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-template --json` output as the section policy,
35
- and `github pr --json` output `body` as the first PR body template.
36
- If needed, use `bodyFile` as the filesystem source.
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 \"![](https://github.com/${REPO}/releases/download/${TAG}/ui-1.png)\"
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 `body`)
135
+ - Full body template (from `pr.md`)
135
136
  - Labels (at least 1; cannot be empty)
136
137
 
137
- Before approval/create, refine the generated body template's Changes/Tests sections based on actual work.
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 timestamp/result on reruns (do not keep appending duplicates). Use `YYYY-MM-DD HH-MM` in local time.
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`
@@ -9,7 +9,7 @@
9
9
  - **Feature ID**: F{number}
10
10
  - **Target Repo**: {{projectName}}-{component}
11
11
  - **Created**: {YYYY-MM-DD}
12
- - **Status**: Review | Approved
12
+ - **Status**: Draft | Review | Approved
13
13
 
14
14
  ---
15
15
 
@@ -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`
@@ -11,7 +11,7 @@
11
11
  - **Target Repo**: {{projectName}}-{component}
12
12
  - **Issue Number**: #{issue-number}
13
13
  - **Created**: {YYYY-MM-DD}
14
- - **Status**: Review | Approved
14
+ - **Status**: Draft | Review | Approved
15
15
 
16
16
  ---
17
17
 
@@ -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 HH-MM` for `Last Run` (local time).
61
+ > Use `YYYY-MM-DD` for `Last Run` (local date).
57
62
 
58
- | Command | Last Run (Local, YYYY-MM-DD HH-MM) | Result |
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
- - 이슈 절차/템플릿: `npx lee-spec-kit docs get create-issue --json` → `npx lee-spec-kit docs get issue-template --json`
75
- - PR 절차/템플릿: `npx lee-spec-kit docs get create-pr --json` → `npx lee-spec-kit docs get pr-template --json`
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
+ 이 문서는 섹션 정책/스타일 가이드이며, 실제 진행 상태 관리는 Feature 폴더의 `issue.md`를 SSOT로 사용합니다.
4
5
 
5
6
  ---
6
7
 
@@ -1,6 +1,7 @@
1
1
  # GitHub PR 템플릿 가이드
2
2
 
3
3
  에이전트가 Pull Request를 생성할 때 참조하는 템플릿입니다.
4
+ 이 문서는 섹션 정책/스타일 가이드이며, 실제 진행 상태 관리는 Feature 폴더의 `pr.md`를 SSOT로 사용합니다.
4
5
 
5
6
  ---
6
7
 
@@ -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-template --json
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-template --json` 출력은 섹션 정책으로 보고,
30
- `github issue --json`의 `body`를 우선 본문 초안으로 사용하세요.
31
- 필요하면 `bodyFile` 경로 파일을 함께 참고하세요.
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
- 이슈 생성 다음 내용을 공유하고 명시적 승인(OK) 대기:
45
+ `issue.md` 초안 기준으로 다음 내용을 공유하고 명시적 승인(OK) 대기:
45
46
 
46
47
  - 제목
47
- - 본문 전체 초안 (`body` 기준)
48
+ - 본문 전체 초안 (`issue.md` 기준)
48
49
  - 라벨
49
50
 
50
- 생성 목표/완료 기준을 spec 기준으로 구체화하고 검토하세요.
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. PR 본문 템플릿 준비
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-template --json
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-template --json` 출력은 섹션 정책으로 보고,
35
- `github pr --json`의 `body`를 우선 PR 본문 템플릿으로 사용하세요.
36
- 필요하면 `bodyFile` 경로 파일을 함께 참고하세요.
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 \"![](https://github.com/${REPO}/releases/download/${TAG}/ui-1.png)\"
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
- - 본문 전체 템플릿 (`body` 기준)
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개 행만 유지하고, 같은 명령어 재실행 시 시간/결과를 갱신합니다. (중복 누적 금지, 시간 형식: 로컬 `YYYY-MM-DD HH-MM`)
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`
@@ -9,7 +9,7 @@
9
9
  - **기능 ID**: F{번호}
10
10
  - **대상 레포**: {{projectName}}-{component}
11
11
  - **작성일**: {YYYY-MM-DD}
12
- - **상태**: Review | Approved
12
+ - **상태**: Draft | Review | Approved
13
13
 
14
14
  ---
15
15