lee-spec-kit 0.1.0

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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +112 -0
  3. package/dist/index.js +461 -0
  4. package/package.json +60 -0
  5. package/templates/en/fullstack/README.md +12 -0
  6. package/templates/en/fullstack/agents/agents.md +88 -0
  7. package/templates/en/fullstack/agents/constitution.md +75 -0
  8. package/templates/en/fullstack/agents/git-workflow.md +112 -0
  9. package/templates/en/fullstack/agents/issue-template.md +58 -0
  10. package/templates/en/fullstack/agents/pr-template.md +57 -0
  11. package/templates/en/fullstack/features/README.md +76 -0
  12. package/templates/en/fullstack/features/be/README.md +5 -0
  13. package/templates/en/fullstack/features/fe/README.md +5 -0
  14. package/templates/en/fullstack/features/feature-base/decisions.md +15 -0
  15. package/templates/en/fullstack/features/feature-base/plan.md +49 -0
  16. package/templates/en/fullstack/features/feature-base/spec.md +55 -0
  17. package/templates/en/fullstack/features/feature-base/tasks.md +33 -0
  18. package/templates/en/fullstack/prd/README.md +15 -0
  19. package/templates/en/single/README.md +11 -0
  20. package/templates/en/single/agents/agents.md +74 -0
  21. package/templates/en/single/agents/constitution.md +75 -0
  22. package/templates/en/single/agents/git-workflow.md +157 -0
  23. package/templates/en/single/agents/issue-template.md +60 -0
  24. package/templates/en/single/agents/pr-template.md +71 -0
  25. package/templates/en/single/features/README.md +56 -0
  26. package/templates/en/single/features/feature-base/decisions.md +15 -0
  27. package/templates/en/single/features/feature-base/plan.md +48 -0
  28. package/templates/en/single/features/feature-base/spec.md +55 -0
  29. package/templates/en/single/features/feature-base/tasks.md +33 -0
  30. package/templates/en/single/prd/README.md +15 -0
  31. package/templates/ko/fullstack/README.md +12 -0
  32. package/templates/ko/fullstack/agents/agents.md +125 -0
  33. package/templates/ko/fullstack/agents/constitution.md +75 -0
  34. package/templates/ko/fullstack/agents/git-workflow.md +157 -0
  35. package/templates/ko/fullstack/agents/issue-template.md +60 -0
  36. package/templates/ko/fullstack/agents/pr-template.md +71 -0
  37. package/templates/ko/fullstack/features/README.md +98 -0
  38. package/templates/ko/fullstack/features/be/README.md +5 -0
  39. package/templates/ko/fullstack/features/fe/README.md +5 -0
  40. package/templates/ko/fullstack/features/feature-base/decisions.md +15 -0
  41. package/templates/ko/fullstack/features/feature-base/plan.md +49 -0
  42. package/templates/ko/fullstack/features/feature-base/spec.md +55 -0
  43. package/templates/ko/fullstack/features/feature-base/tasks.md +33 -0
  44. package/templates/ko/fullstack/prd/README.md +15 -0
  45. package/templates/ko/single/README.md +11 -0
  46. package/templates/ko/single/agents/agents.md +87 -0
  47. package/templates/ko/single/agents/constitution.md +75 -0
  48. package/templates/ko/single/agents/git-workflow.md +157 -0
  49. package/templates/ko/single/agents/issue-template.md +60 -0
  50. package/templates/ko/single/agents/pr-template.md +71 -0
  51. package/templates/ko/single/features/README.md +56 -0
  52. package/templates/ko/single/features/feature-base/decisions.md +15 -0
  53. package/templates/ko/single/features/feature-base/plan.md +48 -0
  54. package/templates/ko/single/features/feature-base/spec.md +55 -0
  55. package/templates/ko/single/features/feature-base/tasks.md +33 -0
  56. package/templates/ko/single/prd/README.md +15 -0
