lee-spec-kit 0.2.2 → 0.2.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lee-spec-kit",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Project documentation structure generator for AI-assisted development",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,9 @@
1
1
  # {{projectName}} Constitution
2
2
 
3
- Core principles and technical decision guidelines for the project.
4
- All development decisions should be based on this document.
3
+ > ⚠️ **Replace `{{projectName}}` and `{{date}}` with actual project name and date.**
4
+
5
+ Core principles and technical decision guidelines for this project.
6
+ All development decisions are based on this document.
5
7
 
6
8
  > **📌 Document Scope**
7
9
  >
@@ -109,13 +109,6 @@ git checkout -b feat/{issue-number}-{feature-name}
109
109
 
110
110
  > 💡 **Core Rule**: At task completion, **all changed repositories** must be committed.
111
111
 
112
- ### Merge Strategy
113
-
114
- | Situation | Merge Method |
115
- | -------------- | ---------------- |
116
- | Normal Feature | Squash and Merge |
117
- | Urgent Hotfix | Squash and Merge |
118
-
119
112
  ---
120
113
 
121
114
  ## Docs Push Rules
@@ -36,14 +36,30 @@ In GitHub Issues, use different link formats **based on file location**:
36
36
  [react-i18next](https://react.i18next.com/)
37
37
  ```
38
38
 
39
- 3. **Local documents** (no URL available): **Path from project root**
39
+ 3. **Files within project repo**: Use full URL (clickable)
40
+ - **Merged documents/code**: Use `main` branch
41
+ ```markdown
42
+ [filename](https://github.com/{owner}/{repo}/blob/main/path/to/file)
43
+ ```
44
+ - **In-progress documents** (not merged yet): Use **Feature branch**
45
+ ```markdown
46
+ [filename](https://github.com/{owner}/{repo}/blob/{feat-branch}/path/to/file)
47
+ ```
48
+
49
+ 4. **External documents (with public URL)**: Use **absolute URL**
50
+
51
+ ```markdown
52
+ [react-i18next](https://react.i18next.com/)
53
+ ```
54
+
55
+ 5. **Local documents** (no URL available): **Path from project root**
40
56
 
41
57
  > 📁 Local documents use paths **from project root**.
42
58
  > Format: `- **{Label}**: \`{path}\``
43
59
 
44
60
  ```markdown
45
- - **Spec**: `{{featurePath}}/F001-feature-name/spec.md`
46
- - **Tasks**: `{{featurePath}}/F001-feature-name/tasks.md`
61
+ - **Spec**: `docs/features/{be|fe}/F001-feature-name/spec.md`
62
+ - **Tasks**: `docs/features/{be|fe}/F001-feature-name/tasks.md`
47
63
  ```
48
64
 
49
65
  > ⚠️ Local documents are not clickable on GitHub, so use **bold label + code block path** format instead of markdown links.
@@ -69,7 +85,7 @@ In GitHub Issues, use different link formats **based on file location**:
69
85
 
70
86
  ## Related Documents
71
87
 
72
- - **Spec**: `{{featurePath}}/F{number}-{feature-name}/spec.md`
88
+ - **Spec**: `docs/features/{be|fe}/F{number}-{feature-name}/spec.md`
73
89
 
74
90
  ## Labels
75
91
 
@@ -58,8 +58,8 @@ For file links within the repo in PR body, **always use current branch name**:
58
58
 
59
59
  ## Related Documents
60
60
 
61
- - **Spec**: `{{featurePath}}/F{number}-{feature-name}/spec.md`
62
- - **Tasks**: `{{featurePath}}/F{number}-{feature-name}/tasks.md`
61
+ - **Spec**: `docs/features/{be|fe}/F{number}-{feature-name}/spec.md`
62
+ - **Tasks**: `docs/features/{be|fe}/F{number}-{feature-name}/tasks.md`
63
63
 
64
64
  Closes #{issue-number}
65
65
  ```
@@ -85,9 +85,25 @@ gh pr create \
85
85
  | Situation | Merge Method |
86
86
  | -------------- | ---------------- |
87
87
  | Normal Feature | Squash and Merge |
88
- | Urgent Hotfix | Merge or Rebase |
88
+ | Urgent Hotfix | Squash and Merge |
89
89
  | Docs update | Squash and Merge |
90
90
 
91
+ ### Merge Execution
92
+
93
+ After all reviews are resolved:
94
+
95
+ ```bash
96
+ # Update main before merge
97
+ git checkout main
98
+ git pull
99
+
100
+ # Squash and Merge
101
+ gh pr merge --squash --delete-branch
102
+
103
+ # Update main after merge
104
+ git pull
105
+ ```
106
+
91
107
  ---
92
108
 
93
109
  ## Label Rules
@@ -37,7 +37,15 @@ Share full spec.md content with user and wait for **explicit approval (OK)**
37
37
 
38
38
  → See `skills/create-issue.md`
39
39
 
40
- ### 5. Pre-Commit Checklist
40
+ ### 5. Create Branch
41
+
42
+ ```bash
43
+ git checkout -b feat/{issue-number}-{feature-name}
44
+ ```
45
+
46
+ > ⚠️ **Do NOT work on main branch.** Always create a branch after issue creation.
47
+
48
+ ### 6. Pre-Commit Checklist
41
49
 
42
50
  > ⚠️ **Before committing, verify:**
43
51
 
@@ -45,6 +53,20 @@ Share full spec.md content with user and wait for **explicit approval (OK)**
45
53
  - [ ] Issue number in tasks.md (`- **Issue**: #{issue}`)
46
54
  - [ ] Branch name in tasks.md (`feat/{issue-number}-{feature-name}`)
47
55
 
56
+ ### 7. Commit Documents
57
+
58
+ > 🚨 **User Approval Required**
59
+
60
+ After spec/plan/tasks approval, commit the **entire Feature folder**:
61
+
62
+ ```bash
63
+ git add docs/features/{be|fe}/F{number}-{feature-name}/
64
+ git commit -m "docs(#{issue}): F{number} planning complete"
65
+ ```
66
+
67
+ > 📁 **Included files**: spec.md, plan.md, tasks.md, decisions.md (include even if empty)
68
+ > ⚠️ **Standalone mode**: Switch to Docs repo before committing.
69
+
48
70
  ---
49
71
 
50
72
  ## Reference Documents
@@ -27,21 +27,21 @@ Guide for creating Pull Requests.
27
27
 
28
28
  ### 2. Test Verification
29
29
 
30
- > 🚨 **Cannot create PR if tests fail**
30
+ > 🚨 **PR cannot be created if tests fail**
31
31
 
32
- 1. Run related test commands (e.g., `npm test`, `pnpm test`)
32
+ 1. Run relevant test commands (e.g., `npm test`, `pnpm test`); if no tests exist, request them from the user
33
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**
34
+ 3. Record **execution results** in the "Tests" section of PR body
35
+ 4. All checkboxes must be checked
36
36
 
37
37
  ### 3. Request User Approval
38
38
 
39
39
  > 🚨 **User Approval Required**
40
40
 
41
- Before creating PR, share and wait for approval:
41
+ Before creating PR, share the following **in a code block** and wait for **explicit approval (OK)**:
42
42
 
43
43
  - Title
44
- - Body (including test results)
44
+ - Full body (`pr-template.md` format)
45
45
  - Labels
46
46
 
47
47
  ### 4. Create PR
@@ -20,10 +20,12 @@ Share execution plan with user before starting and wait for approval
20
20
 
21
21
  ### 3. Update Status
22
22
 
23
- | Timing | Status Transition |
24
- | ----------- | -------------------- |
25
- | On start | `[TODO]` → `[DOING]` |
26
- | On complete | `[DOING]` → `[DONE]` |
23
+ | Timing | Status Transition |
24
+ | ------------------- | -------------------- |
25
+ | On start | `[TODO]` → `[DOING]` |
26
+ | After user approval | `[DOING]` → `[DONE]` |
27
+
28
+ > ⚠️ Even after work is complete, **stay in `[DOING]` until user approval**
27
29
 
28
30
  Record date (YYYY-MM-DD) with each status change
29
31
 
@@ -59,11 +59,16 @@ Operating rules for AI code assistants to perform consistent code generation and
59
59
  docs/
60
60
  ├── README.md # Documentation guide
61
61
  ├── agents/ # Agent operating rules
62
- │ ├── agents.md
63
- │ ├── constitution.md
64
- │ ├── git-workflow.md
62
+ │ ├── agents.md # Main rules (this file)
63
+ │ ├── constitution.md # Project principles
64
+ │ ├── git-workflow.md # Git automation
65
65
  │ ├── issue-template.md
66
- └── pr-template.md
66
+ ├── pr-template.md
67
+ │ └── skills/ # Step-by-step guides
68
+ │ ├── create-feature.md
69
+ │ ├── create-issue.md
70
+ │ ├── create-pr.md
71
+ │ └── execute-task.md
67
72
  ├── prd/ # Product requirements
68
73
  ├── features/ # Feature documentation
69
74
  │ ├── be/ # Backend Features
@@ -52,18 +52,23 @@ Operating rules for AI code assistants to perform consistent code generation and
52
52
 
53
53
  ```
54
54
  docs/
55
- ├── README.md
56
- ├── agents/
57
- │ ├── agents.md
58
- │ ├── constitution.md
59
- │ ├── git-workflow.md
55
+ ├── README.md # Documentation guide
56
+ ├── agents/ # Agent operating rules
57
+ │ ├── agents.md # Main rules (this file)
58
+ │ ├── constitution.md # Project principles
59
+ │ ├── git-workflow.md # Git automation
60
60
  │ ├── issue-template.md
61
- └── pr-template.md
62
- ├── prd/
63
- ├── features/
64
- ├── feature-base/
61
+ ├── pr-template.md
62
+ │ └── skills/ # Step-by-step guides
63
+ ├── create-feature.md
64
+ ├── create-issue.md
65
+ │ ├── create-pr.md
66
+ │ └── execute-task.md
67
+ ├── prd/ # Product requirements
68
+ ├── features/ # Feature documentation
69
+ │ ├── feature-base/ # Template
65
70
  │ └── F00X-{name}/
66
- └── scripts/
71
+ └── scripts/ # Utilities
67
72
  ```
68
73
 
69
74
  ---
@@ -1,5 +1,7 @@
1
1
  # {{projectName}} Constitution
2
2
 
3
+ > ⚠️ **`{{projectName}}`과 `{{date}}`는 프로젝트 이름과 날짜로 교체하세요.**
4
+
3
5
  프로젝트의 핵심 원칙과 기술 결정 가이드라인입니다.
4
6
  모든 개발 결정은 이 문서를 기준으로 합니다.
5
7
 
@@ -109,13 +109,6 @@ git checkout -b feat/{issue-number}-{feature-name}
109
109
 
110
110
  > 💡 **Core Rule**: 태스크 완료 시점에는 **변경된 모든 레포지토리**가 커밋되어야 합니다.
111
111
 
112
- ### 머지 전략
113
-
114
- | 상황 | 머지 방식 |
115
- | ------------ | ---------------- |
116
- | 일반 Feature | Squash and Merge |
117
- | 긴급 Hotfix | Squash and Merge |
118
-
119
112
  ---
120
113
 
121
114
  ## Docs Push 규칙
@@ -42,8 +42,8 @@ GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
42
42
  > 형식: `- **{레이블}**: \`{경로}\``
43
43
 
44
44
  ```markdown
45
- - **Spec**: `{{featurePath}}/F001-feature-name/spec.md`
46
- - **Tasks**: `{{featurePath}}/F001-feature-name/tasks.md`
45
+ - **Spec**: `docs/features/{be|fe}/F001-feature-name/spec.md`
46
+ - **Tasks**: `docs/features/{be|fe}/F001-feature-name/tasks.md`
47
47
  ```
48
48
 
49
49
  > ⚠️ 로컬 문서는 GitHub에서 클릭되지 않으므로, 마크다운 링크 대신 **볼드 레이블 + 코드블록 경로** 형식을 사용합니다.
@@ -69,7 +69,7 @@ GitHub Issue에서 링크는 **파일 위치에 따라** 다르게 작성:
69
69
 
70
70
  ## 관련 문서
71
71
 
72
- - **Spec**: `{{featurePath}}/F{번호}-{기능명}/spec.md`
72
+ - **Spec**: `docs/features/{be|fe}/F{번호}-{기능명}/spec.md`
73
73
 
74
74
  ## 라벨
75
75
 
@@ -56,8 +56,8 @@ PR 본문에서 레포 내 파일 링크는 **반드시 현재 브랜치명을
56
56
 
57
57
  ## 관련 문서
58
58
 
59
- - **Spec**: `{{featurePath}}/F{번호}-{기능명}/spec.md`
60
- - **Tasks**: `{{featurePath}}/F{번호}-{기능명}/tasks.md`
59
+ - **Spec**: `docs/features/{be|fe}/F{번호}-{기능명}/spec.md`
60
+ - **Tasks**: `docs/features/{be|fe}/F{번호}-{기능명}/tasks.md`
61
61
 
62
62
  Closes #{이슈번호}
63
63
  ```
@@ -80,11 +80,27 @@ gh pr create \
80
80
 
81
81
  ## 머지 규칙
82
82
 
83
- | 상황 | 머지 방식 |
84
- | ------------ | ----------------- |
85
- | 일반 Feature | Squash and Merge |
86
- | 긴급 Hotfix | Merge 또는 Rebase |
87
- | 문서 수정 | Squash and Merge |
83
+ | 상황 | 머지 방식 |
84
+ | ------------ | ---------------- |
85
+ | 일반 Feature | Squash and Merge |
86
+ | 긴급 Hotfix | Squash and Merge |
87
+ | 문서 수정 | Squash and Merge |
88
+
89
+ ### 머지 실행
90
+
91
+ 모든 리뷰 해결 시:
92
+
93
+ ```bash
94
+ # 머지 전 main 최신화
95
+ git checkout main
96
+ git pull
97
+
98
+ # Squash and Merge
99
+ gh pr merge --squash --delete-branch
100
+
101
+ # 머지 후 main 최신화
102
+ git pull
103
+ ```
88
104
 
89
105
  ---
90
106
 
@@ -37,7 +37,15 @@ spec.md 전문을 사용자에게 공유하고 **명시적 승인(OK)** 대기
37
37
 
38
38
  → `skills/create-issue.md` 참조
39
39
 
40
- ### 5. 문서 커밋 전 확인
40
+ ### 5. 브랜치 생성
41
+
42
+ ```bash
43
+ git checkout -b feat/{이슈번호}-{기능명}
44
+ ```
45
+
46
+ > ⚠️ **main 브랜치에서 작업하지 마세요.** Issue 생성 후 반드시 브랜치를 생성합니다.
47
+
48
+ ### 6. 문서 커밋 전 확인
41
49
 
42
50
  > ⚠️ **커밋 전 체크리스트**
43
51
 
@@ -45,6 +53,20 @@ spec.md 전문을 사용자에게 공유하고 **명시적 승인(OK)** 대기
45
53
  - [ ] tasks.md에 이슈번호 반영 (`- **Issue**: #{이슈번호}`)
46
54
  - [ ] tasks.md에 브랜치명 반영 (`feat/{이슈번호}-{기능명}`)
47
55
 
56
+ ### 7. 문서 커밋
57
+
58
+ > 🚨 **사용자 확인 필수**
59
+
60
+ spec/plan/tasks 승인 후 **Feature 폴더 전체**를 커밋:
61
+
62
+ ```bash
63
+ git add docs/features/{be|fe}/F{번호}-{기능명}/
64
+ git commit -m "docs(#{이슈번호}): F{번호} 계획 완료"
65
+ ```
66
+
67
+ > 📁 **포함 파일**: spec.md, plan.md, tasks.md, decisions.md (비어있어도 포함)
68
+ > ⚠️ **Standalone 모드**: Docs 레포로 이동 후 커밋하세요.
69
+
48
70
  ---
49
71
 
50
72
  ## 참조 문서
@@ -29,19 +29,19 @@ Pull Request를 생성할 때 따르는 가이드입니다.
29
29
 
30
30
  > 🚨 **테스트 미통과 시 PR 생성 불가**
31
31
 
32
- 1. 관련 테스트 명령어 실행 (예: `npm test`, `pnpm test`)
32
+ 1. 작업과 관련된 테스트 명령어 실행 (예: `npm test`, `pnpm test`), 테스트가 없는 경우 사용자에게 요청
33
33
  2. 결과 확인 (PASS/FAIL)
34
34
  3. PR 본문 "테스트" 섹션에 **실행 결과** 기록
35
- 4. 체크박스는 **실제 통과한 항목만** 체크
35
+ 4. 모든 체크박스가 체크되어야
36
36
 
37
37
  ### 3. 사용자 확인 요청
38
38
 
39
39
  > 🚨 **사용자 확인 필수**
40
40
 
41
- PR 생성 전 다음 내용을 공유하고 승인 대기:
41
+ PR 생성 전 다음 내용을 **코드블록으로** 사용자에게 공유하고 **명시적 승인(OK)** 대기:
42
42
 
43
43
  - 제목
44
- - 본문 (테스트 결과 포함)
44
+ - 본문 전체 (`pr-template.md` 형식)
45
45
  - 라벨
46
46
 
47
47
  ### 4. PR 생성
@@ -20,10 +20,12 @@ tasks.md의 태스크를 실행할 때 따르는 가이드입니다.
20
20
 
21
21
  ### 3. 상태 전환
22
22
 
23
- | 시점 | 상태 전환 |
24
- | ------- | -------------------- |
25
- | 시작 시 | `[TODO]` → `[DOING]` |
26
- | 완료 | `[DOING]` → `[DONE]` |
23
+ | 시점 | 상태 전환 |
24
+ | -------------- | -------------------- |
25
+ | 시작 시 | `[TODO]` → `[DOING]` |
26
+ | 사용자 승인 | `[DOING]` → `[DONE]` |
27
+
28
+ > ⚠️ 작업이 완료되어도 **사용자 승인 전까지는 `[DOING]` 상태 유지**
27
29
 
28
30
  상태 전환 시 날짜도 함께 기록 (YYYY-MM-DD)
29
31
 
@@ -63,7 +63,12 @@ docs/
63
63
  │ ├── constitution.md # 프로젝트 원칙
64
64
  │ ├── git-workflow.md # Git 자동화
65
65
  │ ├── issue-template.md
66
- └── pr-template.md
66
+ ├── pr-template.md
67
+ │ └── skills/ # 단계별 가이드
68
+ │ ├── create-feature.md
69
+ │ ├── create-issue.md
70
+ │ ├── create-pr.md
71
+ │ └── execute-task.md
67
72
  ├── prd/ # 제품 요구사항
68
73
  ├── features/ # 기능별 문서
69
74
  │ ├── be/ # Backend Features
@@ -58,19 +58,18 @@
58
58
  docs/
59
59
  ├── README.md # 문서 안내
60
60
  ├── agents/ # 에이전트 운영 규칙
61
- │ ├── agents.md
62
- │ ├── constitution.md
63
- │ ├── git-workflow.md
61
+ │ ├── agents.md # 메인 규칙 (이 파일)
62
+ │ ├── constitution.md # 프로젝트 원칙
63
+ │ ├── git-workflow.md # Git 자동화
64
64
  │ ├── issue-template.md
65
65
  │ ├── pr-template.md
66
- │ └── skills/ # 프로세스별 가이드
66
+ │ └── skills/ # 단계별 가이드
67
67
  │ ├── create-feature.md
68
68
  │ ├── create-issue.md
69
69
  │ ├── create-pr.md
70
70
  │ └── execute-task.md
71
71
  ├── prd/ # 제품 요구사항
72
72
  ├── features/ # 기능별 문서
73
- │ ├── feature-base/ # 템플릿
74
73
  │ └── F00X-{name}/ # 개별 기능
75
74
  └── scripts/ # 유틸리티
76
75
  ```