lee-spec-kit 0.1.8 → 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 +74 -48
- package/package.json +1 -1
- package/templates/en/{fullstack → common}/agents/git-workflow.md +26 -34
- 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 +11 -26
- package/templates/en/single/agents/agents.md +8 -21
- package/templates/ko/{fullstack → common}/agents/git-workflow.md +20 -73
- package/templates/ko/{fullstack → 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 +11 -33
- package/templates/ko/single/agents/agents.md +13 -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/custom.md +0 -29
- package/templates/en/single/agents/git-workflow.md +0 -170
- package/templates/ko/single/agents/constitution.md +0 -80
- package/templates/ko/single/agents/custom.md +0 -29
- package/templates/ko/single/agents/git-workflow.md +0 -170
- package/templates/ko/single/agents/issue-template.md +0 -114
- package/templates/ko/single/agents/pr-template.md +0 -110
- /package/templates/en/{single → common}/agents/constitution.md +0 -0
- /package/templates/en/{fullstack → common}/agents/custom.md +0 -0
- /package/templates/ko/{fullstack → common}/agents/constitution.md +0 -0
- /package/templates/ko/{fullstack → common}/agents/custom.md +0 -0
|
@@ -62,7 +62,12 @@ docs/
|
|
|
62
62
|
│ ├── constitution.md
|
|
63
63
|
│ ├── git-workflow.md
|
|
64
64
|
│ ├── issue-template.md
|
|
65
|
-
│
|
|
65
|
+
│ ├── pr-template.md
|
|
66
|
+
│ └── skills/ # 프로세스별 가이드
|
|
67
|
+
│ ├── create-feature.md
|
|
68
|
+
│ ├── create-issue.md
|
|
69
|
+
│ ├── create-pr.md
|
|
70
|
+
│ └── execute-task.md
|
|
66
71
|
├── prd/ # 제품 요구사항
|
|
67
72
|
├── features/ # 기능별 문서
|
|
68
73
|
│ ├── feature-base/ # 템플릿
|
|
@@ -83,27 +88,14 @@ docs/
|
|
|
83
88
|
|
|
84
89
|
## 요청 유형별 프로세스
|
|
85
90
|
|
|
86
|
-
|
|
91
|
+
> 📖 각 프로세스의 상세 가이드는 `skills/` 폴더를 참조하세요.
|
|
87
92
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
1. `tasks.md`에 태스크 작성
|
|
96
|
-
2. 사용자 승인 후 실행
|
|
97
|
-
3. 상태 전환: `[TODO]` → `[DOING]` → `[DONE]`
|
|
98
|
-
4. 태스크 완료 직후 커밋
|
|
99
|
-
|
|
100
|
-
### 3. 태스크 외 요청 처리
|
|
101
|
-
|
|
102
|
-
> 사용자가 **tasks.md에 없는 작업**을 요청하면:
|
|
103
|
-
|
|
104
|
-
1. 해당 작업을 **tasks.md에 반영할지** 사용자에게 확인
|
|
105
|
-
2. 승인 시: tasks.md에 추가 후 실행
|
|
106
|
-
3. 거부 시: 임시 작업으로 진행 (커밋에는 포함)
|
|
93
|
+
| 프로세스 | 가이드 |
|
|
94
|
+
| ----------------- | -------------------------- |
|
|
95
|
+
| 새 기능 추가 | `skills/create-feature.md` |
|
|
96
|
+
| GitHub Issue 생성 | `skills/create-issue.md` |
|
|
97
|
+
| Pull Request 생성 | `skills/create-pr.md` |
|
|
98
|
+
| 태스크 실행 | `skills/execute-task.md` |
|
|
107
99
|
|
|
108
100
|
---
|
|
109
101
|
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# {{projectName}} Constitution
|
|
2
|
-
|
|
3
|
-
Core principles and technical decision guidelines for the project.
|
|
4
|
-
All development decisions should be based on this document.
|
|
5
|
-
|
|
6
|
-
> **📌 Document Scope**
|
|
7
|
-
>
|
|
8
|
-
> - **This document**: Tech stack, architecture principles, code quality, security principles
|
|
9
|
-
> - **PRD**: Product requirements, business logic, user stories → `prd/*.md`
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Project Mission
|
|
14
|
-
|
|
15
|
-
> (Write your project mission here)
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Tech Stack
|
|
20
|
-
|
|
21
|
-
### Backend
|
|
22
|
-
|
|
23
|
-
| Technology | Version | Reason |
|
|
24
|
-
| -------------- | --------- | -------- |
|
|
25
|
-
| (e.g., NestJS) | (version) | (reason) |
|
|
26
|
-
|
|
27
|
-
### Frontend
|
|
28
|
-
|
|
29
|
-
| Technology | Version | Reason |
|
|
30
|
-
| ------------- | --------- | -------- |
|
|
31
|
-
| (e.g., React) | (version) | (reason) |
|
|
32
|
-
|
|
33
|
-
### Common
|
|
34
|
-
|
|
35
|
-
| Technology | Version | Reason |
|
|
36
|
-
| ----------------- | ------- | ------------------ |
|
|
37
|
-
| TypeScript | strict | Type safety |
|
|
38
|
-
| ESLint + Prettier | - | Code quality |
|
|
39
|
-
| pnpm | - | Package management |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Architecture Principles
|
|
44
|
-
|
|
45
|
-
### 1. Feature-Centric Management
|
|
46
|
-
|
|
47
|
-
- New features managed in `docs/features/F00X/` structure
|
|
48
|
-
- Develop by **feature unit** with FE/BE separation
|
|
49
|
-
- Workflow: spec → plan → tasks → decisions
|
|
50
|
-
|
|
51
|
-
### 2. (Additional Principles)
|
|
52
|
-
|
|
53
|
-
(Write project-specific architecture principles)
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Code Quality Standards
|
|
58
|
-
|
|
59
|
-
- TypeScript strict mode required
|
|
60
|
-
- ESLint + Prettier required
|
|
61
|
-
- Test coverage **80%+** for core business logic
|
|
62
|
-
- Components follow **single responsibility principle**
|
|
63
|
-
- Minimize code duplication
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Security Principles
|
|
68
|
-
|
|
69
|
-
- Manage secrets via environment variables (no repo commits)
|
|
70
|
-
- **Minimal** user data collection
|
|
71
|
-
- CORS configured for allowed origins only
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Language/Code Rules
|
|
76
|
-
|
|
77
|
-
- **AI Responses**: English
|
|
78
|
-
- **Code/Filenames**: English
|
|
79
|
-
- **Comments/Commits**: English
|
|
80
|
-
- **Date/Time**: User's PC system time (e.g., `{{date}}`)
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
# GitHub Issue Template Guide
|
|
2
|
-
|
|
3
|
-
Template for AI agents to create GitHub Issues.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Issue Creation Rules
|
|
8
|
-
|
|
9
|
-
### Title Format
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
F{number}: {feature-name} ({short description})
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Example: `F001: user-auth (User authentication feature)`
|
|
16
|
-
|
|
17
|
-
### Link Format (Important!)
|
|
18
|
-
|
|
19
|
-
In GitHub Issues, use different link formats **based on file location**:
|
|
20
|
-
|
|
21
|
-
1. **Files within project repo**: Use full URL (clickable)
|
|
22
|
-
- **Merged documents/code**: Use `main` branch
|
|
23
|
-
```markdown
|
|
24
|
-
[filename](https://github.com/{owner}/{repo}/blob/main/path/to/file)
|
|
25
|
-
```
|
|
26
|
-
- **In-progress documents** (not merged yet): Use **Feature branch**
|
|
27
|
-
```markdown
|
|
28
|
-
[filename](https://github.com/{owner}/{repo}/blob/{feat-branch}/path/to/file)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
2. **External documents (with public URL)**: Use **absolute URL**
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
[react-i18next](https://react.i18next.com/)
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
3. **External/local documents** (no URL available): Use **relative path as text only**
|
|
38
|
-
```text
|
|
39
|
-
../docs/features/F001-feature-name/spec.md
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
> ⚠️ Local documents are not clickable on GitHub, so provide path text only.
|
|
43
|
-
|
|
44
|
-
## Issue Body Template
|
|
45
|
-
|
|
46
|
-
```markdown
|
|
47
|
-
## Overview
|
|
48
|
-
|
|
49
|
-
{Brief description of the feature}
|
|
50
|
-
|
|
51
|
-
## Goals
|
|
52
|
-
|
|
53
|
-
- {Goal 1}
|
|
54
|
-
- {Goal 2}
|
|
55
|
-
|
|
56
|
-
## Completion Criteria
|
|
57
|
-
|
|
58
|
-
- [ ] {Criterion 1}
|
|
59
|
-
- [ ] {Criterion 2}
|
|
60
|
-
|
|
61
|
-
## Related Documents
|
|
62
|
-
|
|
63
|
-
- Spec: `docs/features/{be|fe}/F{number}-{feature-name}/spec.md`
|
|
64
|
-
|
|
65
|
-
## Labels
|
|
66
|
-
|
|
67
|
-
- `enhancement` (New feature)
|
|
68
|
-
- `bug` (Bug fix)
|
|
69
|
-
- `documentation` (Documentation)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Label Rules
|
|
75
|
-
|
|
76
|
-
| Label | Usage |
|
|
77
|
-
| --------------- | ------------- |
|
|
78
|
-
| `enhancement` | New feature |
|
|
79
|
-
| `bug` | Bug fix |
|
|
80
|
-
| `documentation` | Documentation |
|
|
81
|
-
| `backend` | BE related |
|
|
82
|
-
| `frontend` | FE related |
|
|
83
|
-
| `priority:high` | High priority |
|
|
84
|
-
|
|
85
|
-
> ⚠️ If a label does not exist, create it first:
|
|
86
|
-
>
|
|
87
|
-
> ```bash
|
|
88
|
-
> gh label create "label-name" --description "description" --color "color-code"
|
|
89
|
-
> ```
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Assignee Rules
|
|
94
|
-
|
|
95
|
-
- Default: Self-assign (`--assignee @me`)
|
|
96
|
-
- When assigning others, **confirm with user** first
|
|
97
|
-
- Examples:
|
|
98
|
-
```bash
|
|
99
|
-
gh issue create --assignee @me ...
|
|
100
|
-
gh issue create --assignee username ...
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Body Input Rules (Shell Execution Prevention)
|
|
106
|
-
|
|
107
|
-
- Issue body should use **`--body-file` by default**.
|
|
108
|
-
- If the body contains backticks (`) or `$()`and is placed directly in`"..."`, it may be **interpreted by the shell**.
|
|
109
|
-
- For multi-line bodies, use **single-quoted heredoc** like `cat <<'EOF'`,
|
|
110
|
-
and handle variables via **placeholder → sed substitution**.
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# GitHub PR Template Guide
|
|
2
|
-
|
|
3
|
-
Template for AI agents to create Pull Requests.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## PR Creation Rules
|
|
8
|
-
|
|
9
|
-
### Title Format
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
feat(#{issue-number}): {feature-name}
|
|
13
|
-
```
|
|
14
|
-
|
|
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`).
|
|
27
|
-
|
|
28
|
-
## PR Body Template
|
|
29
|
-
|
|
30
|
-
```markdown
|
|
31
|
-
## Overview
|
|
32
|
-
|
|
33
|
-
{Brief description of changes}
|
|
34
|
-
|
|
35
|
-
## Changes
|
|
36
|
-
|
|
37
|
-
- {Change 1}
|
|
38
|
-
- {Change 2}
|
|
39
|
-
- {Change 3}
|
|
40
|
-
|
|
41
|
-
## Tests
|
|
42
|
-
|
|
43
|
-
- [ ] Unit tests passed
|
|
44
|
-
- [ ] Integration tests completed
|
|
45
|
-
|
|
46
|
-
## Screenshots (for UI changes)
|
|
47
|
-
|
|
48
|
-
{Attach if applicable}
|
|
49
|
-
|
|
50
|
-
## Related Documents
|
|
51
|
-
|
|
52
|
-
- Spec: `docs/features/{be|fe}/F{number}-{feature-name}/spec.md`
|
|
53
|
-
- Tasks: `docs/features/{be|fe}/F{number}-{feature-name}/tasks.md`
|
|
54
|
-
|
|
55
|
-
Closes #{issue-number}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Merge Rules
|
|
61
|
-
|
|
62
|
-
| Situation | Merge Method |
|
|
63
|
-
| -------------- | ---------------- |
|
|
64
|
-
| Normal Feature | Squash and Merge |
|
|
65
|
-
| Urgent Hotfix | Merge or Rebase |
|
|
66
|
-
| Documentation | Squash and Merge |
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Label Rules
|
|
71
|
-
|
|
72
|
-
- Specify appropriate labels when creating PR (`--label`)
|
|
73
|
-
- If a label does not exist, create it first:
|
|
74
|
-
```bash
|
|
75
|
-
gh label create "label-name" --description "description" --color "color-code"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Assignee Rules
|
|
81
|
-
|
|
82
|
-
- Default: Self-assign (`--assignee @me`)
|
|
83
|
-
- Use `--reviewer` option to specify reviewers
|
|
84
|
-
- Examples:
|
|
85
|
-
```bash
|
|
86
|
-
gh pr create --assignee @me --reviewer reviewer-username ...
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Body Input Rules (Shell Execution Prevention)
|
|
92
|
-
|
|
93
|
-
- PR body should use **`--body-file` by default**.
|
|
94
|
-
- If the body contains backticks (`) or `$()`and is placed directly in`"..."`, it may be **interpreted by the shell**.
|
|
95
|
-
- For multi-line bodies, use **single-quoted heredoc** like `cat <<'EOF'`,
|
|
96
|
-
and handle variables via **placeholder → sed substitution**.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Custom Rules
|
|
2
|
-
|
|
3
|
-
> ⚠️ This document contains **user-defined rules**.
|
|
4
|
-
> It is NOT affected by `npx lee-spec-kit update`.
|
|
5
|
-
> **Rules in this document take precedence over all other agent rules.**
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Project-Specific Rules
|
|
10
|
-
|
|
11
|
-
(Write your project-specific rules here)
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Additional Language/Code Rules
|
|
16
|
-
|
|
17
|
-
(Override default rules or add additional rules here)
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Custom Workflows
|
|
22
|
-
|
|
23
|
-
(Write project-specific workflows here)
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Other
|
|
28
|
-
|
|
29
|
-
(Write other rules here)
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
# Git Workflow Guide
|
|
2
|
-
|
|
3
|
-
Rules for AI agents to automate Git/GitHub operations.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Core Concepts
|
|
8
|
-
|
|
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
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Branch Strategy
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
main
|
|
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
|
-
```
|
|
26
|
-
|
|
27
|
-
### Branch Naming
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
{type}/{issue-number}-{feature-name}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
| Type | Description |
|
|
34
|
-
| ---------- | ------------- |
|
|
35
|
-
| `feat` | New feature |
|
|
36
|
-
| `fix` | Bug fix |
|
|
37
|
-
| `refactor` | Refactoring |
|
|
38
|
-
| `docs` | Documentation |
|
|
39
|
-
|
|
40
|
-
**Examples:**
|
|
41
|
-
|
|
42
|
-
- `feat/123-user-auth`
|
|
43
|
-
- `fix/456-login-error`
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Commit Convention
|
|
48
|
-
|
|
49
|
-
> 📖 Type and Description follow [Udacity Git Commit Message Style Guide](https://udacity.github.io/git-styleguide/).
|
|
50
|
-
|
|
51
|
-
### Format
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
{type}(#{issue}): {description}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Type List
|
|
58
|
-
|
|
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` |
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Automation Workflow
|
|
72
|
-
|
|
73
|
-
### 1. Feature Start
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
# 1. Create GitHub Issue (Feature = Issue)
|
|
77
|
-
# 2. Create branch
|
|
78
|
-
git checkout -b feat/{issue-number}-{feature-name}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
> When creating/modifying issues/PRs with `gh`, share the title/body/labels first and **wait for user confirmation (OK)** before proceeding.
|
|
82
|
-
|
|
83
|
-
### 2. Document Commit (docs repo)
|
|
84
|
-
|
|
85
|
-
> 📌 The docs folder is managed as a separate git, so a separate commit strategy is used.
|
|
86
|
-
|
|
87
|
-
| # | Commit Timing | Included Documents | Commit Message Example |
|
|
88
|
-
| --- | -------------------------------------------------------- | ------------------------------- | ------------------------------- |
|
|
89
|
-
| 1 | **When planning is complete** (spec+plan+tasks approved) | spec.md, plan.md, tasks.md | `docs(#123): spec, plan, tasks` |
|
|
90
|
-
| 2 | **When Feature is complete** (all tasks done) | tasks.md (status), decisions.md | `docs(#123): Feature complete` |
|
|
91
|
-
|
|
92
|
-
> ⚠️ **Do not commit when creating Feature folder.**
|
|
93
|
-
|
|
94
|
-
### 3. Auto Commit on Task Completion
|
|
95
|
-
|
|
96
|
-
When a task is completed:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
git add .
|
|
100
|
-
git commit -m "{type}(#{issue}): {task-description}"
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
> Before running `git commit`, share the commit message and file list first and **wait for user confirmation (OK)** before proceeding.
|
|
104
|
-
|
|
105
|
-
### 4. Create PR on Feature Completion
|
|
106
|
-
|
|
107
|
-
When all tasks are completed:
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
git push origin feat/{issue-number}-{feature-name}
|
|
111
|
-
gh pr create --title "feat(#{issue}): {feature-title}" \
|
|
112
|
-
--body "Closes #{issue}" \
|
|
113
|
-
--base main
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### 5. Merge
|
|
117
|
-
|
|
118
|
-
When all reviews are resolved:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
# Update main before merge
|
|
122
|
-
git checkout main
|
|
123
|
-
git pull
|
|
124
|
-
|
|
125
|
-
# Squash and Merge
|
|
126
|
-
gh pr merge --squash --delete-branch
|
|
127
|
-
|
|
128
|
-
# Update main after merge
|
|
129
|
-
git pull
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Agent Automation Rules
|
|
135
|
-
|
|
136
|
-
### On Task Completion
|
|
137
|
-
|
|
138
|
-
```
|
|
139
|
-
1. Complete code changes
|
|
140
|
-
2. Update tasks.md status [DOING] → [DONE] (docs)
|
|
141
|
-
3. git add .
|
|
142
|
-
4. git commit -m "{type}(#{issue}): {description}"
|
|
143
|
-
5. Proceed to next task
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### On Feature Completion
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
1. Verify all tasks [DONE]
|
|
150
|
-
2. git push origin {branch}
|
|
151
|
-
3. gh pr create
|
|
152
|
-
4. Wait for review
|
|
153
|
-
5. Address review comments
|
|
154
|
-
6. gh pr merge --squash
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## GitHub Setup Requirements
|
|
160
|
-
|
|
161
|
-
### Required
|
|
162
|
-
|
|
163
|
-
- [ ] GitHub CLI (`gh`) installed and authenticated
|
|
164
|
-
- [ ] Branch protection rules (main)
|
|
165
|
-
- Require PR before merging
|
|
166
|
-
|
|
167
|
-
### Recommended
|
|
168
|
-
|
|
169
|
-
- [ ] Auto-delete head branches
|
|
170
|
-
- [ ] Squash merging only
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# {{projectName}} Constitution
|
|
2
|
-
|
|
3
|
-
프로젝트의 핵심 원칙과 기술 결정 가이드라인입니다.
|
|
4
|
-
모든 개발 결정은 이 문서를 기준으로 합니다.
|
|
5
|
-
|
|
6
|
-
> **📌 문서 범위**
|
|
7
|
-
>
|
|
8
|
-
> - **이 문서**: 기술 스택, 아키텍처 원칙, 코드 품질, 보안 원칙
|
|
9
|
-
> - **PRD**: 제품 요구사항, 비즈니스 로직, 사용자 스토리 → `prd/*.md`
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 프로젝트 미션
|
|
14
|
-
|
|
15
|
-
> (프로젝트의 미션을 작성하세요)
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## 기술 스택
|
|
20
|
-
|
|
21
|
-
### Backend
|
|
22
|
-
|
|
23
|
-
| 기술 | 버전 | 이유 |
|
|
24
|
-
| ------------ | ------ | ----------- |
|
|
25
|
-
| (예: NestJS) | (버전) | (선택 이유) |
|
|
26
|
-
|
|
27
|
-
### Frontend
|
|
28
|
-
|
|
29
|
-
| 기술 | 버전 | 이유 |
|
|
30
|
-
| ----------- | ------ | ----------- |
|
|
31
|
-
| (예: React) | (버전) | (선택 이유) |
|
|
32
|
-
|
|
33
|
-
### 공통
|
|
34
|
-
|
|
35
|
-
| 기술 | 버전 | 이유 |
|
|
36
|
-
| ----------------- | ------ | ----------- |
|
|
37
|
-
| TypeScript | strict | 타입 안전성 |
|
|
38
|
-
| ESLint + Prettier | - | 코드 품질 |
|
|
39
|
-
| pnpm | - | 패키지 관리 |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 아키텍처 원칙
|
|
44
|
-
|
|
45
|
-
### 1. Feature 중심 관리
|
|
46
|
-
|
|
47
|
-
- 새 기능은 `docs/features/F00X/` 구조로 관리
|
|
48
|
-
- FE/BE 분리하여 **기능 단위**로 개발
|
|
49
|
-
- spec → plan → tasks → decisions 워크플로우
|
|
50
|
-
|
|
51
|
-
### 2. (추가 원칙)
|
|
52
|
-
|
|
53
|
-
(프로젝트별 아키텍처 원칙을 작성하세요)
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## 코드 품질 기준
|
|
58
|
-
|
|
59
|
-
- TypeScript strict mode 필수
|
|
60
|
-
- ESLint + Prettier 필수
|
|
61
|
-
- 주요 비즈니스 로직 테스트 커버리지 **80%+**
|
|
62
|
-
- 컴포넌트는 **단일 책임 원칙**
|
|
63
|
-
- 중복 코드 최소화
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## 보안 원칙
|
|
68
|
-
|
|
69
|
-
- 환경 변수로 시크릿 관리 (저장소 커밋 금지)
|
|
70
|
-
- 사용자 데이터 **최소 수집**
|
|
71
|
-
- CORS는 허용 오리진만 설정
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 언어/코드 규칙
|
|
76
|
-
|
|
77
|
-
- **답변**: 한국어
|
|
78
|
-
- **코드/파일명**: 영어
|
|
79
|
-
- **주석/커밋**: 한국어
|
|
80
|
-
- **날짜/시간**: 사용자 PC 시스템 시간 기준 (예: `{{date}}`)
|
|
@@ -1,29 +0,0 @@
|
|
|
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
|
-
(기타 규칙을 작성하세요)
|