lee-spec-kit 0.1.7 → 0.2.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.
- package/dist/index.js +190 -61
- package/package.json +10 -8
- package/templates/en/common/agents/custom.md +29 -0
- package/templates/en/{fullstack → common}/agents/git-workflow.md +26 -35
- package/templates/en/{single → common}/agents/issue-template.md +10 -5
- package/templates/en/{single → common}/agents/pr-template.md +9 -2
- package/templates/en/common/agents/skills/create-feature.md +53 -0
- package/templates/en/common/agents/skills/create-issue.md +52 -0
- package/templates/en/common/agents/skills/create-pr.md +97 -0
- package/templates/en/common/agents/skills/execute-task.md +86 -0
- package/templates/en/fullstack/agents/agents.md +39 -26
- package/templates/en/single/agents/agents.md +35 -20
- package/templates/ko/common/agents/custom.md +29 -0
- package/templates/ko/{single → common}/agents/git-workflow.md +20 -74
- package/templates/ko/{single → common}/agents/issue-template.md +10 -5
- package/templates/ko/{fullstack → common}/agents/pr-template.md +9 -2
- package/templates/ko/common/agents/skills/create-feature.md +53 -0
- package/templates/ko/common/agents/skills/create-issue.md +52 -0
- package/templates/ko/common/agents/skills/create-pr.md +97 -0
- package/templates/ko/common/agents/skills/execute-task.md +86 -0
- package/templates/ko/fullstack/agents/agents.md +39 -33
- package/templates/ko/single/agents/agents.md +41 -21
- package/templates/en/fullstack/agents/constitution.md +0 -80
- package/templates/en/fullstack/agents/issue-template.md +0 -110
- package/templates/en/fullstack/agents/pr-template.md +0 -96
- package/templates/en/single/agents/git-workflow.md +0 -171
- package/templates/ko/fullstack/agents/git-workflow.md +0 -171
- package/templates/ko/fullstack/agents/issue-template.md +0 -114
- package/templates/ko/single/agents/constitution.md +0 -80
- package/templates/ko/single/agents/pr-template.md +0 -110
- /package/templates/en/{single → common}/agents/constitution.md +0 -0
- /package/templates/ko/{fullstack → common}/agents/constitution.md +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# GitHub Issue Creation Process
|
|
2
|
+
|
|
3
|
+
Guide for creating GitHub Issues.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- [ ] `spec.md` completed
|
|
10
|
+
- [ ] User approval received
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
### 1. Prepare Issue Content
|
|
17
|
+
|
|
18
|
+
> 📖 **Always refer to `issue-template.md`**
|
|
19
|
+
|
|
20
|
+
| Item | Format |
|
|
21
|
+
| -------- | ------------------------------------------- |
|
|
22
|
+
| Title | `F{number}: {feature-name} ({description})` |
|
|
23
|
+
| Body | Overview, Goals, Criteria, Related docs |
|
|
24
|
+
| Labels | `enhancement`, `bug`, `documentation`, etc. |
|
|
25
|
+
| Assignee | `@me` (default) |
|
|
26
|
+
|
|
27
|
+
### 2. Request User Approval
|
|
28
|
+
|
|
29
|
+
> 🚨 **User Approval Required**
|
|
30
|
+
|
|
31
|
+
Before creating issue, share and wait for approval:
|
|
32
|
+
|
|
33
|
+
- Title
|
|
34
|
+
- Body
|
|
35
|
+
- Labels
|
|
36
|
+
|
|
37
|
+
### 3. Create Issue
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
gh issue create \
|
|
41
|
+
--title "F{number}: {feature-name} ({description})" \
|
|
42
|
+
--body-file /tmp/issue-body.md \
|
|
43
|
+
--assignee @me \
|
|
44
|
+
--label enhancement
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Reference Documents
|
|
50
|
+
|
|
51
|
+
- **Issue Template**: `issue-template.md`
|
|
52
|
+
- **Link Format Rules**: `issue-template.md` > "Link Format" section
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Pull Request Creation Process
|
|
2
|
+
|
|
3
|
+
Guide for creating Pull Requests.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- [ ] All tasks in `[DONE]` state
|
|
10
|
+
- [ ] Changes committed
|
|
11
|
+
- [ ] Branch pushed
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
### 1. Prepare PR Content
|
|
18
|
+
|
|
19
|
+
> 📖 **Always refer to `pr-template.md`**
|
|
20
|
+
|
|
21
|
+
| Item | Format |
|
|
22
|
+
| -------- | ---------------------------------- |
|
|
23
|
+
| Title | `feat(#{issue-number}): {feature}` |
|
|
24
|
+
| Body | Overview, Changes, Tests, Docs |
|
|
25
|
+
| Labels | Appropriate labels |
|
|
26
|
+
| Assignee | `@me` (default) |
|
|
27
|
+
|
|
28
|
+
### 2. Test Verification
|
|
29
|
+
|
|
30
|
+
> 🚨 **Cannot create PR if tests fail**
|
|
31
|
+
|
|
32
|
+
1. Run related test commands (e.g., `npm test`, `pnpm test`)
|
|
33
|
+
2. Check results (PASS/FAIL)
|
|
34
|
+
3. Record **execution results** in PR body "Tests" section
|
|
35
|
+
4. Check boxes **only for items that actually passed**
|
|
36
|
+
|
|
37
|
+
### 3. Request User Approval
|
|
38
|
+
|
|
39
|
+
> 🚨 **User Approval Required**
|
|
40
|
+
|
|
41
|
+
Before creating PR, share and wait for approval:
|
|
42
|
+
|
|
43
|
+
- Title
|
|
44
|
+
- Body (including test results)
|
|
45
|
+
- Labels
|
|
46
|
+
|
|
47
|
+
### 4. Create PR
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
gh pr create \
|
|
51
|
+
--title "feat(#{issue-number}): {feature}" \
|
|
52
|
+
--body-file /tmp/pr-body.md \
|
|
53
|
+
--assignee @me \
|
|
54
|
+
--base main
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Important Notes
|
|
60
|
+
|
|
61
|
+
### Link Format
|
|
62
|
+
|
|
63
|
+
Use **current branch name** for file links in PR body:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
[filename](https://github.com/{owner}/{repo}/blob/{branch-name}/path/to/file)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
> ⚠️ `main` branch links will return 404 until merged!
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Code Review Modification Guidelines
|
|
74
|
+
|
|
75
|
+
> 📋 **Criteria for deciding whether to add a task when modifications are needed from review feedback**
|
|
76
|
+
|
|
77
|
+
### No task needed (Minor changes)
|
|
78
|
+
|
|
79
|
+
- Typo/code style fixes
|
|
80
|
+
- Variable/function name changes
|
|
81
|
+
- Comment additions/modifications
|
|
82
|
+
- Lint error fixes
|
|
83
|
+
|
|
84
|
+
### Task needed (Major changes)
|
|
85
|
+
|
|
86
|
+
- Logic/algorithm changes
|
|
87
|
+
- New file/function additions
|
|
88
|
+
- API signature changes
|
|
89
|
+
- Test case additions
|
|
90
|
+
- Requires changes to spec.md or plan.md
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Reference Documents
|
|
95
|
+
|
|
96
|
+
- **PR Template**: `pr-template.md`
|
|
97
|
+
- **Git Workflow**: `git-workflow.md`
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Task Execution Process
|
|
2
|
+
|
|
3
|
+
Guide for executing tasks from tasks.md.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Steps
|
|
8
|
+
|
|
9
|
+
### 1. Check Task
|
|
10
|
+
|
|
11
|
+
- Find next task in `tasks.md`
|
|
12
|
+
- Select task with `[TODO]` status
|
|
13
|
+
- ⚠️ **Verify current branch matches Feature branch** (`feat/{issue-number}-{feature-name}`)
|
|
14
|
+
|
|
15
|
+
### 2. Share Execution Plan
|
|
16
|
+
|
|
17
|
+
> 🚨 **User Approval Required**
|
|
18
|
+
|
|
19
|
+
Share execution plan with user before starting and wait for approval
|
|
20
|
+
|
|
21
|
+
### 3. Update Status
|
|
22
|
+
|
|
23
|
+
| Timing | Status Transition |
|
|
24
|
+
| ----------- | -------------------- |
|
|
25
|
+
| On start | `[TODO]` → `[DOING]` |
|
|
26
|
+
| On complete | `[DOING]` → `[DONE]` |
|
|
27
|
+
|
|
28
|
+
Record date (YYYY-MM-DD) with each status change
|
|
29
|
+
|
|
30
|
+
### 4. Commit After Task Completion
|
|
31
|
+
|
|
32
|
+
> 🚨 **User Approval Required**
|
|
33
|
+
|
|
34
|
+
Before committing, share and wait for approval:
|
|
35
|
+
|
|
36
|
+
- Commit message
|
|
37
|
+
- Files to be included
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git add .
|
|
41
|
+
git commit -m "{type}(#{issue-number}): {task description}"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Handling Requests Outside tasks.md
|
|
47
|
+
|
|
48
|
+
When user requests work not in tasks.md:
|
|
49
|
+
|
|
50
|
+
1. Ask if it should be added to tasks.md
|
|
51
|
+
2. If approved: Add to tasks.md then execute
|
|
52
|
+
3. If declined: Proceed as temporary work (still included in commit)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 🚨 Never Modify Completed Tasks
|
|
57
|
+
|
|
58
|
+
> ⚠️ **Tasks in `[DONE]` status must NEVER be modified.**
|
|
59
|
+
|
|
60
|
+
### Principle
|
|
61
|
+
|
|
62
|
+
- Completed tasks are preserved for **history/record purposes**
|
|
63
|
+
- If modifications are needed, **add a new task**
|
|
64
|
+
|
|
65
|
+
### When Modifications Are Needed
|
|
66
|
+
|
|
67
|
+
1. Keep the existing task as-is
|
|
68
|
+
2. Add new task: `T{next-number}: {modification description}`
|
|
69
|
+
3. Perform changes in the new task
|
|
70
|
+
|
|
71
|
+
**Example:**
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## Tasks
|
|
75
|
+
|
|
76
|
+
- [DONE] T001: Implement user authentication (2026-01-05)
|
|
77
|
+
- [DONE] T002: Create login page (2026-01-06)
|
|
78
|
+
- [TODO] T003: Fix T002 - Add password validation ← New task for modifications
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Reference Documents
|
|
84
|
+
|
|
85
|
+
- **Git Workflow**: `git-workflow.md`
|
|
86
|
+
- **Commit Convention**: `git-workflow.md` > "Commit Convention" section
|
|
@@ -4,10 +4,38 @@ Operating rules for AI code assistants to perform consistent code generation and
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## 🚨 User Approval Required (MUST)
|
|
8
|
+
|
|
9
|
+
> ⚠️ **The following actions require explicit user approval (OK) before proceeding.**
|
|
10
|
+
> **If approval is not given, stop immediately and request confirmation.**
|
|
11
|
+
|
|
12
|
+
| Action | When to Confirm | What to Share |
|
|
13
|
+
| --------------------- | ------------------------ | ------------------------- |
|
|
14
|
+
| Spec Writing | After writing `spec.md` | Full spec content |
|
|
15
|
+
| Task Execution | Before each task | Execution plan |
|
|
16
|
+
| Commit Creation | Before `git commit` | Commit message, file list |
|
|
17
|
+
| Issue Creation | Before `gh issue create` | Title, body, labels |
|
|
18
|
+
| PR Creation | Before `gh pr create` | Title, body, labels |
|
|
19
|
+
| Assignee Change | When assigning others | Target username |
|
|
20
|
+
| Remote Git Operations | Before `push`, `merge` | Branch, changes |
|
|
21
|
+
|
|
22
|
+
### Approval Process
|
|
23
|
+
|
|
24
|
+
1. **Share** action details with user first
|
|
25
|
+
2. **Wait** for explicit user approval (OK)
|
|
26
|
+
3. **Execute** only after approval
|
|
27
|
+
|
|
28
|
+
> 🚫 **Prohibited**: Proceeding without user response
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
7
32
|
## Reference Documents
|
|
8
33
|
|
|
9
34
|
### Core Documents
|
|
10
35
|
|
|
36
|
+
> ⚠️ **Rules in `custom.md` take precedence over all other rules.**
|
|
37
|
+
|
|
38
|
+
- **🔴 Custom Rules (Highest Priority)**: `/docs/agents/custom.md`
|
|
11
39
|
- **Project Principles**: `/docs/agents/constitution.md`
|
|
12
40
|
- **Git Workflow**: `/docs/agents/git-workflow.md`
|
|
13
41
|
- **Issue Template**: `/docs/agents/issue-template.md`
|
|
@@ -47,35 +75,20 @@ docs/
|
|
|
47
75
|
|
|
48
76
|
## Request Type Processes
|
|
49
77
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
1. Identify target repo (BE or FE)
|
|
53
|
-
2. Create feature folder: `npx lee-spec-kit feature <name>`
|
|
54
|
-
3. Write `spec.md` - what and why (no tech stack)
|
|
55
|
-
4. Request spec review from user
|
|
56
|
-
5. Create GitHub Issue
|
|
57
|
-
|
|
58
|
-
### 2. Spec to Plan
|
|
59
|
-
|
|
60
|
-
1. Verify spec is clear
|
|
61
|
-
2. Write `plan.md` - tech stack, architecture, file structure
|
|
62
|
-
3. **Record key decisions in `decisions.md`** (required)
|
|
63
|
-
4. Decompose into tasks after user approval
|
|
64
|
-
|
|
65
|
-
### 3. Task Execution
|
|
66
|
-
|
|
67
|
-
1. Write tasks in `tasks.md`
|
|
68
|
-
2. Execute after user approval
|
|
69
|
-
3. Transition status: `[TODO]` → `[DOING]` → `[DONE]`
|
|
70
|
-
4. Commit immediately after task completion
|
|
78
|
+
> 📖 Refer to `skills/` folder for detailed process guides.
|
|
71
79
|
|
|
72
|
-
|
|
80
|
+
| Process | Guide |
|
|
81
|
+
| -------------- | -------------------------- |
|
|
82
|
+
| New Feature | `skills/create-feature.md` |
|
|
83
|
+
| GitHub Issue | `skills/create-issue.md` |
|
|
84
|
+
| Pull Request | `skills/create-pr.md` |
|
|
85
|
+
| Task Execution | `skills/execute-task.md` |
|
|
73
86
|
|
|
74
|
-
|
|
87
|
+
### Additional Rules (Fullstack)
|
|
75
88
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
89
|
+
- **Identify target repo**: Determine BE or FE before feature creation
|
|
90
|
+
- **Write plan.md**: Tech stack and architecture decisions after spec approval
|
|
91
|
+
- **Record in decisions.md**: Document all major technical decisions
|
|
79
92
|
|
|
80
93
|
---
|
|
81
94
|
|
|
@@ -4,10 +4,38 @@ Operating rules for AI code assistants to perform consistent code generation and
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## 🚨 User Approval Required (MUST)
|
|
8
|
+
|
|
9
|
+
> ⚠️ **The following actions require explicit user approval (OK) before proceeding.**
|
|
10
|
+
> **If approval is not given, stop immediately and request confirmation.**
|
|
11
|
+
|
|
12
|
+
| Action | When to Confirm | What to Share |
|
|
13
|
+
| --------------------- | ------------------------ | ------------------------- |
|
|
14
|
+
| Spec Writing | After writing `spec.md` | Full spec content |
|
|
15
|
+
| Task Execution | Before each task | Execution plan |
|
|
16
|
+
| Commit Creation | Before `git commit` | Commit message, file list |
|
|
17
|
+
| Issue Creation | Before `gh issue create` | Title, body, labels |
|
|
18
|
+
| PR Creation | Before `gh pr create` | Title, body, labels |
|
|
19
|
+
| Assignee Change | When assigning others | Target username |
|
|
20
|
+
| Remote Git Operations | Before `push`, `merge` | Branch, changes |
|
|
21
|
+
|
|
22
|
+
### Approval Process
|
|
23
|
+
|
|
24
|
+
1. **Share** action details with user first
|
|
25
|
+
2. **Wait** for explicit user approval (OK)
|
|
26
|
+
3. **Execute** only after approval
|
|
27
|
+
|
|
28
|
+
> 🚫 **Prohibited**: Proceeding without user response
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
7
32
|
## Reference Documents
|
|
8
33
|
|
|
9
34
|
### Core Documents
|
|
10
35
|
|
|
36
|
+
> ⚠️ **Rules in `custom.md` take precedence over all other rules.**
|
|
37
|
+
|
|
38
|
+
- **🔴 Custom Rules (Highest Priority)**: `/docs/agents/custom.md`
|
|
11
39
|
- **Project Principles**: `/docs/agents/constitution.md`
|
|
12
40
|
- **Git Workflow**: `/docs/agents/git-workflow.md`
|
|
13
41
|
- **Issue Template**: `/docs/agents/issue-template.md`
|
|
@@ -42,27 +70,14 @@ docs/
|
|
|
42
70
|
|
|
43
71
|
## Request Type Processes
|
|
44
72
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
1. Create feature folder: `npx 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
|
-
### 3. Handling Requests Outside Tasks
|
|
60
|
-
|
|
61
|
-
> When user requests **work not in tasks.md**:
|
|
73
|
+
> 📖 Refer to `skills/` folder for detailed process guides.
|
|
62
74
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
75
|
+
| Process | Guide |
|
|
76
|
+
| -------------- | -------------------------- |
|
|
77
|
+
| New Feature | `skills/create-feature.md` |
|
|
78
|
+
| GitHub Issue | `skills/create-issue.md` |
|
|
79
|
+
| Pull Request | `skills/create-pr.md` |
|
|
80
|
+
| Task Execution | `skills/execute-task.md` |
|
|
66
81
|
|
|
67
82
|
---
|
|
68
83
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Custom Rules
|
|
2
|
+
|
|
3
|
+
> ⚠️ 이 문서는 **사용자 정의 규칙**입니다.
|
|
4
|
+
> `npx lee-spec-kit update`의 영향을 받지 않습니다.
|
|
5
|
+
> **이 문서의 규칙은 다른 모든 agents 규칙보다 우선합니다.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 프로젝트 특화 규칙
|
|
10
|
+
|
|
11
|
+
(여기에 프로젝트만의 규칙을 작성하세요)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 추가 언어/코드 규칙
|
|
16
|
+
|
|
17
|
+
(기본 규칙을 오버라이드하거나 추가 규칙을 작성하세요)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 커스텀 워크플로우
|
|
22
|
+
|
|
23
|
+
(프로젝트만의 워크플로우가 있다면 작성하세요)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 기타
|
|
28
|
+
|
|
29
|
+
(기타 규칙을 작성하세요)
|
|
@@ -70,90 +70,36 @@ main
|
|
|
70
70
|
|
|
71
71
|
## 자동화 워크플로우
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
> 📖 단계별 상세 가이드는 `skills/` 폴더를 참조하세요.
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
> `gh`로 이슈/PR 생성·수정 시 작성할 제목/본문/라벨을 먼저 공유하고 **반드시** 사용자 확인(OK) 후 진행합니다.
|
|
82
|
-
|
|
83
|
-
### 2. 문서 작성 및 커밋
|
|
84
|
-
|
|
85
|
-
| 문서 | 커밋 시점 | 커밋 메시지 예시 |
|
|
86
|
-
| ------------ | ------------------ | ------------------------ |
|
|
87
|
-
| spec.md | 사용자 승인 후 | `docs(#123): spec 작성` |
|
|
88
|
-
| plan.md | 사용자 승인 후 | `docs(#123): plan 작성` |
|
|
89
|
-
| tasks.md | 사용자 승인 후 | `docs(#123): tasks 분해` |
|
|
90
|
-
| decisions.md | 태스크 커밋에 포함 | (별도 커밋 없음) |
|
|
91
|
-
|
|
92
|
-
> 📌 **Feature 폴더 생성 시점**에는 커밋하지 않습니다.
|
|
93
|
-
> 각 문서가 **사용자 승인**을 받은 후 개별 커밋합니다.
|
|
94
|
-
|
|
95
|
-
### 3. 태스크 완료 시 자동 커밋
|
|
96
|
-
|
|
97
|
-
태스크 하나가 완료되면:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
git add .
|
|
101
|
-
git commit -m "{type}(#{issue}): {task-description}"
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
> `git commit` 실행 전 커밋 메시지와 포함될 파일 목록을 먼저 공유하고 **반드시** 사용자 확인(OK) 후 진행합니다.
|
|
105
|
-
|
|
106
|
-
### 4. Feature 완료 시 PR 생성
|
|
75
|
+
| 워크플로우 | 가이드 |
|
|
76
|
+
| ------------ | -------------------------- |
|
|
77
|
+
| Feature 시작 | `skills/create-feature.md` |
|
|
78
|
+
| Issue 생성 | `skills/create-issue.md` |
|
|
79
|
+
| 태스크 실행 | `skills/execute-task.md` |
|
|
80
|
+
| PR 생성 | `skills/create-pr.md` |
|
|
107
81
|
|
|
108
|
-
|
|
82
|
+
### 브랜치 생성
|
|
109
83
|
|
|
110
84
|
```bash
|
|
111
|
-
git
|
|
112
|
-
gh pr create --title "feat(#{issue}): {feature-title}" \
|
|
113
|
-
--body "Closes #{issue}" \
|
|
114
|
-
--base main
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 5. 머지
|
|
118
|
-
|
|
119
|
-
모든 리뷰 해결 시:
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
# 머지 전 main 최신화
|
|
123
|
-
git checkout main
|
|
124
|
-
git pull
|
|
125
|
-
|
|
126
|
-
# Squash and Merge
|
|
127
|
-
gh pr merge --squash --delete-branch
|
|
128
|
-
|
|
129
|
-
# 머지 후 main 최신화
|
|
130
|
-
git pull
|
|
85
|
+
git checkout -b feat/{issue-number}-{feature-name}
|
|
131
86
|
```
|
|
132
87
|
|
|
133
|
-
|
|
88
|
+
### 문서 커밋 시점 (docs 레포)
|
|
134
89
|
|
|
135
|
-
|
|
90
|
+
| 커밋 시점 | 포함 내용 | 커밋 메시지 예시 |
|
|
91
|
+
| -------------------------------------- | ---------------------------------- | ---------------------------------------------- |
|
|
92
|
+
| 계획 완료 시 (spec+plan+tasks 승인 후) | `F{번호}-{기능명}/` 폴더 전체 | `docs(#{이슈번호}): F{번호} spec, plan, tasks` |
|
|
93
|
+
| Feature 완료 시 (모든 태스크 완료 후) | `F{번호}-{기능명}/` 폴더 변경 사항 | `docs(#{이슈번호}): F{번호} Feature 완료` |
|
|
136
94
|
|
|
137
|
-
|
|
95
|
+
> ⚠️ Feature 폴더 생성 시점에는 커밋하지 않습니다.
|
|
138
96
|
|
|
139
|
-
|
|
140
|
-
1. 코드 변경 완료
|
|
141
|
-
2. tasks.md 상태 [DOING] → [DONE] 업데이트 (docs)
|
|
142
|
-
3. git add .
|
|
143
|
-
4. git commit -m "{type}(#{issue}): {description}"
|
|
144
|
-
5. 다음 태스크 진행
|
|
145
|
-
```
|
|
97
|
+
### 머지 전략
|
|
146
98
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
2. git push origin {branch}
|
|
152
|
-
3. gh pr create
|
|
153
|
-
4. 리뷰 대기
|
|
154
|
-
5. 리뷰 코멘트 수정
|
|
155
|
-
6. gh pr merge --squash
|
|
156
|
-
```
|
|
99
|
+
| 상황 | 머지 방식 |
|
|
100
|
+
| ------------ | ---------------- |
|
|
101
|
+
| 일반 Feature | Squash and Merge |
|
|
102
|
+
| 긴급 Hotfix | Squash and Merge |
|
|
157
103
|
|
|
158
104
|
---
|
|
159
105
|
|
|
@@ -36,12 +36,17 @@ GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
|
|
|
36
36
|
[react-i18next](https://react.i18next.com/)
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
3.
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
3. **로컬 문서** (docs 레포 등, URL 없음): **프로젝트 루트 기준 경로**
|
|
40
|
+
|
|
41
|
+
> 📁 로컬 문서는 **프로젝트 루트 기준** 경로로 작성합니다.
|
|
42
|
+
> 형식: `- **{레이블}**: \`{경로}\``
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
- **Spec**: `{{featurePath}}/F001-feature-name/spec.md`
|
|
46
|
+
- **Tasks**: `{{featurePath}}/F001-feature-name/tasks.md`
|
|
42
47
|
```
|
|
43
48
|
|
|
44
|
-
> ⚠️ 로컬 문서는 GitHub에서 클릭되지 않으므로, 링크 대신
|
|
49
|
+
> ⚠️ 로컬 문서는 GitHub에서 클릭되지 않으므로, 마크다운 링크 대신 **볼드 레이블 + 코드블록 경로** 형식을 사용합니다.
|
|
45
50
|
|
|
46
51
|
---
|
|
47
52
|
|
|
@@ -64,7 +69,7 @@ GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
|
|
|
64
69
|
|
|
65
70
|
## 관련 문서
|
|
66
71
|
|
|
67
|
-
- Spec
|
|
72
|
+
- **Spec**: `{{featurePath}}/F{번호}-{기능명}/spec.md`
|
|
68
73
|
|
|
69
74
|
## 라벨
|
|
70
75
|
|
|
@@ -40,17 +40,24 @@ PR 본문에서 레포 내 파일 링크는 **반드시 현재 브랜치명을
|
|
|
40
40
|
|
|
41
41
|
## 테스트
|
|
42
42
|
|
|
43
|
+
> ⚠️ **실제 테스트 실행 후 체크하세요. 미실행 항목은 체크하지 마세요.**
|
|
44
|
+
|
|
43
45
|
- [ ] 유닛 테스트 통과
|
|
44
46
|
- [ ] 통합 테스트 완료
|
|
45
47
|
|
|
48
|
+
### 실행 결과
|
|
49
|
+
|
|
50
|
+
- 명령어: `{실행한 테스트 명령어}`
|
|
51
|
+
- 결과: `{PASS/FAIL 요약}`
|
|
52
|
+
|
|
46
53
|
## 스크린샷 (UI 변경 시)
|
|
47
54
|
|
|
48
55
|
{있으면 첨부}
|
|
49
56
|
|
|
50
57
|
## 관련 문서
|
|
51
58
|
|
|
52
|
-
- Spec
|
|
53
|
-
- Tasks
|
|
59
|
+
- **Spec**: `{{featurePath}}/F{번호}-{기능명}/spec.md`
|
|
60
|
+
- **Tasks**: `{{featurePath}}/F{번호}-{기능명}/tasks.md`
|
|
54
61
|
|
|
55
62
|
Closes #{이슈번호}
|
|
56
63
|
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# 새 기능 추가 프로세스
|
|
2
|
+
|
|
3
|
+
새 기능(Feature)을 추가할 때 따르는 단계별 가이드입니다.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 단계
|
|
8
|
+
|
|
9
|
+
### 1. Feature 폴더 생성
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx lee-spec-kit feature <name> -d "<설명>"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- `<name>`: 기능 이름 (영문, 하이픈 사용)
|
|
16
|
+
- `-d`: 기능 설명 (spec.md에 자동 반영)
|
|
17
|
+
|
|
18
|
+
**예시:**
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx lee-spec-kit feature user-auth -d "사용자 인증 및 세션 관리"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. spec.md 작성
|
|
25
|
+
|
|
26
|
+
- **무엇을**: 기능이 무엇인지 명확히 기술
|
|
27
|
+
- **왜**: 이 기능이 필요한 이유
|
|
28
|
+
- ❌ 기술 스택은 작성하지 않음 (plan.md에서 다룸)
|
|
29
|
+
|
|
30
|
+
### 3. 사용자 확인 요청
|
|
31
|
+
|
|
32
|
+
> 🚨 **사용자 확인 필수**
|
|
33
|
+
|
|
34
|
+
spec.md 전문을 사용자에게 공유하고 **명시적 승인(OK)** 대기
|
|
35
|
+
|
|
36
|
+
### 4. GitHub Issue 생성
|
|
37
|
+
|
|
38
|
+
→ `skills/create-issue.md` 참조
|
|
39
|
+
|
|
40
|
+
### 5. 문서 커밋 전 확인
|
|
41
|
+
|
|
42
|
+
> ⚠️ **커밋 전 체크리스트**
|
|
43
|
+
|
|
44
|
+
- [ ] spec.md에 이슈번호 반영 (`- **이슈 번호**: #{이슈번호}`)
|
|
45
|
+
- [ ] tasks.md에 이슈번호 반영 (`- **Issue**: #{이슈번호}`)
|
|
46
|
+
- [ ] tasks.md에 브랜치명 반영 (`feat/{이슈번호}-{기능명}`)
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 참조 문서
|
|
51
|
+
|
|
52
|
+
- **Feature 템플릿**: `features/feature-base/`
|
|
53
|
+
- **Issue 생성 가이드**: `skills/create-issue.md`
|