lee-spec-kit 0.7.3 โ 0.7.5
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 +53 -707
- package/README.md +56 -883
- package/dist/index.js +709 -390
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/en/common/README.md +11 -1
- package/templates/en/common/agents/agents.md +5 -4
- package/templates/en/common/agents/skills/create-pr.md +1 -1
- package/templates/en/common/agents/skills/execute-task.md +4 -4
- package/templates/en/common/features/README.md +4 -1
- package/templates/en/common/ideas/README.md +2 -0
- package/templates/en/common/prd/README.md +11 -0
- package/templates/ko/common/README.md +11 -1
- package/templates/ko/common/agents/agents.md +5 -4
- package/templates/ko/common/agents/skills/create-pr.md +1 -1
- package/templates/ko/common/agents/skills/execute-task.md +4 -4
- package/templates/ko/common/features/README.md +4 -1
- package/templates/ko/common/ideas/README.md +2 -0
- package/templates/ko/common/prd/README.md +11 -0
package/package.json
CHANGED
|
@@ -22,7 +22,8 @@ npx lee-spec-kit context --json-compact
|
|
|
22
22
|
## New Project Start Order
|
|
23
23
|
|
|
24
24
|
- Scaffold the code project first (for example Next.js/NestJS), then run `lee-spec-kit init`.
|
|
25
|
-
- After that,
|
|
25
|
+
- After that, write top-level requirements in `docs/prd/`, then continue with `idea` and `feature`.
|
|
26
|
+
- Verify detection with `detect --json`, then continue with `context`.
|
|
26
27
|
- In most cases (default: embedded), the steps above are all you need.
|
|
27
28
|
- Choose standalone only when docs are managed separately from the code repo. In that case, prefer running init from a parent workspace folder (for example `workspace/docs`, `workspace/project`) and set both docs/project paths together. (e.g. `npx lee-spec-kit init --docs-repo standalone --dir ./docs --project-root ./project`)
|
|
28
29
|
|
|
@@ -42,14 +43,23 @@ npx lee-spec-kit context --json-compact
|
|
|
42
43
|
|
|
43
44
|
To avoid ambiguity, treat the following as the single source of truth (SSOT).
|
|
44
45
|
|
|
46
|
+
Recommended flow:
|
|
47
|
+
|
|
48
|
+
1. `docs/prd/`: define the top-level requirements
|
|
49
|
+
2. `docs/ideas/`: capture candidate work derived from PRD
|
|
50
|
+
3. `docs/features/`: move approved work into executable feature units
|
|
51
|
+
|
|
45
52
|
- **PRD (`docs/prd/`)**: requirements SSOT
|
|
53
|
+
- This top-level space is created by `init`; PRD is edited directly here rather than generated by a separate CLI step.
|
|
46
54
|
- Assign stable IDs per requirement: `PRD-FR-001`, `PRD-US-002`, `PRD-NFR-003`
|
|
47
55
|
- Keep IDs stable (prefer marking as Deprecated over deleting; do not renumber).
|
|
48
56
|
- Define PRD IDs in the PRD source first. Do not invent them inside feature docs.
|
|
49
57
|
- **Ideas (`docs/ideas/`)**: pre-Feature SSOT (hypotheses/experiments/candidates)
|
|
58
|
+
- Ideas usually start from PRD requirements and should keep `PRD Refs` when applicable.
|
|
50
59
|
- Put `PRD Refs:` at the top (example: `PRD-FR-001, PRD-US-002`).
|
|
51
60
|
- Once promoted, the SSOT moves to `docs/features/` and the idea should be archived.
|
|
52
61
|
- **Features (`docs/features/`)**: implementation scope/progress SSOT
|
|
62
|
+
- Features are the executable units that come after PRD and idea refinement.
|
|
53
63
|
- `spec.md`: scope + `PRD Refs` (the PRD IDs this feature covers)
|
|
54
64
|
- `tasks.md`: map each task line to PRD IDs via bracket tags like `[PRD-FR-001]`, or tag non-PRD tasks as `[NON-PRD]`
|
|
55
65
|
- Use `[NON-PRD]` only for internal work such as refactors, renames, tooling, tests, and cleanup.
|
|
@@ -7,8 +7,8 @@ This document covers **policy only**.
|
|
|
7
7
|
|
|
8
8
|
## ๐จ User Approval Required (MUST)
|
|
9
9
|
|
|
10
|
-
> โ ๏ธ The actions below require explicit user approval
|
|
11
|
-
> โ
|
|
10
|
+
> โ ๏ธ The actions below require explicit user approval when they are at an approval boundary.
|
|
11
|
+
> โ
In approval-waiting state, replies must be in `<label>` or `<label> OK` format (e.g. `A`, `A OK`).
|
|
12
12
|
|
|
13
13
|
| Action | When to confirm | What to share |
|
|
14
14
|
| --- | --- | --- |
|
|
@@ -22,8 +22,9 @@ This document covers **policy only**.
|
|
|
22
22
|
|
|
23
23
|
Approval flow:
|
|
24
24
|
1. Share details first
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
25
|
+
2. Check whether approval is currently required via the latest `context --json-compact` (`approvalRequest.required`)
|
|
26
|
+
3. If approval is required, wait for the exact CLI-provided label prompt response; if not, do not invent a separate approval prompt
|
|
27
|
+
4. Execute after approval (for command execution, default to `npx lee-spec-kit flow <featureRef> --approve <LABEL> --execute`)
|
|
27
28
|
|
|
28
29
|
Prohibited:
|
|
29
30
|
- Proceeding without user response
|
|
@@ -149,7 +149,7 @@ echo \"\"
|
|
|
149
149
|
|
|
150
150
|
> ๐จ **User Approval Required**
|
|
151
151
|
|
|
152
|
-
Before creating PR, share the following **in a code block** and wait for
|
|
152
|
+
Before creating the PR, share the following **in a code block** and, if approval is currently required, wait for the CLI-provided `<LABEL>` or `<LABEL> OK` reply:
|
|
153
153
|
|
|
154
154
|
- Title
|
|
155
155
|
- Full body template (from `pr.md`)
|
|
@@ -86,11 +86,11 @@ Use the featureโs `decisions.md` template format as final SSOT. (Context/Const
|
|
|
86
86
|
### Step 3.5: Commit per task (important)
|
|
87
87
|
|
|
88
88
|
- Complete **only one task at a time** (do not batch-finish multiple tasks in one commit).
|
|
89
|
-
- After you share the outcome/verification, mark the task `[DONE]` (and update any checklist items). If approval is required (`approvalRequest.required=true`), wait for OK first.
|
|
89
|
+
- After you share the outcome/verification, mark the task `[DONE]` (and update any checklist items). If approval is required (`approvalRequest.required=true`), reuse the exact CLI-provided approval lines and wait for a `<LABEL>` or `<LABEL> OK` reply first. If approval is not required, do not invent a separate approval prompt before marking `[DONE]`.
|
|
90
90
|
- 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.
|
|
91
|
-
- If `context` shows `[CHECK required]`, for commits/push/merge, **share the commit message + included files and wait for
|
|
92
|
-
- Once all tasks are `[DONE]`, share the "Completion Criteria" checklist with the user
|
|
93
|
-
- Note:
|
|
91
|
+
- If `context` shows `[CHECK required]`, for commits/push/merge, **share the commit message + included files and wait for the latest CLI-provided label reply** before running the commands.
|
|
92
|
+
- Once all tasks are `[DONE]`, share the "Completion Criteria" checklist with the user. If that point is approval-waiting, get a `<LABEL>` or `<LABEL> OK` reply before checking it; otherwise get a normal confirmation reply. (especially the **Final user approval received** item).
|
|
93
|
+
- Note: both progress approval and final approval must follow the current `approvalRequest.required` state. When approval is label-gated, always use label replies instead of standalone `OK` as the approval token.
|
|
94
94
|
|
|
95
95
|
### Step 4: Repeat
|
|
96
96
|
|
|
@@ -34,6 +34,9 @@ npx lee-spec-kit feature --component app user-profile
|
|
|
34
34
|
|
|
35
35
|
> ๐ก CLI copies templates from `feature-base/` and auto-assigns IDs.
|
|
36
36
|
|
|
37
|
+
Features are the executable units in the PRD โ idea โ feature flow.
|
|
38
|
+
By the time work reaches this folder, the requirement should already be defined in `docs/prd/`, and any pre-feature exploration should already live in `docs/ideas/`.
|
|
39
|
+
|
|
37
40
|
---
|
|
38
41
|
|
|
39
42
|
## Feature ID Rules
|
|
@@ -67,7 +70,7 @@ npx lee-spec-kit status --write
|
|
|
67
70
|
- Use `[NON-PRD]` only for internal implementation work such as refactors, test-only work, tooling, renames, and cleanup.
|
|
68
71
|
- If a change affects user-facing behavior, acceptance criteria, or scope, update PRD first and retag the task as `[PRD-...]`.
|
|
69
72
|
- Do not invent PRD IDs inside feature docs. Define them in the PRD source first, and backfill legacy docs before linking tasks.
|
|
70
|
-
- Coverage report: `npx lee-spec-kit requirements`
|
|
73
|
+
- Coverage report: `npx lee-spec-kit requirements`
|
|
71
74
|
|
|
72
75
|
---
|
|
73
76
|
|
|
@@ -4,6 +4,8 @@ A place for pre-feature ideas / to-dos / experiments.
|
|
|
4
4
|
|
|
5
5
|
Core rule: once an idea becomes a Feature, the SSOT moves to `docs/features/`.
|
|
6
6
|
|
|
7
|
+
Typical flow: PRD defines the requirement, Idea explores or scopes the candidate work, and Feature becomes the executable unit.
|
|
8
|
+
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## Conventions
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
This folder contains product requirements documents.
|
|
4
4
|
|
|
5
|
+
This is the top-level requirements space created by `lee-spec-kit init`.
|
|
6
|
+
Write PRD documents here first, then connect downstream idea and feature docs back to these requirements.
|
|
7
|
+
|
|
5
8
|
> **๐ Document Scope**
|
|
6
9
|
>
|
|
7
10
|
> - **This folder**: Product requirements, business logic, user stories
|
|
@@ -13,6 +16,14 @@ This folder contains product requirements documents.
|
|
|
13
16
|
2. Write main features and user stories
|
|
14
17
|
3. Include technical architecture overview
|
|
15
18
|
|
|
19
|
+
## Relationship To Ideas And Features
|
|
20
|
+
|
|
21
|
+
- `docs/prd/`: defines the source requirements
|
|
22
|
+
- `docs/ideas/`: explores candidate work derived from those requirements
|
|
23
|
+
- `docs/features/`: executes approved work as feature units
|
|
24
|
+
|
|
25
|
+
If work starts from a PRD item, keep the relationship visible through `PRD Refs` and task tags in downstream docs.
|
|
26
|
+
|
|
16
27
|
## Requirement ID Conventions (Recommended)
|
|
17
28
|
|
|
18
29
|
To let the CLI report โwhich PRD items are implementedโ, assign **stable IDs** to PRD requirements.
|
|
@@ -22,7 +22,8 @@ npx lee-spec-kit context --json-compact
|
|
|
22
22
|
## ์ ๊ท ํ๋ก์ ํธ ์์ ์์
|
|
23
23
|
|
|
24
24
|
- ์ฝ๋ ํ๋ก์ ํธ ์ค์บํด๋ฉ(์: Next.js/NestJS) ํ `lee-spec-kit init`์ ์คํํ์ธ์.
|
|
25
|
-
- ๊ทธ ๋ค์ `
|
|
25
|
+
- ๊ทธ ๋ค์ `docs/prd/`์ ์์ ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํ๊ณ , `idea`/`feature`๋ก ์์
๋จ์๋ฅผ ๊ตฌ์ฒดํํ์ธ์.
|
|
26
|
+
- ์ดํ `detect --json`์ผ๋ก ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ณ , `context` ์์๋ก ์งํํ์ธ์.
|
|
26
27
|
- ๋๋ถ๋ถ์ ๊ฒฝ์ฐ(๊ธฐ๋ณธ๊ฐ: embedded) ์ ์์๋ง ๋ฐ๋ฅด๋ฉด ๋ฉ๋๋ค.
|
|
27
28
|
- docs๋ฅผ ์ฝ๋ ์ ์ฅ์์ ๋ถ๋ฆฌํด ์ด์ํ ๋๋ง standalone์ ์ ํํ์ธ์. ์ด๋๋ ์์ ์ํฌ์คํ์ด์ค ํด๋(์: `workspace/docs`, `workspace/project`)์์ `init`์ ์คํํด docs/project ๊ฒฝ๋ก๋ฅผ ํจ๊ป ์ง์ ํ๋ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๋ค. (์: `npx lee-spec-kit init --docs-repo standalone --dir ./docs --project-root ./project`)
|
|
28
29
|
|
|
@@ -42,14 +43,23 @@ npx lee-spec-kit context --json-compact
|
|
|
42
43
|
|
|
43
44
|
๋ฌธ์ ๊ฐ ๊ด๊ณ๊ฐ ๋ชจํธํด์ง์ง ์๋๋ก, ์๋๋ฅผ โSSOT(๋จ์ผ ๊ธฐ์ค)โ๋ก ์ฌ์ฉํฉ๋๋ค.
|
|
44
45
|
|
|
46
|
+
๊ถ์ฅ ํ๋ฆ:
|
|
47
|
+
|
|
48
|
+
1. `docs/prd/`: ์์ ์๊ตฌ์ฌํญ ์ ์
|
|
49
|
+
2. `docs/ideas/`: PRD์์ ๋์จ ํ๋ณด/์คํ ์ ๋ฆฌ
|
|
50
|
+
3. `docs/features/`: ์น์ธ๋ ์์
์ ์คํ ๊ฐ๋ฅํ feature ๋จ์๋ก ์ ํ
|
|
51
|
+
|
|
45
52
|
- **PRD (`docs/prd/`)**: ์๊ตฌ์ฌํญ SSOT
|
|
53
|
+
- ์ด ๊ณต๊ฐ์ `init`์ด ๋ง๋ค์ด ์ฃผ๋ฉฐ, ๋ณ๋ ์์ฑ ๋ช
๋ น ์์ด ์ฌ๊ธฐ์์ ์ง์ PRD๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
|
|
46
54
|
- ์๊ตฌ์ฌํญ๋ง๋ค ID๋ฅผ ๋ถ์ฌํฉ๋๋ค: `PRD-FR-001`, `PRD-US-002`, `PRD-NFR-003`
|
|
47
55
|
- ID๋ ์์ ์ ์ผ๋ก ์ ์งํฉ๋๋ค. (์ญ์ ๋์ `Deprecated` ํ๊ธฐ ๊ถ์ฅ, ์ฌ๋ฒํธ ๋ถ์ฌ ๊ธ์ง)
|
|
48
56
|
- PRD ID๋ PRD ์๋ฌธ์ ๋จผ์ ์ ์ํฉ๋๋ค. Feature ๋ฌธ์์์ ์์ ์์ฑํ์ง ์์ต๋๋ค.
|
|
49
57
|
- **Ideas (`docs/ideas/`)**: Feature ์ ๋จ๊ณ SSOT (๊ฐ์ค/์คํ/ํ๋ณด)
|
|
58
|
+
- ๊ฐ๋ฅํ๋ฉด PRD์์ ์ถ๋ฐํ ํ๋ณด๋ผ๋ ์ ์ด ๋ณด์ด๋๋ก `PRD Refs`๋ฅผ ์ ์งํฉ๋๋ค.
|
|
50
59
|
- Idea ๋ฌธ์ ์๋จ์ `PRD Refs:`๋ฅผ ๊ธฐ๋กํฉ๋๋ค. (์: `PRD-FR-001, PRD-US-002`)
|
|
51
60
|
- Feature๋ก ์น๊ฒฉ๋๋ฉด SSOT๋ `docs/features/`๋ก ์ด๋ํ๊ณ , Idea๋ archive๋ก ์ ๋ฆฌํฉ๋๋ค.
|
|
52
61
|
- **Features (`docs/features/`)**: ๊ตฌํ ๋ฒ์/์งํ SSOT
|
|
62
|
+
- Feature๋ PRD์ idea๋ฅผ ๋ฐํ์ผ๋ก ์ค์ ๊ตฌํ์ ์งํํ๋ ์คํ ๋จ์์
๋๋ค.
|
|
53
63
|
- `spec.md`: ๋ฒ์ ์ ์ + `PRD Refs`(๊ธฐ๋ฅ์ด ์ปค๋ฒํ๋ PRD ID ๋ชฉ๋ก)
|
|
54
64
|
- `tasks.md`: ํ์คํฌ ๋จ์๋ก PRD ID๋ฅผ ํ๊ทธ(`[PRD-FR-001]`)๋ก ๋งคํํ๊ฑฐ๋, PRD ๋ฌด๊ด ํ์คํฌ๋ `[NON-PRD]`๋ก ํ์
|
|
55
65
|
- `[NON-PRD]`๋ refactor, rename, tooling, ํ
์คํธ, cleanup ๊ฐ์ ๋ด๋ถ ์์
์๋ง ์ฌ์ฉํฉ๋๋ค.
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
## ๐จ ์ฌ์ฉ์ ํ์ธ ํ์ ๊ท์น (MUST)
|
|
9
9
|
|
|
10
|
-
> โ ๏ธ ์๋ ์์
์ ๋ฐ๋์
|
|
11
|
-
> โ
์น์ธ
|
|
10
|
+
> โ ๏ธ ์๋ ์์
์ ์ฌ์ฉ์ ์น์ธ ๊ฒฝ๊ณ์ ํด๋นํ๋ฉด ๋ฐ๋์ ๋ช
์ ์น์ธ ํ์๋ง ์งํํฉ๋๋ค.
|
|
11
|
+
> โ
์น์ธ ๋๊ธฐ ์ํ์์๋ ์๋ต ํ์์ด ํญ์ `<๋ผ๋ฒจ>` ๋๋ `<๋ผ๋ฒจ> OK` ํ์(์: `A`, `A OK`)์
๋๋ค.
|
|
12
12
|
|
|
13
13
|
| ์์
| ํ์ธ ์์ | ๊ณต์ ๋ด์ฉ |
|
|
14
14
|
| --- | --- | --- |
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
|
|
23
23
|
ํ์ธ ์ ์ฐจ:
|
|
24
24
|
1. ์์
๋ด์ฉ์ ๋จผ์ ๊ณต์
|
|
25
|
-
2.
|
|
26
|
-
3. ์น์ธ
|
|
25
|
+
2. ์ต์ `context --json-compact` ๊ธฐ์ค์ผ๋ก ์น์ธ ๋๊ธฐ ์ฌ๋ถ(`approvalRequest.required`) ํ์ธ
|
|
26
|
+
3. ์น์ธ ๋๊ธฐ ์ํ๋ฉด CLI๊ฐ ์ค ์น์ธ ๋ฌธ๊ตฌ ๊ทธ๋๋ก ๋ผ๋ฒจ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ณ , ๋น์น์ธ ์ํ๋ฉด ๋ณ๋ ์น์ธ ๋ฌธ๊ตฌ๋ฅผ ๋ง๋ค์ง ์์
|
|
27
|
+
4. ์น์ธ ํ ์คํ (๋ช
๋ น ์คํ์ ๊ธฐ๋ณธ์ ์ผ๋ก `npx lee-spec-kit flow <featureRef> --approve <LABEL> --execute`๋ฅผ ์ฌ์ฉ)
|
|
27
28
|
|
|
28
29
|
๊ธ์ง:
|
|
29
30
|
- ์ฌ์ฉ์ ์๋ต ์์ด ์์ ์งํ
|
|
@@ -149,7 +149,7 @@ echo \"\"
|
|
|
149
149
|
|
|
150
150
|
> ๐จ **์ฌ์ฉ์ ํ์ธ ํ์**
|
|
151
151
|
|
|
152
|
-
PR ์์ฑ ์ ๋ค์ ๋ด์ฉ์ **์ฝ๋๋ธ๋ก์ผ๋ก** ์ฌ์ฉ์์๊ฒ
|
|
152
|
+
PR ์์ฑ ์ ๋ค์ ๋ด์ฉ์ **์ฝ๋๋ธ๋ก์ผ๋ก** ์ฌ์ฉ์์๊ฒ ๊ณต์ ํ๊ณ , ์น์ธ ๋๊ธฐ ์ํ๋ฉด CLI๊ฐ ์ค `<๋ผ๋ฒจ>` ๋๋ `<๋ผ๋ฒจ> OK` ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ธ์:
|
|
153
153
|
|
|
154
154
|
- ์ ๋ชฉ
|
|
155
155
|
- ๋ณธ๋ฌธ ์ ์ฒด ํ
ํ๋ฆฟ (`pr.md` ๊ธฐ์ค)
|
|
@@ -81,13 +81,13 @@ CLI๊ฐ ๊ฐ๋ฆฌํค๋ **Active Task** ๋๋ **`๐ Next Options (Atomic)`์ ๋จ
|
|
|
81
81
|
|
|
82
82
|
#### 3-2) ํ์คํฌ/์ฒดํฌ๋ฆฌ์คํธ ์
๋ฐ์ดํธ + ์ปค๋ฐ
|
|
83
83
|
|
|
84
|
-
1. ์์
์ด ๋๋๋ฉด ๊ฒฐ๊ณผ/๊ฒ์ฆ์
|
|
84
|
+
1. ์์
์ด ๋๋๋ฉด ๊ฒฐ๊ณผ/๊ฒ์ฆ์ ๊ณต์ ํฉ๋๋ค. ์น์ธ ๋๊ธฐ(`approvalRequest.required=true`) ์ํ๋ผ๋ฉด CLI๊ฐ ์ค ์น์ธ ๋ฌธ๊ตฌ๋ฅผ ๊ทธ๋๋ก ์ ์ํ๊ณ ์ฌ์ฉ์์ `<๋ผ๋ฒจ>` ๋๋ `<๋ผ๋ฒจ> OK` ์๋ต์ ๋ฐ์ ๋ค `[DONE]`์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค. ๋น์น์ธ ์ํ๋ฉด ๋ณ๋ ์น์ธ ๋ฌธ๊ตฌ ์์ด `[DONE]`๊ณผ `Acceptance/Checklist`๋ฅผ ๊ฐฑ์ ํฉ๋๋ค.
|
|
85
85
|
2. **ํ ๋ฒ์ ํ๋์ ํ์คํฌ๋ง** `[DONE]` ์ฒ๋ฆฌํฉ๋๋ค. (ํ์คํฌ 2๊ฐ ์ด์์ ํ ๋ฒ์ ์๋ฃ/์ปค๋ฐ์ผ๋ก ๋ฌถ์ง ์๊ธฐ)
|
|
86
86
|
3. `tasks.md`์ ํ
์คํธ ์คํ ๊ธฐ๋ก์ ๋ช
๋ น์ด๋ณ 1๊ฐ ํ๋ง ์ ์งํ๊ณ , ๊ฐ์ ๋ช
๋ น์ด ์ฌ์คํ ์ ๋ ์ง/๊ฒฐ๊ณผ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค. (์ค๋ณต ๋์ ๊ธ์ง, ๋ ์ง ํ์: ๋ก์ปฌ `YYYY-MM-DD`)
|
|
87
87
|
4. ์ปค๋ฐ์ ์์ฑํฉ๋๋ค (์ฝ๋ ์ปค๋ฐ + ๋ฌธ์ ์ปค๋ฐ). ํ์คํฌ ๋จ์๋ก ์ปค๋ฐ์ด ๋จ์์ผ ํฉ๋๋ค.
|
|
88
|
-
- `context`์ `[ํ์ธ ํ์]`๊ฐ ๋ณด์ด๋ฉด, **์ปค๋ฐ/ํธ์ ๊ฐ์ ์๊ฒฉ ์์
์ ์ฌ์ฉ์์๊ฒ ์ปค๋ฐ ๋ฉ์์ง/ํฌํจ ํ์ผ์
|
|
89
|
-
5. ๋ชจ๋ ํ์คํฌ๊ฐ `[DONE]`๊ฐ ๋๋ฉด, "์๋ฃ ์กฐ๊ฑด" ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉ์์๊ฒ
|
|
90
|
-
- ์ฐธ๊ณ :
|
|
88
|
+
- `context`์ `[ํ์ธ ํ์]`๊ฐ ๋ณด์ด๋ฉด, **์ปค๋ฐ/ํธ์ ๊ฐ์ ์๊ฒฉ ์์
์ ์ฌ์ฉ์์๊ฒ ์ปค๋ฐ ๋ฉ์์ง/ํฌํจ ํ์ผ์ ๊ณต์ ํ ๋ค ์ต์ CLI ์น์ธ ๋ฌธ๊ตฌ์ ๋ผ๋ฒจ ์๋ต์ ๋ฐ์ ํ** ์คํํฉ๋๋ค.
|
|
89
|
+
5. ๋ชจ๋ ํ์คํฌ๊ฐ `[DONE]`๊ฐ ๋๋ฉด, "์๋ฃ ์กฐ๊ฑด" ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉ์์๊ฒ ๊ณต์ ํฉ๋๋ค. ์ด ์์ ์ด ์น์ธ ๋๊ธฐ ์ํ๋ฉด `<๋ผ๋ฒจ>` ๋๋ `<๋ผ๋ฒจ> OK` ์๋ต์ ๋ฐ์ ๋ค ์ฒดํฌํ๊ณ , ๋น์น์ธ ์ํ๋ฉด ์ผ๋ฐ ํ์ธ ์๋ต์ ๋ฐ์ ๋ค ์ฒดํฌํฉ๋๋ค. (ํนํ **์ต์ข
์ฌ์ฉ์ ์น์ธ ์๋ฃ** ํญ๋ชฉ)
|
|
90
|
+
- ์ฐธ๊ณ : ์งํ ์น์ธ/์ต์ข
์น์ธ์ ๋ชจ๋ ํ์ฌ `approvalRequest.required` ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋จํฉ๋๋ค. ๋ผ๋ฒจ ์น์ธ ์ํ๋ฉด ํญ์ ๋ผ๋ฒจ ์๋ต์ ์ฌ์ฉํ๊ณ , ๋น์น์ธ ์ํ๋ฉด standalone `OK`๋ฅผ ์น์ธ ํ ํฐ์ฒ๋ผ ๊ฐ์ ํ์ง ์์ต๋๋ค.
|
|
91
91
|
6. **์ฆ์ 1๋จ๊ณ๋ก ๋์๊ฐ** ๋ค์ ํ ์ผ์ CLI์๊ฒ ๋ฌผ์ด๋ด
๋๋ค.
|
|
92
92
|
|
|
93
93
|
---
|
|
@@ -34,6 +34,9 @@ npx lee-spec-kit feature --component app user-profile
|
|
|
34
34
|
|
|
35
35
|
> ๐ก CLI๋ `feature-base/`์์ ํ
ํ๋ฆฟ์ ๋ณต์ฌํ๊ณ ID๋ฅผ ์๋ ์ฑ๋ฒํฉ๋๋ค.
|
|
36
36
|
|
|
37
|
+
Feature๋ PRD โ idea โ feature ํ๋ฆ์์ ์ค์ ๊ตฌํ์ ์งํํ๋ ์คํ ๋จ์์
๋๋ค.
|
|
38
|
+
์ฌ๊ธฐ๊น์ง ์ค๊ธฐ ์ ์๋ ์๊ตฌ์ฌํญ์ด `docs/prd/`์ ์ ์๋์ด ์๊ณ , ์ฌ์ ํ์์ด ํ์ํ๋ค๋ฉด `docs/ideas/`์ ์ ๋ฆฌ๋์ด ์๋ ์ํ๋ฅผ ๊ถ์ฅํฉ๋๋ค.
|
|
39
|
+
|
|
37
40
|
---
|
|
38
41
|
|
|
39
42
|
## ๊ธฐ๋ฅ ID ๊ท์น
|
|
@@ -67,7 +70,7 @@ npx lee-spec-kit status --write
|
|
|
67
70
|
- `[NON-PRD]`๋ refactor, ํ
์คํธ ์ ์ฉ ์์
, tooling, rename, cleanup ๊ฐ์ ๋ด๋ถ ๊ตฌํ ์์
์๋ง ์ฌ์ฉํ์ธ์.
|
|
68
71
|
- ๋ณ๊ฒฝ์ด ์ฌ์ฉ์ ๋์, acceptance criteria, ๋ฒ์๋ฅผ ๋ฐ๊พธ๋ฉด PRD๋ฅผ ๋จผ์ ๊ฐฑ์ ํ๊ณ ํ์คํฌ๋ `[PRD-...]`๋ก ๋ค์ ์ฐ๊ฒฐํ์ธ์.
|
|
69
72
|
- ๋จ, ํ์คํฌ ๋ฌธ์์์ PRD ID๋ฅผ ์์ ์์ฑํ์ง ์์ต๋๋ค. ๋จผ์ PRD ์๋ฌธ์ ์ ์ํ๊ณ , ๋ ๊ฑฐ์ ๋ฌธ์๋ ์๋ฌธ ID backfill ํ ์ฐ๊ฒฐํ์ธ์.
|
|
70
|
-
- ์ปค๋ฒ๋ฆฌ์ง ๋ฆฌํฌํธ: `npx lee-spec-kit requirements`
|
|
73
|
+
- ์ปค๋ฒ๋ฆฌ์ง ๋ฆฌํฌํธ: `npx lee-spec-kit requirements`
|
|
71
74
|
|
|
72
75
|
---
|
|
73
76
|
|
|
@@ -4,6 +4,8 @@ Feature๋ก ๋ฐ์ ํ๊ธฐ ์ ์ ์์ด๋์ด / To-do / ์คํ ๊ธฐ๋ก์ ๋ชจ์๋
|
|
|
4
4
|
|
|
5
5
|
ํต์ฌ ์์น: **Feature๋ก ์น๊ฒฉ๋๋ฉด SSOT๋ `docs/features/`๋ก ์ด๋**ํฉ๋๋ค.
|
|
6
6
|
|
|
7
|
+
๊ธฐ๋ณธ ํ๋ฆ์ PRD๊ฐ ์๊ตฌ์ฌํญ์ ์ ์ํ๊ณ , Idea๊ฐ ํ๋ณด/๋ฒ์๋ฅผ ์ ๋ฆฌํ๊ณ , Feature๊ฐ ์ค์ ์คํ ๋จ์๊ฐ ๋๋ ๊ตฌ์กฐ์
๋๋ค.
|
|
8
|
+
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## ์์ฑ ๊ท์น
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
์ด ํด๋์๋ ์ ํ ์๊ตฌ์ฌํญ ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค.
|
|
4
4
|
|
|
5
|
+
์ด ๊ณต๊ฐ์ `lee-spec-kit init`์ด ๋ง๋ค์ด ์ฃผ๋ ์์ ์๊ตฌ์ฌํญ ์์ญ์
๋๋ค.
|
|
6
|
+
๋จผ์ ์ฌ๊ธฐ์์ PRD๋ฅผ ์์ฑํ๊ณ , ์ดํ idea์ feature ๋ฌธ์๊ฐ ์ด ์๊ตฌ์ฌํญ์ ์ฐธ์กฐํ๋๋ก ์ฐ๊ฒฐํ์ธ์.
|
|
7
|
+
|
|
5
8
|
> **๐ ๋ฌธ์ ๋ฒ์**
|
|
6
9
|
>
|
|
7
10
|
> - **์ด ํด๋**: ์ ํ ์๊ตฌ์ฌํญ, ๋น์ฆ๋์ค ๋ก์ง, ์ฌ์ฉ์ ์คํ ๋ฆฌ
|
|
@@ -13,6 +16,14 @@
|
|
|
13
16
|
2. ์ฃผ์ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ์ธ์
|
|
14
17
|
3. ๊ธฐ์ ์ํคํ
์ฒ ๊ฐ์๋ฅผ ํฌํจํ์ธ์
|
|
15
18
|
|
|
19
|
+
## Ideas / Features์์ ๊ด๊ณ
|
|
20
|
+
|
|
21
|
+
- `docs/prd/`: ์๊ตฌ์ฌํญ ์๋ฌธ ์ ์
|
|
22
|
+
- `docs/ideas/`: ์๊ตฌ์ฌํญ์์ ๋์จ ํ๋ณด/์คํ ์ ๋ฆฌ
|
|
23
|
+
- `docs/features/`: ์น์ธ๋ ์์
์ feature ๋จ์๋ก ์คํ
|
|
24
|
+
|
|
25
|
+
PRD์์ ์์ํ ์์
์ด๋ผ๋ฉด, ์ดํ ๋ฌธ์์์๋ `PRD Refs`์ ํ์คํฌ ํ๊ทธ๋ฅผ ํตํด ์ฐ๊ฒฐ์ด ๊ณ์ ๋ณด์ด๋๋ก ์ ์งํ์ธ์.
|
|
26
|
+
|
|
16
27
|
## ์๊ตฌ์ฌํญ ID ๊ท์น (๊ถ์ฅ)
|
|
17
28
|
|
|
18
29
|
PRD์ โ์ด๋ ์๊ตฌ์ฌํญ์ด ๊ตฌํ๋๋์งโ๋ฅผ CLI๊ฐ ์ง๊ณํ ์ ์๋๋ก, ์๊ตฌ์ฌํญ์ **์์ ์ ์ธ ID**๋ฅผ ๋ถ์ฌํ์ธ์.
|