@@ -0,0 +1,74 @@
1
+ # Agents Guide
2
+
3
+ Operating rules for AI code assistants to perform consistent code generation and refactoring.
4
+
5
+ ---
6
+
7
+ ## Reference Documents
8
+
9
+ ### Core Documents
10
+
11
+ - **Project Principles**: `/docs/agents/constitution.md`
12
+ - **Git Workflow**: `/docs/agents/git-workflow.md`
13
+ - **Issue Template**: `/docs/agents/issue-template.md`
14
+ - **PR Template**: `/docs/agents/pr-template.md`
15
+
16
+ ### Features
17
+
18
+ - **Feature Docs**: `/docs/features/{feature-id}/`
19
+ - **Template (SSOT)**: `/docs/features/feature-base/`
20
+
21
+ ---
22
+
23
+ ## πŸ“ Standard docs Structure
24
+
25
+ ```
26
+ docs/
27
+ β”œβ”€β”€ README.md
28
+ β”œβ”€β”€ agents/
29
+ β”‚ β”œβ”€β”€ agents.md
30
+ β”‚ β”œβ”€β”€ constitution.md
31
+ β”‚ β”œβ”€β”€ git-workflow.md
32
+ β”‚ β”œβ”€β”€ issue-template.md
33
+ β”‚ └── pr-template.md
34
+ β”œβ”€β”€ prd/
35
+ β”œβ”€β”€ features/
36
+ β”‚ β”œβ”€β”€ feature-base/
37
+ β”‚ └── F00X-{name}/
38
+ └── scripts/
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Request Type Processes
44
+
45
+ ### 1. New Feature Request
46
+
47
+ 1. Create feature folder: `lee-spec-kit feature <name>`
48
+ 2. Write `spec.md` - what and why
49
+ 3. Request spec review
50
+ 4. Create GitHub Issue
51
+
52
+ ### 2. Task Execution
53
+
54
+ 1. Write tasks in `tasks.md`
55
+ 2. Execute after approval
56
+ 3. Status transition: `[TODO]` β†’ `[DOING]` β†’ `[DONE]`
57
+ 4. Commit on task completion
58
+
59
+ ---
60
+
61
+ ## πŸ“‹ ADR (Architecture Decision Records)
62
+
63
+ > `decisions.md` is a **required** document for recording technical decisions.
64
+
65
+ ### Format
66
+
67
+ ```markdown
68
+ ## D{number}: {Decision Title} ({YYYY-MM-DD})
69
+
70
+ - **Context**: Problem situation or background
71
+ - **Options**: Alternatives considered
72
+ - **Decision**: Final choice
73
+ - **Rationale**: Reason for choice
74
+ ```
@@ -0,0 +1,75 @@
1
+ # {{projectName}} Constitution
2
+
3
+ ν”„λ‘œμ νŠΈμ˜ 핡심 원칙과 기술 κ²°μ • κ°€μ΄λ“œλΌμΈμž…λ‹ˆλ‹€.
4
+ λͺ¨λ“  개발 결정은 이 λ¬Έμ„œλ₯Ό κΈ°μ€€μœΌλ‘œ ν•©λ‹ˆλ‹€.
5
+
6
+ ---
7
+
8
+ ## ν”„λ‘œμ νŠΈ λ―Έμ…˜
9
+
10
+ > (ν”„λ‘œμ νŠΈμ˜ λ―Έμ…˜μ„ μž‘μ„±ν•˜μ„Έμš”)
11
+
12
+ ---
13
+
14
+ ## 기술 μŠ€νƒ
15
+
16
+ ### Backend
17
+
18
+ | 기술 | 버전 | 이유 |
19
+ | ------------ | ------ | ----------- |
20
+ | (예: NestJS) | (버전) | (선택 이유) |
21
+
22
+ ### Frontend
23
+
24
+ | 기술 | 버전 | 이유 |
25
+ | ----------- | ------ | ----------- |
26
+ | (예: React) | (버전) | (선택 이유) |
27
+
28
+ ### 곡톡
29
+
30
+ | 기술 | 버전 | 이유 |
31
+ | ----------------- | ------ | ----------- |
32
+ | TypeScript | strict | νƒ€μž… μ•ˆμ „μ„± |
33
+ | ESLint + Prettier | - | μ½”λ“œ ν’ˆμ§ˆ |
34
+ | pnpm | - | νŒ¨ν‚€μ§€ 관리 |
35
+
36
+ ---
37
+
38
+ ## μ•„ν‚€ν…μ²˜ 원칙
39
+
40
+ ### 1. Feature 쀑심 관리
41
+
42
+ - μƒˆ κΈ°λŠ₯은 `docs/features/F00X/` ꡬ쑰둜 관리
43
+ - FE/BE λΆ„λ¦¬ν•˜μ—¬ **κΈ°λŠ₯ λ‹¨μœ„**둜 개발
44
+ - spec β†’ plan β†’ tasks β†’ decisions μ›Œν¬ν”Œλ‘œμš°
45
+
46
+ ### 2. (μΆ”κ°€ 원칙)
47
+
48
+ (ν”„λ‘œμ νŠΈλ³„ μ•„ν‚€ν…μ²˜ 원칙을 μž‘μ„±ν•˜μ„Έμš”)
49
+
50
+ ---
51
+
52
+ ## μ½”λ“œ ν’ˆμ§ˆ κΈ°μ€€
53
+
54
+ - TypeScript strict mode ν•„μˆ˜
55
+ - ESLint + Prettier ν•„μˆ˜
56
+ - μ£Όμš” λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 ν…ŒμŠ€νŠΈ 컀버리지 **80%+**
57
+ - μ»΄ν¬λ„ŒνŠΈλŠ” **단일 μ±…μž„ 원칙**
58
+ - 쀑볡 μ½”λ“œ μ΅œμ†Œν™”
59
+
60
+ ---
61
+
62
+ ## λ³΄μ•ˆ 원칙
63
+
64
+ - ν™˜κ²½ λ³€μˆ˜λ‘œ μ‹œν¬λ¦Ώ 관리 (μ €μž₯μ†Œ 컀밋 κΈˆμ§€)
65
+ - μ‚¬μš©μž 데이터 **μ΅œμ†Œ μˆ˜μ§‘**
66
+ - CORSλŠ” ν—ˆμš© μ˜€λ¦¬μ§„λ§Œ μ„€μ •
67
+
68
+ ---
69
+
70
+ ## μ–Έμ–΄/μ½”λ“œ κ·œμΉ™
71
+
72
+ - **λ‹΅λ³€**: ν•œκ΅­μ–΄
73
+ - **μ½”λ“œ/파일λͺ…**: μ˜μ–΄
74
+ - **주석/컀밋**: ν•œκ΅­μ–΄
75
+ - **λ‚ μ§œ/μ‹œκ°„**: μ‚¬μš©μž PC μ‹œμŠ€ν…œ μ‹œκ°„ κΈ°μ€€ (예: `{{date}}`)
@@ -0,0 +1,157 @@
1
+ # Git μ›Œν¬ν”Œλ‘œμš° κ°€μ΄λ“œ
2
+
3
+ μ—μ΄μ „νŠΈκ°€ Git/GitHub μž‘μ—…μ„ μžλ™ν™”ν•˜κΈ° μœ„ν•œ κ·œμΉ™μž…λ‹ˆλ‹€.
4
+
5
+ ---
6
+
7
+ ## 핡심 κ°œλ…
8
+
9
+ | κ°œλ… | GitHub λ§€ν•‘ | μ„€λͺ… |
10
+ | --------- | ------------ | ----------------------- |
11
+ | Feature | GitHub Issue | κΈ°λŠ₯ λ‹¨μœ„ μž‘μ—… |
12
+ | νƒœμŠ€ν¬ | Commit | κ°œλ³„ κ΅¬ν˜„ λ‹¨μœ„ |
13
+ | κΈ°λŠ₯ μ™„λ£Œ | Pull Request | Feature μ™„λ£Œ μ‹œ PR 생성 |
14
+
15
+ ---
16
+
17
+ ## 브랜치 μ „λž΅
18
+
19
+ ```
20
+ main
21
+ └── feat/123-feature-name # Issue #123 기반 브랜치
22
+ β”œβ”€β”€ commit 1: feat(#123): κΈ°λŠ₯ κ΅¬ν˜„
23
+ β”œβ”€β”€ commit 2: test(#123): ν…ŒμŠ€νŠΈ μž‘μ„±
24
+ └── commit 3: docs(#123): λ¬Έμ„œ μ—…λ°μ΄νŠΈ
25
+ ```
26
+
27
+ ### 브랜치 넀이밍
28
+
29
+ ```
30
+ {type}/{issue-number}-{feature-name}
31
+ ```
32
+
33
+ | Type | μ„€λͺ… |
34
+ | ---------- | --------- |
35
+ | `feat` | μƒˆ κΈ°λŠ₯ |
36
+ | `fix` | 버그 μˆ˜μ • |
37
+ | `refactor` | λ¦¬νŒ©ν† λ§ |
38
+ | `docs` | λ¬Έμ„œ |
39
+
40
+ **μ˜ˆμ‹œ:**
41
+
42
+ - `feat/123-user-auth`
43
+ - `fix/456-login-error`
44
+
45
+ ---
46
+
47
+ ## 컀밋 μ»¨λ²€μ…˜
48
+
49
+ ### ν˜•μ‹
50
+
51
+ ```
52
+ {type}(#{issue}): {description}
53
+ ```
54
+
55
+ ### Type λͺ©λ‘
56
+
57
+ | Type | μ„€λͺ… | μ˜ˆμ‹œ |
58
+ | ---------- | ----------- | ----------------------------------- |
59
+ | `feat` | μƒˆ κΈ°λŠ₯ | `feat(#123): μ‚¬μš©μž 인증 κ΅¬ν˜„` |
60
+ | `fix` | 버그 μˆ˜μ • | `fix(#123): 둜그인 였λ₯˜ μˆ˜μ •` |
61
+ | `refactor` | λ¦¬νŒ©ν† λ§ | `refactor(#123): 인증 둜직 뢄리` |
62
+ | `test` | ν…ŒμŠ€νŠΈ | `test(#123): 인증 λ‹¨μœ„ ν…ŒμŠ€νŠΈ μΆ”κ°€` |
63
+ | `docs` | λ¬Έμ„œ | `docs(#123): μŠ€νŽ™ λͺ…ν™•ν™”` |
64
+ | `style` | μ½”λ“œ μŠ€νƒ€μΌ | `style(#123): 린트 였λ₯˜ μˆ˜μ •` |
65
+ | `chore` | 기타 | `chore(#123): μ˜μ‘΄μ„± μ—…λ°μ΄νŠΈ` |
66
+
67
+ ---
68
+
69
+ ## μžλ™ν™” μ›Œν¬ν”Œλ‘œμš°
70
+
71
+ ### 1. Feature μ‹œμž‘
72
+
73
+ ```bash
74
+ # 1. GitHub Issue 생성 (Feature = Issue)
75
+ # 2. 브랜치 생성
76
+ git checkout -b feat/{issue-number}-{feature-name}
77
+ ```
78
+
79
+ > `gh`둜 이슈/PR μƒμ„±Β·μˆ˜μ • μ‹œ μž‘μ„±ν•  제λͺ©/λ³Έλ¬Έ/라벨을 λ¨Όμ € κ³΅μœ ν•˜κ³  **λ°˜λ“œμ‹œ** μ‚¬μš©μž 확인(OK) ν›„ μ§„ν–‰ν•©λ‹ˆλ‹€.
80
+
81
+ ### 2. νƒœμŠ€ν¬ μ™„λ£Œ μ‹œ μžλ™ 컀밋
82
+
83
+ νƒœμŠ€ν¬ ν•˜λ‚˜κ°€ μ™„λ£Œλ˜λ©΄:
84
+
85
+ ```bash
86
+ git add .
87
+ git commit -m "{type}(#{issue}): {task-description}"
88
+ ```
89
+
90
+ > `git commit` μ‹€ν–‰ μ „ 컀밋 λ©”μ‹œμ§€μ™€ 포함될 파일 λͺ©λ‘μ„ λ¨Όμ € κ³΅μœ ν•˜κ³  **λ°˜λ“œμ‹œ** μ‚¬μš©μž 확인(OK) ν›„ μ§„ν–‰ν•©λ‹ˆλ‹€.
91
+
92
+ ### 3. Feature μ™„λ£Œ μ‹œ PR 생성
93
+
94
+ λͺ¨λ“  νƒœμŠ€ν¬ μ™„λ£Œ μ‹œ:
95
+
96
+ ```bash
97
+ git push origin feat/{issue-number}-{feature-name}
98
+ gh pr create --title "feat(#{issue}): {feature-title}" \
99
+ --body "Closes #{issue}" \
100
+ --base main
101
+ ```
102
+
103
+ ### 4. λ¨Έμ§€
104
+
105
+ λͺ¨λ“  리뷰 ν•΄κ²° μ‹œ:
106
+
107
+ ```bash
108
+ # λ¨Έμ§€ μ „ main μ΅œμ‹ ν™”
109
+ git checkout main
110
+ git pull
111
+
112
+ # Squash and Merge
113
+ gh pr merge --squash --delete-branch
114
+
115
+ # λ¨Έμ§€ ν›„ main μ΅œμ‹ ν™”
116
+ git pull
117
+ ```
118
+
119
+ ---
120
+
121
+ ## μ—μ΄μ „νŠΈ μžλ™ν™” κ·œμΉ™
122
+
123
+ ### νƒœμŠ€ν¬ μ™„λ£Œ μ‹œ
124
+
125
+ ```
126
+ 1. μ½”λ“œ λ³€κ²½ μ™„λ£Œ
127
+ 2. tasks.md μƒνƒœ [DOING] β†’ [DONE] μ—…λ°μ΄νŠΈ (docs)
128
+ 3. git add .
129
+ 4. git commit -m "{type}(#{issue}): {description}"
130
+ 5. λ‹€μŒ νƒœμŠ€ν¬ μ§„ν–‰
131
+ ```
132
+
133
+ ### Feature μ™„λ£Œ μ‹œ
134
+
135
+ ```
136
+ 1. λͺ¨λ“  νƒœμŠ€ν¬ [DONE] 확인
137
+ 2. git push origin {branch}
138
+ 3. gh pr create
139
+ 4. 리뷰 λŒ€κΈ°
140
+ 5. 리뷰 μ½”λ©˜νŠΈ μˆ˜μ •
141
+ 6. gh pr merge --squash
142
+ ```
143
+
144
+ ---
145
+
146
+ ## GitHub μ„€μ • μš”κ΅¬μ‚¬ν•­
147
+
148
+ ### ν•„μˆ˜
149
+
150
+ - [ ] GitHub CLI (`gh`) μ„€μΉ˜ 및 인증
151
+ - [ ] Branch protection rules (main)
152
+ - Require PR before merging
153
+
154
+ ### ꢌμž₯
155
+
156
+ - [ ] Auto-delete head branches
157
+ - [ ] Squash merging only
@@ -0,0 +1,60 @@
1
+ # GitHub Issue ν…œν”Œλ¦Ώ κ°€μ΄λ“œ
2
+
3
+ μ—μ΄μ „νŠΈκ°€ GitHub Issueλ₯Ό 생성할 λ•Œ μ°Έμ‘°ν•˜λŠ” ν…œν”Œλ¦Ώμž…λ‹ˆλ‹€.
4
+
5
+ ---
6
+
7
+ ## 이슈 생성 κ·œμΉ™
8
+
9
+ ### 제λͺ© ν˜•μ‹
10
+
11
+ ```text
12
+ F{번호}: {κΈ°λŠ₯λͺ…} ({짧은 μ„€λͺ…})
13
+ ```
14
+
15
+ 예: `F001: user-auth (μ‚¬μš©μž 인증 κΈ°λŠ₯)`
16
+
17
+ > "짧은 μ„€λͺ…"은 ν•œ μ€„λ‘œ μ˜λ„λ₯Ό 전달할 수 μžˆμ„ μ •λ„λ‘œλ§Œ μž‘μ„±ν•©λ‹ˆλ‹€.
18
+
19
+ ---
20
+
21
+ ## 이슈 λ³Έλ¬Έ ν…œν”Œλ¦Ώ
22
+
23
+ ```markdown
24
+ ## κ°œμš”
25
+
26
+ {κΈ°λŠ₯에 λŒ€ν•œ κ°„λž΅ν•œ μ„€λͺ…}
27
+
28
+ ## λͺ©ν‘œ
29
+
30
+ - {λͺ©ν‘œ 1}
31
+ - {λͺ©ν‘œ 2}
32
+
33
+ ## μ™„λ£Œ 쑰건
34
+
35
+ - [ ] {쑰건 1}
36
+ - [ ] {쑰건 2}
37
+
38
+ ## κ΄€λ ¨ λ¬Έμ„œ
39
+
40
+ - Spec: `docs/features/{be|fe}/F{번호}-{κΈ°λŠ₯λͺ…}/spec.md`
41
+
42
+ ## 라벨
43
+
44
+ - `enhancement` (μƒˆ κΈ°λŠ₯)
45
+ - `bug` (버그 μˆ˜μ •)
46
+ - `documentation` (λ¬Έμ„œ)
47
+ ```
48
+
49
+ ---
50
+
51
+ ## 라벨 κ·œμΉ™
52
+
53
+ | 라벨 | μš©λ„ |
54
+ | --------------- | ------------- |
55
+ | `enhancement` | μƒˆ κΈ°λŠ₯ |
56
+ | `bug` | 버그 μˆ˜μ • |
57
+ | `documentation` | λ¬Έμ„œ μž‘μ—… |
58
+ | `backend` | BE κ΄€λ ¨ |
59
+ | `frontend` | FE κ΄€λ ¨ |
60
+ | `priority:high` | 높은 μš°μ„ μˆœμœ„ |
@@ -0,0 +1,71 @@
1
+ # GitHub PR ν…œν”Œλ¦Ώ κ°€μ΄λ“œ
2
+
3
+ μ—μ΄μ „νŠΈκ°€ Pull Requestλ₯Ό 생성할 λ•Œ μ°Έμ‘°ν•˜λŠ” ν…œν”Œλ¦Ώμž…λ‹ˆλ‹€.
4
+
5
+ ---
6
+
7
+ ## PR 생성 κ·œμΉ™
8
+
9
+ ### 제λͺ© ν˜•μ‹
10
+
11
+ ```text
12
+ feat(#{이슈번호}): {κΈ°λŠ₯λͺ…}
13
+ ```
14
+
15
+ 예: `feat(#1): μ‚¬μš©μž 인증 κ΅¬ν˜„`
16
+
17
+ ---
18
+
19
+ ## PR λ³Έλ¬Έ ν…œν”Œλ¦Ώ
20
+
21
+ ```markdown
22
+ ## κ°œμš”
23
+
24
+ {λ³€κ²½ 사항에 λŒ€ν•œ κ°„λž΅ν•œ μ„€λͺ…}
25
+
26
+ ## λ³€κ²½ 사항
27
+
28
+ - {λ³€κ²½ 1}
29
+ - {λ³€κ²½ 2}
30
+ - {λ³€κ²½ 3}
31
+
32
+ ## ν…ŒμŠ€νŠΈ
33
+
34
+ - [ ] μœ λ‹› ν…ŒμŠ€νŠΈ 톡과
35
+ - [ ] 톡합 ν…ŒμŠ€νŠΈ μ™„λ£Œ
36
+
37
+ ## μŠ€ν¬λ¦°μƒ· (UI λ³€κ²½ μ‹œ)
38
+
39
+ {있으면 첨뢀}
40
+
41
+ ## κ΄€λ ¨ λ¬Έμ„œ
42
+
43
+ - Spec: `docs/features/{be|fe}/F{번호}-{κΈ°λŠ₯λͺ…}/spec.md`
44
+ - Tasks: `docs/features/{be|fe}/F{번호}-{κΈ°λŠ₯λͺ…}/tasks.md`
45
+
46
+ Closes #{이슈번호}
47
+ ```
48
+
49
+ ---
50
+
51
+ ## PR 생성 λͺ…λ Ήμ–΄
52
+
53
+ ```bash
54
+ # ν˜„μž¬ 브랜치λͺ… 확인
55
+ BRANCH=$(git branch --show-current)
56
+
57
+ gh pr create \
58
+ --title "feat(#{issue}): {κΈ°λŠ₯λͺ…}" \
59
+ --body-file /tmp/pr-body.md \
60
+ --base main
61
+ ```
62
+
63
+ ---
64
+
65
+ ## λ¨Έμ§€ κ·œμΉ™
66
+
67
+ | 상황 | λ¨Έμ§€ 방식 |
68
+ | ------------ | ----------------- |
69
+ | 일반 Feature | Squash and Merge |
70
+ | κΈ΄κΈ‰ Hotfix | Merge λ˜λŠ” Rebase |
71
+ | λ¬Έμ„œ μˆ˜μ • | Squash and Merge |
@@ -0,0 +1,56 @@
1
+ # Features Guide
2
+
3
+ Folder for managing feature specs, plans, and tasks.
4
+
5
+ ---
6
+
7
+ ## Folder Structure
8
+
9
+ ```
10
+ features/
11
+ β”œβ”€β”€ README.md # This file
12
+ β”œβ”€β”€ feature-base/ # Shared template
13
+ β”‚ β”œβ”€β”€ spec.md
14
+ β”‚ β”œβ”€β”€ plan.md
15
+ β”‚ β”œβ”€β”€ tasks.md
16
+ β”‚ └── decisions.md
17
+ └── F00X-{name}/ # Individual features
18
+ ```
19
+
20
+ ---
21
+
22
+ ## Creating New Features
23
+
24
+ ```bash
25
+ lee-spec-kit feature user-auth
26
+ ```
27
+
28
+ > πŸ’‘ CLI copies templates from `feature-base/` and auto-assigns IDs.
29
+
30
+ ---
31
+
32
+ ## Feature ID Rules
33
+
34
+ - `F{number}-{feature-name}` (e.g., F001-user-auth)
35
+ - Minimum **3-digit padding** for numbers
36
+ - Feature names in kebab-case
37
+ - **Feature = Issue**: Each Feature corresponds to one GitHub Issue
38
+
39
+ ---
40
+
41
+ ## Status Check
42
+
43
+ ```bash
44
+ lee-spec-kit status
45
+ ```
46
+
47
+ ---
48
+
49
+ ## File Roles
50
+
51
+ | File | Role | When to Write |
52
+ | -------------- | ------------------------- | ------------------- |
53
+ | `spec.md` | **What and Why** | Feature definition |
54
+ | `plan.md` | **How** (technical) | After spec approval |
55
+ | `tasks.md` | Work items | After plan approval |
56
+ | `decisions.md` | Technical decisions (ADR) | During development |
@@ -0,0 +1,15 @@
1
+ # Decisions Log
2
+
3
+ Record technical decisions and their rationale.
4
+
5
+ > Format: `D{number}: {Decision Title} ({YYYY-MM-DD})`
6
+
7
+ ---
8
+
9
+ ## D001: {Decision Title} ({YYYY-MM-DD})
10
+
11
+ - **Context**: Problem situation or background
12
+ - **Options**: Alternatives considered
13
+ - **Decision**: Final choice
14
+ - **Rationale**: Reason for choice
15
+ - **Consequences**: Results and impact (optional)
@@ -0,0 +1,48 @@
1
+ # Implementation Plan: {κΈ°λŠ₯λͺ…}
2
+
3
+ > Write after spec is approved.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ - **Feature ID**: F{번호}
10
+ - **Target Repo**: {{projectName}}
11
+ - **Created**: YYYY-MM-DD
12
+ - **Status**: Draft | Review | Approved
13
+
14
+ ---
15
+
16
+ ## Tech Stack
17
+
18
+ | Category | Choice | Reason |
19
+ | -------- | ------ | ------ |
20
+
21
+ ---
22
+
23
+ ## Architecture
24
+
25
+ (Component structure, data flow)
26
+
27
+ ---
28
+
29
+ ## File Structure
30
+
31
+ ```
32
+ src/
33
+ β”œβ”€β”€ ...
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Test Strategy
39
+
40
+ - **Unit Tests**:
41
+ - **Integration Tests**:
42
+
43
+ ---
44
+
45
+ ## Related Documents
46
+
47
+ - Spec: [spec.md](./spec.md)
48
+ - Decisions: [decisions.md](./decisions.md)
@@ -0,0 +1,55 @@
1
+ # Feature Spec: {κΈ°λŠ₯λͺ…}
2
+
3
+ > Tech stack is covered in plan.md.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ - **Feature ID**: F{번호}
10
+ - **Feature Name**: {κΈ°λŠ₯λͺ…}
11
+ - **Target Repo**: {{projectName}}
12
+ - **Issue Number**: #{이슈번호}
13
+ - **Created**: YYYY-MM-DD
14
+ - **Status**: Draft | Review | Approved
15
+
16
+ ---
17
+
18
+ ## Purpose
19
+
20
+ (Why is this feature needed? What problem does it solve?)
21
+
22
+ ---
23
+
24
+ ## User Stories
25
+
26
+ ### US-1: {Story Title}
27
+
28
+ **As a** {user type}
29
+ **I want** {desired action}
30
+ **So that** {reason/value}
31
+
32
+ **Acceptance Criteria:**
33
+
34
+ - [ ] (verification condition)
35
+
36
+ ---
37
+
38
+ ## Functional Requirements
39
+
40
+ ### FR-1: {Requirement Title}
41
+
42
+ (Detailed description)
43
+
44
+ ---
45
+
46
+ ## Non-Functional Requirements
47
+
48
+ - **Performance**:
49
+ - **Security**:
50
+
51
+ ---
52
+
53
+ ## Related Documents
54
+
55
+ - PRD: `../../prd/`
@@ -0,0 +1,33 @@
1
+ # Tasks: {κΈ°λŠ₯λͺ…}
2
+
3
+ ## Task Rules
4
+
5
+ - **Status**: `[TODO]` β†’ `[DOING]` β†’ `[DONE]`
6
+ - **Priority**: P0(urgent) > P1(high) > P2(medium) > P3(low)
7
+
8
+ ---
9
+
10
+ ## GitHub Issue
11
+
12
+ - **Repo**: {{projectName}}
13
+ - **Issue**: #{이슈번호}
14
+ - **Branch**: `feat/{이슈번호}-{κΈ°λŠ₯λͺ…}`
15
+
16
+ ---
17
+
18
+ ## Task List
19
+
20
+ ### Phase 1: {Phase Name}
21
+
22
+ - [TODO][P1] T-F{번호}-01 {Task Title}
23
+ - Acceptance:
24
+ - (verification condition)
25
+ - Checklist:
26
+ - [ ] (subtask)
27
+
28
+ ---
29
+
30
+ ## Completion Criteria
31
+
32
+ - [ ] All tasks [DONE]
33
+ - [ ] All tests passing
@@ -0,0 +1,15 @@
1
+ # PRD (Product Requirements Document)
2
+
3
+ 이 ν΄λ”μ—λŠ” μ œν’ˆ μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.
4
+
5
+ ## μž‘μ„± κ°€μ΄λ“œ
6
+
7
+ 1. ν”„λ‘œμ νŠΈ κ°œμš”μ™€ λͺ©ν‘œλ₯Ό μ •μ˜ν•˜μ„Έμš”
8
+ 2. μ£Όμš” κΈ°λŠ₯κ³Ό μ‚¬μš©μž μŠ€ν† λ¦¬λ₯Ό μž‘μ„±ν•˜μ„Έμš”
9
+ 3. 기술 μ•„ν‚€ν…μ²˜ κ°œμš”λ₯Ό ν¬ν•¨ν•˜μ„Έμš”
10
+
11
+ ## μ˜ˆμ‹œ 파일
12
+
13
+ - `{project-name}-prd.md` - 메인 PRD λ¬Έμ„œ
14
+ - `backend-overview.md` - λ°±μ—”λ“œ μ•„ν‚€ν…μ²˜ (선택)
15
+ - `frontend-overview.md` - ν”„λ‘ νŠΈμ—”λ“œ μ•„ν‚€ν…μ²˜ (선택)
@@ -0,0 +1,12 @@
1
+ # {{projectName}} λ¬Έμ„œ ꡬ쑰 κ°€μ΄λ“œ
2
+
3
+ μ—μ΄μ „νŠΈκ°€ ν”„λ‘œμ νŠΈ μ „λ°˜μ„ λΉ λ₯΄κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ λ¬Έμ„œλ₯Ό κΈ°λŠ₯λ³„λ‘œ 뢄리해 λ‘μ—ˆμŠ΅λ‹ˆλ‹€.
4
+
5
+ ## μƒμœ„ ꡬ쑰 μš”μ•½
6
+
7
+ | 경둜 | λͺ©μ  | 핡심 λ¬Έμ„œ/μ—­ν•  |
8
+ | ------------------- | -------------------- | ------------------------------------------------------------- |
9
+ | `docs/agents/` | μ—μ΄μ „νŠΈ 운영 κ·œμΉ™ | `agents.md`, `constitution.md`, `git-workflow.md` |
10
+ | `docs/prd/` | μ œν’ˆ μš”κ΅¬μ‚¬ν•­ | ν”„λ‘œμ νŠΈλ³„ μž‘μ„± |
11
+ | `docs/features/be/` | Backend κΈ°λŠ₯별 λ¬Έμ„œ | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |
12
+ | `docs/features/fe/` | Frontend κΈ°λŠ₯별 λ¬Έμ„œ | `{feature-id}/spec.md`, `plan.md`, `tasks.md`, `decisions.md` |