lee-spec-kit 0.1.3 → 0.1.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.md +5 -5
- package/dist/index.js +105 -53
- package/package.json +1 -1
- package/templates/en/fullstack/agents/agents.md +1 -1
- package/templates/en/fullstack/agents/constitution.md +5 -0
- package/templates/en/fullstack/agents/git-workflow.md +2 -0
- package/templates/en/fullstack/agents/issue-template.md +26 -1
- package/templates/en/fullstack/agents/pr-template.md +10 -1
- package/templates/en/fullstack/features/README.md +4 -4
- package/templates/en/fullstack/features/be/README.md +1 -1
- package/templates/en/fullstack/features/fe/README.md +1 -1
- package/templates/en/fullstack/features/feature-base/plan.md +2 -2
- package/templates/en/fullstack/features/feature-base/spec.md +4 -4
- package/templates/en/fullstack/features/feature-base/tasks.md +4 -4
- package/templates/en/fullstack/prd/README.md +5 -0
- package/templates/en/single/agents/agents.md +1 -1
- package/templates/en/single/agents/constitution.md +44 -39
- package/templates/en/single/agents/git-workflow.md +62 -60
- package/templates/en/single/agents/issue-template.md +56 -29
- package/templates/en/single/agents/pr-template.md +42 -31
- package/templates/en/single/features/README.md +2 -2
- package/templates/en/single/features/feature-base/plan.md +2 -2
- package/templates/en/single/features/feature-base/spec.md +4 -4
- package/templates/en/single/features/feature-base/tasks.md +4 -4
- package/templates/en/single/prd/README.md +14 -9
- package/templates/ko/fullstack/agents/agents.md +1 -1
- package/templates/ko/fullstack/agents/constitution.md +5 -0
- package/templates/ko/fullstack/agents/git-workflow.md +2 -0
- package/templates/ko/fullstack/agents/issue-template.md +27 -0
- package/templates/ko/fullstack/agents/pr-template.md +10 -1
- package/templates/ko/fullstack/features/README.md +4 -4
- package/templates/ko/fullstack/features/be/README.md +1 -1
- package/templates/ko/fullstack/features/fe/README.md +1 -1
- package/templates/ko/fullstack/prd/README.md +5 -0
- package/templates/ko/single/agents/agents.md +1 -1
- package/templates/ko/single/agents/constitution.md +5 -0
- package/templates/ko/single/agents/git-workflow.md +2 -0
- package/templates/ko/single/agents/issue-template.md +27 -0
- package/templates/ko/single/agents/pr-template.md +10 -1
- package/templates/ko/single/features/README.md +2 -2
- package/templates/ko/single/prd/README.md +5 -0
|
@@ -1,97 +1,99 @@
|
|
|
1
|
-
# Git
|
|
1
|
+
# Git Workflow Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Rules for AI agents to automate Git/GitHub operations.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Core Concepts
|
|
8
8
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
| Feature
|
|
12
|
-
|
|
|
13
|
-
|
|
|
9
|
+
| Concept | GitHub Mapping | Description |
|
|
10
|
+
| ---------------- | -------------- | ------------------------------- |
|
|
11
|
+
| Feature | GitHub Issue | Feature-level work unit |
|
|
12
|
+
| Task | Commit | Individual implementation unit |
|
|
13
|
+
| Feature Complete | Pull Request | Create PR on feature completion |
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Branch Strategy
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
main
|
|
21
|
-
└── feat/123-feature-name # Issue #123
|
|
22
|
-
├── commit 1: feat(#123):
|
|
23
|
-
├── commit 2: test(#123):
|
|
24
|
-
└── commit 3: docs(#123):
|
|
21
|
+
└── feat/123-feature-name # Branch based on Issue #123
|
|
22
|
+
├── commit 1: feat(#123): implement feature
|
|
23
|
+
├── commit 2: test(#123): add tests
|
|
24
|
+
└── commit 3: docs(#123): update docs
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
###
|
|
27
|
+
### Branch Naming
|
|
28
28
|
|
|
29
29
|
```
|
|
30
30
|
{type}/{issue-number}-{feature-name}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
| Type |
|
|
34
|
-
| ---------- |
|
|
35
|
-
| `feat` |
|
|
36
|
-
| `fix` |
|
|
37
|
-
| `refactor` |
|
|
38
|
-
| `docs` |
|
|
33
|
+
| Type | Description |
|
|
34
|
+
| ---------- | ------------- |
|
|
35
|
+
| `feat` | New feature |
|
|
36
|
+
| `fix` | Bug fix |
|
|
37
|
+
| `refactor` | Refactoring |
|
|
38
|
+
| `docs` | Documentation |
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
**Examples:**
|
|
41
41
|
|
|
42
42
|
- `feat/123-user-auth`
|
|
43
43
|
- `fix/456-login-error`
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
|
-
##
|
|
47
|
+
## Commit Convention
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
> 📖 Type and Description follow [Udacity Git Commit Message Style Guide](https://udacity.github.io/git-styleguide/).
|
|
50
|
+
|
|
51
|
+
### Format
|
|
50
52
|
|
|
51
53
|
```
|
|
52
54
|
{type}(#{issue}): {description}
|
|
53
55
|
```
|
|
54
56
|
|
|
55
|
-
### Type
|
|
57
|
+
### Type List
|
|
56
58
|
|
|
57
|
-
| Type |
|
|
58
|
-
| ---------- |
|
|
59
|
-
| `feat` |
|
|
60
|
-
| `fix` |
|
|
61
|
-
| `refactor` |
|
|
62
|
-
| `test` |
|
|
63
|
-
| `docs` |
|
|
64
|
-
| `style` |
|
|
65
|
-
| `chore` |
|
|
59
|
+
| Type | Description | Example |
|
|
60
|
+
| ---------- | ------------- | ------------------------------------- |
|
|
61
|
+
| `feat` | New feature | `feat(#123): implement user auth` |
|
|
62
|
+
| `fix` | Bug fix | `fix(#123): fix login error` |
|
|
63
|
+
| `refactor` | Refactoring | `refactor(#123): separate auth logic` |
|
|
64
|
+
| `test` | Tests | `test(#123): add auth unit tests` |
|
|
65
|
+
| `docs` | Documentation | `docs(#123): clarify spec` |
|
|
66
|
+
| `style` | Code style | `style(#123): fix lint errors` |
|
|
67
|
+
| `chore` | Other | `chore(#123): update dependencies` |
|
|
66
68
|
|
|
67
69
|
---
|
|
68
70
|
|
|
69
|
-
##
|
|
71
|
+
## Automation Workflow
|
|
70
72
|
|
|
71
|
-
### 1. Feature
|
|
73
|
+
### 1. Feature Start
|
|
72
74
|
|
|
73
75
|
```bash
|
|
74
|
-
# 1. GitHub Issue
|
|
75
|
-
# 2.
|
|
76
|
+
# 1. Create GitHub Issue (Feature = Issue)
|
|
77
|
+
# 2. Create branch
|
|
76
78
|
git checkout -b feat/{issue-number}-{feature-name}
|
|
77
79
|
```
|
|
78
80
|
|
|
79
|
-
> `gh
|
|
81
|
+
> When creating/modifying issues/PRs with `gh`, share the title/body/labels first and **wait for user confirmation (OK)** before proceeding.
|
|
80
82
|
|
|
81
|
-
### 2.
|
|
83
|
+
### 2. Auto Commit on Task Completion
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
When a task is completed:
|
|
84
86
|
|
|
85
87
|
```bash
|
|
86
88
|
git add .
|
|
87
89
|
git commit -m "{type}(#{issue}): {task-description}"
|
|
88
90
|
```
|
|
89
91
|
|
|
90
|
-
> `git commit
|
|
92
|
+
> Before running `git commit`, share the commit message and file list first and **wait for user confirmation (OK)** before proceeding.
|
|
91
93
|
|
|
92
|
-
### 3.
|
|
94
|
+
### 3. Create PR on Feature Completion
|
|
93
95
|
|
|
94
|
-
|
|
96
|
+
When all tasks are completed:
|
|
95
97
|
|
|
96
98
|
```bash
|
|
97
99
|
git push origin feat/{issue-number}-{feature-name}
|
|
@@ -100,58 +102,58 @@ gh pr create --title "feat(#{issue}): {feature-title}" \
|
|
|
100
102
|
--base main
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
### 4.
|
|
105
|
+
### 4. Merge
|
|
104
106
|
|
|
105
|
-
|
|
107
|
+
When all reviews are resolved:
|
|
106
108
|
|
|
107
109
|
```bash
|
|
108
|
-
#
|
|
110
|
+
# Update main before merge
|
|
109
111
|
git checkout main
|
|
110
112
|
git pull
|
|
111
113
|
|
|
112
114
|
# Squash and Merge
|
|
113
115
|
gh pr merge --squash --delete-branch
|
|
114
116
|
|
|
115
|
-
#
|
|
117
|
+
# Update main after merge
|
|
116
118
|
git pull
|
|
117
119
|
```
|
|
118
120
|
|
|
119
121
|
---
|
|
120
122
|
|
|
121
|
-
##
|
|
123
|
+
## Agent Automation Rules
|
|
122
124
|
|
|
123
|
-
###
|
|
125
|
+
### On Task Completion
|
|
124
126
|
|
|
125
127
|
```
|
|
126
|
-
1.
|
|
127
|
-
2. tasks.md
|
|
128
|
+
1. Complete code changes
|
|
129
|
+
2. Update tasks.md status [DOING] → [DONE] (docs)
|
|
128
130
|
3. git add .
|
|
129
131
|
4. git commit -m "{type}(#{issue}): {description}"
|
|
130
|
-
5.
|
|
132
|
+
5. Proceed to next task
|
|
131
133
|
```
|
|
132
134
|
|
|
133
|
-
### Feature
|
|
135
|
+
### On Feature Completion
|
|
134
136
|
|
|
135
137
|
```
|
|
136
|
-
1.
|
|
138
|
+
1. Verify all tasks [DONE]
|
|
137
139
|
2. git push origin {branch}
|
|
138
140
|
3. gh pr create
|
|
139
|
-
4.
|
|
140
|
-
5.
|
|
141
|
+
4. Wait for review
|
|
142
|
+
5. Address review comments
|
|
141
143
|
6. gh pr merge --squash
|
|
142
144
|
```
|
|
143
145
|
|
|
144
146
|
---
|
|
145
147
|
|
|
146
|
-
## GitHub
|
|
148
|
+
## GitHub Setup Requirements
|
|
147
149
|
|
|
148
|
-
###
|
|
150
|
+
### Required
|
|
149
151
|
|
|
150
|
-
- [ ] GitHub CLI (`gh`)
|
|
152
|
+
- [ ] GitHub CLI (`gh`) installed and authenticated
|
|
151
153
|
- [ ] Branch protection rules (main)
|
|
152
154
|
- Require PR before merging
|
|
153
155
|
|
|
154
|
-
###
|
|
156
|
+
### Recommended
|
|
155
157
|
|
|
156
158
|
- [ ] Auto-delete head branches
|
|
157
159
|
- [ ] Squash merging only
|
|
@@ -1,62 +1,89 @@
|
|
|
1
|
-
# GitHub Issue
|
|
1
|
+
# GitHub Issue Template Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A template for AI agents to create GitHub Issues.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Issue Creation Rules
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### Title Format
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
|
-
F{
|
|
12
|
+
F{number}: {feature-name} ({short description})
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Example: `F001: user-auth (User authentication feature)`
|
|
16
16
|
|
|
17
|
-
> "
|
|
17
|
+
> Keep the "short description" concise enough to convey the intent in one line.
|
|
18
|
+
|
|
19
|
+
### Link Format (Important!)
|
|
20
|
+
|
|
21
|
+
In GitHub Issues, use different link formats **based on file location**:
|
|
22
|
+
|
|
23
|
+
1. **Files within project repo**: Use full URL (clickable)
|
|
24
|
+
- **Merged documents/code**: Use `main` branch
|
|
25
|
+
```markdown
|
|
26
|
+
[filename](https://github.com/{owner}/{repo}/blob/main/path/to/file)
|
|
27
|
+
```
|
|
28
|
+
- **In-progress documents** (not merged yet): Use **Feature branch**
|
|
29
|
+
```markdown
|
|
30
|
+
[filename](https://github.com/{owner}/{repo}/blob/{feat-branch}/path/to/file)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
2. **External documents (with public URL)**: Use **absolute URL**
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
[react-i18next](https://react.i18next.com/)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
3. **External/local documents** (no URL available): Use **relative path as text only**
|
|
40
|
+
```text
|
|
41
|
+
../docs/features/F001-feature-name/spec.md
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
> ⚠️ Local documents are not clickable on GitHub, so provide path text only.
|
|
18
45
|
|
|
19
46
|
---
|
|
20
47
|
|
|
21
|
-
##
|
|
48
|
+
## Issue Body Template
|
|
22
49
|
|
|
23
50
|
```markdown
|
|
24
|
-
##
|
|
51
|
+
## Overview
|
|
25
52
|
|
|
26
|
-
{
|
|
53
|
+
{Brief description of the feature}
|
|
27
54
|
|
|
28
|
-
##
|
|
55
|
+
## Goals
|
|
29
56
|
|
|
30
|
-
- {
|
|
31
|
-
- {
|
|
57
|
+
- {Goal 1}
|
|
58
|
+
- {Goal 2}
|
|
32
59
|
|
|
33
|
-
##
|
|
60
|
+
## Completion Criteria
|
|
34
61
|
|
|
35
|
-
- [ ] {
|
|
36
|
-
- [ ] {
|
|
62
|
+
- [ ] {Criterion 1}
|
|
63
|
+
- [ ] {Criterion 2}
|
|
37
64
|
|
|
38
|
-
##
|
|
65
|
+
## Related Documents
|
|
39
66
|
|
|
40
|
-
- Spec: `docs/features/
|
|
67
|
+
- Spec: `docs/features/F{number}-{feature-name}/spec.md`
|
|
41
68
|
|
|
42
|
-
##
|
|
69
|
+
## Labels
|
|
43
70
|
|
|
44
|
-
- `enhancement` (
|
|
45
|
-
- `bug` (
|
|
46
|
-
- `documentation` (
|
|
71
|
+
- `enhancement` (New feature)
|
|
72
|
+
- `bug` (Bug fix)
|
|
73
|
+
- `documentation` (Documentation)
|
|
47
74
|
```
|
|
48
75
|
|
|
49
76
|
---
|
|
50
77
|
|
|
51
|
-
##
|
|
78
|
+
## Label Rules
|
|
52
79
|
|
|
53
|
-
|
|
|
80
|
+
| Label | Usage |
|
|
54
81
|
| --------------- | ------------- |
|
|
55
|
-
| `enhancement` |
|
|
56
|
-
| `bug` |
|
|
57
|
-
| `documentation` |
|
|
58
|
-
| `backend` | BE
|
|
59
|
-
| `frontend` | FE
|
|
82
|
+
| `enhancement` | New feature |
|
|
83
|
+
| `bug` | Bug fix |
|
|
84
|
+
| `documentation` | Documentation |
|
|
85
|
+
| `backend` | BE related |
|
|
86
|
+
| `frontend` | FE related |
|
|
60
87
|
| `priority:high` | High priority |
|
|
61
88
|
|
|
62
89
|
---
|
|
@@ -1,74 +1,85 @@
|
|
|
1
|
-
# GitHub PR
|
|
1
|
+
# GitHub PR Template Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A template for AI agents to create Pull Requests.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
## PR
|
|
7
|
+
## PR Creation Rules
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### Title Format
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
|
-
feat(#{
|
|
12
|
+
feat(#{issue-number}): {feature-name}
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Example: `feat(#1): Implement user authentication`
|
|
16
|
+
|
|
17
|
+
### Link Format (Important!)
|
|
18
|
+
|
|
19
|
+
For file links within the repo in PR body, **always use current branch name**:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
[filename](https://github.com/{owner}/{repo}/blob/{branch-name}/docs/path/to/file.md)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
> ⚠️ `main` branch links will return 404 until merged!
|
|
26
|
+
> Always use the **current feature branch name** (e.g., `feat/5-feature-name`).
|
|
16
27
|
|
|
17
28
|
---
|
|
18
29
|
|
|
19
|
-
## PR
|
|
30
|
+
## PR Body Template
|
|
20
31
|
|
|
21
32
|
```markdown
|
|
22
|
-
##
|
|
33
|
+
## Overview
|
|
23
34
|
|
|
24
|
-
{
|
|
35
|
+
{Brief description of changes}
|
|
25
36
|
|
|
26
|
-
##
|
|
37
|
+
## Changes
|
|
27
38
|
|
|
28
|
-
- {
|
|
29
|
-
- {
|
|
30
|
-
- {
|
|
39
|
+
- {Change 1}
|
|
40
|
+
- {Change 2}
|
|
41
|
+
- {Change 3}
|
|
31
42
|
|
|
32
|
-
##
|
|
43
|
+
## Tests
|
|
33
44
|
|
|
34
|
-
- [ ]
|
|
35
|
-
- [ ]
|
|
45
|
+
- [ ] Unit tests passed
|
|
46
|
+
- [ ] Integration tests completed
|
|
36
47
|
|
|
37
|
-
##
|
|
48
|
+
## Screenshots (for UI changes)
|
|
38
49
|
|
|
39
|
-
{
|
|
50
|
+
{Attach if applicable}
|
|
40
51
|
|
|
41
|
-
##
|
|
52
|
+
## Related Documents
|
|
42
53
|
|
|
43
|
-
- Spec: `docs/features/
|
|
44
|
-
- Tasks: `docs/features/
|
|
54
|
+
- Spec: `docs/features/F{number}-{feature-name}/spec.md`
|
|
55
|
+
- Tasks: `docs/features/F{number}-{feature-name}/tasks.md`
|
|
45
56
|
|
|
46
|
-
Closes #{
|
|
57
|
+
Closes #{issue-number}
|
|
47
58
|
```
|
|
48
59
|
|
|
49
60
|
---
|
|
50
61
|
|
|
51
|
-
## PR
|
|
62
|
+
## PR Creation Command
|
|
52
63
|
|
|
53
64
|
```bash
|
|
54
|
-
#
|
|
65
|
+
# Check current branch name
|
|
55
66
|
BRANCH=$(git branch --show-current)
|
|
56
67
|
|
|
57
68
|
gh pr create \
|
|
58
|
-
--title "feat(#{issue}): {
|
|
69
|
+
--title "feat(#{issue}): {feature-name}" \
|
|
59
70
|
--body-file /tmp/pr-body.md \
|
|
60
71
|
--base main
|
|
61
72
|
```
|
|
62
73
|
|
|
63
74
|
---
|
|
64
75
|
|
|
65
|
-
##
|
|
76
|
+
## Merge Rules
|
|
66
77
|
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
| Docs update
|
|
78
|
+
| Situation | Merge Method |
|
|
79
|
+
| -------------- | ---------------- |
|
|
80
|
+
| Normal Feature | Squash and Merge |
|
|
81
|
+
| Urgent Hotfix | Merge or Rebase |
|
|
82
|
+
| Docs update | Squash and Merge |
|
|
72
83
|
|
|
73
84
|
---
|
|
74
85
|
|
|
@@ -22,7 +22,7 @@ features/
|
|
|
22
22
|
## Creating New Features
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
lee-spec-kit feature user-auth
|
|
25
|
+
npx lee-spec-kit feature user-auth
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
> 💡 CLI copies templates from `feature-base/` and auto-assigns IDs.
|
|
@@ -41,7 +41,7 @@ lee-spec-kit feature user-auth
|
|
|
41
41
|
## Status Check
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
lee-spec-kit status
|
|
44
|
+
npx lee-spec-kit status
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
---
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Implementation Plan: {
|
|
1
|
+
# Implementation Plan: {feature-name}
|
|
2
2
|
|
|
3
3
|
> Write after spec is approved.
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
|
-
- **Feature ID**: F{
|
|
9
|
+
- **Feature ID**: F{number}
|
|
10
10
|
- **Target Repo**: {{projectName}}
|
|
11
11
|
- **Created**: YYYY-MM-DD
|
|
12
12
|
- **Status**: Draft | Review | Approved
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Feature Spec: {
|
|
1
|
+
# Feature Spec: {feature-name}
|
|
2
2
|
|
|
3
3
|
> Tech stack is covered in plan.md.
|
|
4
4
|
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
|
-
- **Feature ID**: F{
|
|
10
|
-
- **Feature Name**: {
|
|
9
|
+
- **Feature ID**: F{number}
|
|
10
|
+
- **Feature Name**: {feature-name}
|
|
11
11
|
- **Target Repo**: {{projectName}}
|
|
12
|
-
- **Issue Number**: #{
|
|
12
|
+
- **Issue Number**: #{issue-number}
|
|
13
13
|
- **Created**: YYYY-MM-DD
|
|
14
14
|
- **Status**: Draft | Review | Approved
|
|
15
15
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Tasks: {
|
|
1
|
+
# Tasks: {feature-name}
|
|
2
2
|
|
|
3
3
|
## Task Rules
|
|
4
4
|
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
## GitHub Issue
|
|
11
11
|
|
|
12
12
|
- **Repo**: {{projectName}}
|
|
13
|
-
- **Issue**: #{
|
|
14
|
-
- **Branch**: `feat/{
|
|
13
|
+
- **Issue**: #{issue-number}
|
|
14
|
+
- **Branch**: `feat/{issue-number}-{feature-name}`
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
### Phase 1: {Phase Name}
|
|
21
21
|
|
|
22
|
-
- [TODO][P1] T-F{
|
|
22
|
+
- [TODO][P1] T-F{number}-01 {Task Title}
|
|
23
23
|
- Acceptance:
|
|
24
24
|
- (verification condition)
|
|
25
25
|
- Checklist:
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
# PRD (Product Requirements Document)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This folder contains product requirements documents.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **📌 Document Scope**
|
|
6
|
+
>
|
|
7
|
+
> - **This folder**: Product requirements, business logic, user stories
|
|
8
|
+
> - **Constitution**: Tech stack, architecture principles, code quality, security principles → `agents/constitution.md`
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
2. 주요 기능과 사용자 스토리를 작성하세요
|
|
9
|
-
3. 기술 아키텍처 개요를 포함하세요
|
|
10
|
+
## Writing Guide
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
1. Define project overview and goals
|
|
13
|
+
2. Write main features and user stories
|
|
14
|
+
3. Include technical architecture overview
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- `
|
|
16
|
+
## Example Files
|
|
17
|
+
|
|
18
|
+
- `{project-name}-prd.md` - Main PRD document
|
|
19
|
+
- `backend-overview.md` - Backend architecture (optional)
|
|
20
|
+
- `frontend-overview.md` - Frontend architecture (optional)
|
|
@@ -66,7 +66,7 @@ docs/
|
|
|
66
66
|
### 1. 새 기능 추가 요청
|
|
67
67
|
|
|
68
68
|
1. 대상 레포 확인 (BE 또는 FE)
|
|
69
|
-
2. 새 기능 폴더 생성: `lee-spec-kit feature <name>` 또는 `docs/features/README.md` 참조
|
|
69
|
+
2. 새 기능 폴더 생성: `npx lee-spec-kit feature <name>` 또는 `docs/features/README.md` 참조
|
|
70
70
|
3. `spec.md` 작성 - 무엇을, 왜 만드는지 (기술 스택 X)
|
|
71
71
|
4. 사용자에게 스펙 초안 확인 요청
|
|
72
72
|
5. GitHub Issue 생성 (`agents/issue-template.md` 참조)
|
|
@@ -16,6 +16,33 @@ F{번호}: {기능명} ({짧은 설명})
|
|
|
16
16
|
|
|
17
17
|
> "짧은 설명"은 한 줄로 의도를 전달할 수 있을 정도로만 작성합니다.
|
|
18
18
|
|
|
19
|
+
### 링크 형식 (중요!)
|
|
20
|
+
|
|
21
|
+
GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
|
|
22
|
+
|
|
23
|
+
1. **프로젝트 레포 내 파일**: 전체 URL 사용 (클릭 가능)
|
|
24
|
+
- **일반 문서/코드** (이미 머지됨): `main` 브랜치
|
|
25
|
+
```markdown
|
|
26
|
+
[파일명](https://github.com/{owner}/{repo}/blob/main/path/to/file)
|
|
27
|
+
```
|
|
28
|
+
- **개발 중인 문서** (아직 머지 안 됨): **Feature 브랜치**
|
|
29
|
+
```markdown
|
|
30
|
+
[파일명](https://github.com/{owner}/{repo}/blob/{feat-branch}/path/to/file)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
2. **외부 문서 (공개 URL 있음)**: **절대 URL로 링크**
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
[react-i18next](https://react.i18next.com/)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
3. **외부/로컬 문서** (docs 레포 등, URL 없음): **상대 경로 텍스트로만 표기**
|
|
40
|
+
```text
|
|
41
|
+
../docs/features/F001-feature-name/spec.md
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
> ⚠️ 로컬 문서는 GitHub에서 클릭되지 않으므로, 링크 대신 경로 텍스트만 제공합니다.
|
|
45
|
+
|
|
19
46
|
---
|
|
20
47
|
|
|
21
48
|
## 이슈 본문 템플릿
|
|
@@ -14,7 +14,16 @@ feat(#{이슈번호}): {기능명}
|
|
|
14
14
|
|
|
15
15
|
예: `feat(#1): 사용자 인증 구현`
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
### 링크 형식 (중요!)
|
|
18
|
+
|
|
19
|
+
PR 본문에서 레포 내 파일 링크는 **반드시 현재 브랜치명을 사용**:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
[파일명](https://github.com/{owner}/{repo}/blob/{브랜치명}/docs/path/to/file.md)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
> ⚠️ `main` 브랜치 링크는 머지 전까지 404가 발생합니다!
|
|
26
|
+
> 반드시 **현재 피처 브랜치명** (예: `feat/5-feature-name`)을 사용하세요.
|
|
18
27
|
|
|
19
28
|
## PR 본문 템플릿
|
|
20
29
|
|