lee-spec-kit 0.6.12 → 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 +709 -51
- package/package.json +1 -1
- package/templates/en/common/agents/agents.md +5 -3
- 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-feature.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 +23 -11
- package/templates/en/common/features/README.md +17 -1
- package/templates/en/common/features/feature-base/decisions.md +18 -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 +5 -3
- 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-feature.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 +14 -2
- package/templates/ko/common/features/README.md +17 -1
- package/templates/ko/common/features/feature-base/decisions.md +18 -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
|
@@ -23,7 +23,7 @@ This document covers **policy only**.
|
|
|
23
23
|
Approval flow:
|
|
24
24
|
1. Share details first
|
|
25
25
|
2. Wait for explicit approval (OK)
|
|
26
|
-
3. Execute after approval
|
|
26
|
+
3. Execute after approval (for command execution, default to `npx lee-spec-kit flow <featureRef> --approve <LABEL> --execute`)
|
|
27
27
|
|
|
28
28
|
Prohibited:
|
|
29
29
|
- Proceeding without user response
|
|
@@ -38,6 +38,7 @@ Prohibited:
|
|
|
38
38
|
- Even when the user asks something else, append the same label block at the end if executable labels exist.
|
|
39
39
|
- If no executable labels exist, print `Available labels: none` and guide re-check with `npx lee-spec-kit context`.
|
|
40
40
|
- If user input does not contain a valid label, do not execute; request label selection again.
|
|
41
|
+
- For approved command options, prefer one-shot `flow --approve <LABEL> --execute`; do not split `context --approve` and `context --execute --ticket` across turns/sessions.
|
|
41
42
|
|
|
42
43
|
Output format:
|
|
43
44
|
|
|
@@ -70,8 +71,8 @@ Reply format: "<LABEL>" or "<LABEL> OK"
|
|
|
70
71
|
- Root guide: `npx lee-spec-kit docs get agents --json`
|
|
71
72
|
- Git workflow: `npx lee-spec-kit docs get git-workflow --json`
|
|
72
73
|
- Task execution: `npx lee-spec-kit docs get execute-task --json`
|
|
73
|
-
- Issue procedure/
|
|
74
|
-
- 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`
|
|
75
76
|
|
|
76
77
|
---
|
|
77
78
|
|
|
@@ -79,6 +80,7 @@ Reply format: "<LABEL>" or "<LABEL> OK"
|
|
|
79
80
|
|
|
80
81
|
- Docs structure/path rules: use `docs/README.md` as SSOT
|
|
81
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
|
|
82
84
|
|
|
83
85
|
---
|
|
84
86
|
|
|
@@ -26,6 +26,7 @@ For gated actions, proceed only after the user replies in **`<label>` or `<label
|
|
|
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
28
|
- When requesting approval, present labels as `A: ...` using the exact CLI detail/cmd text. Do not paraphrase command options.
|
|
29
|
+
- For approved command options, default to one-shot execution via `npx lee-spec-kit flow <slug|F001|F001-slug> --approve <LABEL> --execute` to avoid session mismatch.
|
|
29
30
|
|
|
30
31
|
### Step 3: Repeat
|
|
31
32
|
|
|
@@ -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`
|
|
@@ -23,6 +23,7 @@ Execute exactly one option from `👉 Next Options (Atomic)` as printed by the C
|
|
|
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
25
|
- Follow user-facing response format (including the final status/label block in every reply) from `agents.md` **"Label Response Contract (SSOT)"**.
|
|
26
|
+
- For approved command options, default to `npx lee-spec-kit flow <slug|F001|F001-slug> --approve <LABEL> --execute` and avoid split `context --approve` / `context --execute --ticket` runs across turns.
|
|
26
27
|
|
|
27
28
|
### Step 3: Update tasks.md (only what you did)
|
|
28
29
|
|
|
@@ -31,16 +32,7 @@ Keep `tasks.md` aligned with reality.
|
|
|
31
32
|
- Do not mark `[DONE]` without actually completing the work and verifying criteria.
|
|
32
33
|
- If you need to change a completed task, add a new task instead of rewriting history.
|
|
33
34
|
|
|
34
|
-
### Step 3.25:
|
|
35
|
-
|
|
36
|
-
- Complete **only one task at a time** (do not batch-finish multiple tasks in one commit).
|
|
37
|
-
- 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.
|
|
38
|
-
- 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.
|
|
39
|
-
- If `context` shows `[CHECK required]`, for commits/push/merge, **share the commit message + included files and wait for explicit OK** before running the commands.
|
|
40
|
-
- 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).
|
|
41
|
-
- Note: `Doc Status (Review→Approved)` is **progress approval (OK)**, while the completion checklist approval is **final approval (OK)**.
|
|
42
|
-
|
|
43
|
-
### Step 3.5: Record decisions (strongly recommended, effectively required)
|
|
35
|
+
### Step 3.25: Record decisions (strongly recommended, effectively required)
|
|
44
36
|
|
|
45
37
|
To avoid “why did we implement it like this?” losing context, **record any non-obvious or tradeoff-heavy implementation choice** in `decisions.md`.
|
|
46
38
|
|
|
@@ -54,7 +46,27 @@ Record a decision if any of these apply:
|
|
|
54
46
|
- You changed data shape, file structure, or CLI output rules
|
|
55
47
|
- You expect future readers to ask “why this way?”
|
|
56
48
|
|
|
57
|
-
|
|
49
|
+
Timing rules:
|
|
50
|
+
|
|
51
|
+
- When moving a task to `[DOING]`, first add 1-3 lines for `Context/Constraints` and `Trace (initial hypothesis)`.
|
|
52
|
+
- Before moving a task to `[DONE]`, finalize `Options/Decision/Rationale` and strengthen `Trace (final reasoning)`.
|
|
53
|
+
- After PR merge, append 1-2 lines in `Trace (post-merge check)` with actual outcome/impact.
|
|
54
|
+
|
|
55
|
+
Evidence rules:
|
|
56
|
+
|
|
57
|
+
- Every ADR must include at least one Evidence link (commit, PR, or test/log evidence).
|
|
58
|
+
- Prefer filling all three (`Commit`, `PR`, `Test/Log`); if not applicable, mark as `N/A`.
|
|
59
|
+
|
|
60
|
+
Use the feature’s `decisions.md` template format as final SSOT. (Context/Constraints/Options/Decision/Rationale/Trace/Evidence/Consequences)
|
|
61
|
+
|
|
62
|
+
### Step 3.5: Commit per task (important)
|
|
63
|
+
|
|
64
|
+
- Complete **only one task at a time** (do not batch-finish multiple tasks in one commit).
|
|
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 date/result on reruns (do not keep appending duplicates). Use `YYYY-MM-DD` in local date.
|
|
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
|
+
- 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
|
+
- Note: `Doc Status (Review→Approved)` is **progress approval (OK)**, while the completion checklist approval is **final approval (OK)**.
|
|
58
70
|
|
|
59
71
|
### Step 4: Repeat
|
|
60
72
|
|
|
@@ -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 |
|
|
68
|
-
| `
|
|
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 |
|
|
84
|
+
| `decisions.md` | Technical decisions + reasoning trace + evidence links (ADR) | During development (DOING start / before DONE / post-merge) |
|
|
@@ -7,12 +7,30 @@ Record technical decisions and their rationale.
|
|
|
7
7
|
|
|
8
8
|
> Format: `D{number}: {Decision Title} ({YYYY-MM-DD})`
|
|
9
9
|
|
|
10
|
+
Recording principles:
|
|
11
|
+
|
|
12
|
+
- Every ADR must capture both **Decision (what was chosen)** and **Trace (how it was evaluated and validated)**.
|
|
13
|
+
- Use fixed timing checkpoints:
|
|
14
|
+
- Task start (`[TODO] -> [DOING]`): add 1-3 lines for `Context/Constraints` and `Trace (initial hypothesis)`
|
|
15
|
+
- Right before task done (`[DOING] -> [DONE]`): finalize `Options/Decision/Rationale` and enrich `Trace`
|
|
16
|
+
- After PR merge: append 1-2 lines in `Trace (post-merge check)` with actual outcome/impact
|
|
17
|
+
- Every ADR must include at least one **Evidence link** (commit, PR, or test/log evidence).
|
|
18
|
+
|
|
10
19
|
---
|
|
11
20
|
|
|
12
21
|
## D001: {Decision Title} ({YYYY-MM-DD})
|
|
13
22
|
|
|
14
23
|
- **Context**: Problem situation or background
|
|
24
|
+
- **Constraints**: Constraints (time/technical/operations/compatibility)
|
|
15
25
|
- **Options**: Alternatives considered
|
|
16
26
|
- **Decision**: Final choice
|
|
17
27
|
- **Rationale**: Reason for choice
|
|
28
|
+
- **Trace**:
|
|
29
|
+
- **At DOING start**: Initial reasoning/hypothesis
|
|
30
|
+
- **Before DONE**: Finalized reasoning behind the selected option
|
|
31
|
+
- **Post-merge check**: Actual outcome/impact observed
|
|
32
|
+
- **Evidence**:
|
|
33
|
+
- **Commit**: Commit hash or link
|
|
34
|
+
- **PR**: PR link
|
|
35
|
+
- **Test/Log**: Test output/log/screenshot path
|
|
18
36
|
- **Consequences**: Results and impact (optional)
|
|
@@ -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}` |
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
확인 절차:
|
|
24
24
|
1. 작업 내용을 먼저 공유
|
|
25
25
|
2. 명시적 승인(OK) 대기
|
|
26
|
-
3. 승인 후 실행
|
|
26
|
+
3. 승인 후 실행 (명령 실행은 기본적으로 `npx lee-spec-kit flow <featureRef> --approve <LABEL> --execute`를 사용)
|
|
27
27
|
|
|
28
28
|
금지:
|
|
29
29
|
- 사용자 응답 없이 임의 진행
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
- 사용자가 다른 질문을 하더라도, 실행 가능한 라벨이 있으면 응답 마지막에 동일 블록을 다시 표시합니다.
|
|
39
39
|
- 실행 가능한 라벨이 없으면 `선택 가능: 없음` + `npx lee-spec-kit context` 재확인을 안내합니다.
|
|
40
40
|
- 사용자 입력에 유효 라벨이 없으면 실행하지 말고 라벨 선택을 다시 요청합니다.
|
|
41
|
+
- 승인된 command 옵션 실행은 `flow --approve <LABEL> --execute` 1회 호출을 기본으로 하며, `context --approve`와 `context --execute --ticket`를 턴/세션 사이로 분리하지 않습니다.
|
|
41
42
|
|
|
42
43
|
출력 형식:
|
|
43
44
|
|
|
@@ -70,8 +71,8 @@ B: <detail>
|
|
|
70
71
|
- 루트 가이드: `npx lee-spec-kit docs get agents --json`
|
|
71
72
|
- Git 워크플로우: `npx lee-spec-kit docs get git-workflow --json`
|
|
72
73
|
- 태스크 실행: `npx lee-spec-kit docs get execute-task --json`
|
|
73
|
-
- 이슈
|
|
74
|
-
- 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`
|
|
75
76
|
|
|
76
77
|
---
|
|
77
78
|
|
|
@@ -79,6 +80,7 @@ B: <detail>
|
|
|
79
80
|
|
|
80
81
|
- docs 구조/경로 규칙: `docs/README.md`를 SSOT로 사용
|
|
81
82
|
- ADR 작성 형식: `docs/features/.../decisions.md` 템플릿을 SSOT로 사용
|
|
83
|
+
- 이슈/PR 실행 상태: 각 Feature의 `issue.md`, `pr.md`를 SSOT로 사용
|
|
82
84
|
|
|
83
85
|
---
|
|
84
86
|
|
|
@@ -27,6 +27,7 @@ CLI가 출력하는 **`👉 Next Options (Atomic)` 목록에서 단 하나의
|
|
|
27
27
|
- CLI가 이슈 생성을 지시하면 이슈를 생성합니다.
|
|
28
28
|
- CLI가 명령어를 출력하면 **그대로 복사해 실행**합니다. (standalone 환경에서도 레포 경로가 포함될 수 있습니다)
|
|
29
29
|
- 승인 요청 시 라벨 옵션은 `A: ...` 형식으로 **CLI가 출력한 원문(detail/cmd) 그대로** 공유합니다. 요약/의역하지 않습니다.
|
|
30
|
+
- 승인된 command 옵션을 실행할 때는 세션 불일치 방지를 위해 `npx lee-spec-kit flow <slug|F001|F001-slug> --approve <LABEL> --execute`를 기본으로 사용합니다.
|
|
30
31
|
|
|
31
32
|
### 3단계: 반복
|
|
32
33
|
|
|
@@ -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`
|