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 생성 프로세스
|
|
2
|
+
|
|
3
|
+
GitHub Issue를 생성할 때 따르는 가이드입니다.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 사전 조건
|
|
8
|
+
|
|
9
|
+
- [ ] `spec.md` 작성 완료
|
|
10
|
+
- [ ] 사용자 승인 완료
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 단계
|
|
15
|
+
|
|
16
|
+
### 1. 이슈 내용 작성
|
|
17
|
+
|
|
18
|
+
> 📖 **`issue-template.md`를 반드시 참조하세요.**
|
|
19
|
+
|
|
20
|
+
| 항목 | 형식 |
|
|
21
|
+
| ------ | ---------------------------------------- |
|
|
22
|
+
| 제목 | `F{번호}: {기능명} ({짧은 설명})` |
|
|
23
|
+
| 본문 | 개요, 목표, 완료 조건, 관련 문서 |
|
|
24
|
+
| 라벨 | `enhancement`, `bug`, `documentation` 등 |
|
|
25
|
+
| 담당자 | `@me` (기본값) |
|
|
26
|
+
|
|
27
|
+
### 2. 사용자 확인 요청
|
|
28
|
+
|
|
29
|
+
> 🚨 **사용자 확인 필수**
|
|
30
|
+
|
|
31
|
+
이슈 생성 전 다음 내용을 공유하고 승인 대기:
|
|
32
|
+
|
|
33
|
+
- 제목
|
|
34
|
+
- 본문
|
|
35
|
+
- 라벨
|
|
36
|
+
|
|
37
|
+
### 3. 이슈 생성
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
gh issue create \
|
|
41
|
+
--title "F{번호}: {기능명} ({짧은 설명})" \
|
|
42
|
+
--body-file /tmp/issue-body.md \
|
|
43
|
+
--assignee @me \
|
|
44
|
+
--label enhancement
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 참조 문서
|
|
50
|
+
|
|
51
|
+
- **이슈 템플릿**: `issue-template.md`
|
|
52
|
+
- **링크 형식 규칙**: `issue-template.md` > "링크 형식" 섹션
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Pull Request 생성 프로세스
|
|
2
|
+
|
|
3
|
+
Pull Request를 생성할 때 따르는 가이드입니다.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 사전 조건
|
|
8
|
+
|
|
9
|
+
- [ ] 모든 태스크 `[DONE]` 상태
|
|
10
|
+
- [ ] 변경 사항 커밋 완료
|
|
11
|
+
- [ ] 브랜치 푸시 완료
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 단계
|
|
16
|
+
|
|
17
|
+
### 1. PR 내용 작성
|
|
18
|
+
|
|
19
|
+
> 📖 **`pr-template.md`를 반드시 참조하세요.**
|
|
20
|
+
|
|
21
|
+
| 항목 | 형식 |
|
|
22
|
+
| ------ | ---------------------------------- |
|
|
23
|
+
| 제목 | `feat(#{이슈번호}): {기능명}` |
|
|
24
|
+
| 본문 | 개요, 변경 사항, 테스트, 관련 문서 |
|
|
25
|
+
| 라벨 | 적절한 라벨 지정 |
|
|
26
|
+
| 담당자 | `@me` (기본값) |
|
|
27
|
+
|
|
28
|
+
### 2. 테스트 검증
|
|
29
|
+
|
|
30
|
+
> 🚨 **테스트 미통과 시 PR 생성 불가**
|
|
31
|
+
|
|
32
|
+
1. 관련 테스트 명령어 실행 (예: `npm test`, `pnpm test`)
|
|
33
|
+
2. 결과 확인 (PASS/FAIL)
|
|
34
|
+
3. PR 본문 "테스트" 섹션에 **실행 결과** 기록
|
|
35
|
+
4. 체크박스는 **실제 통과한 항목만** 체크
|
|
36
|
+
|
|
37
|
+
### 3. 사용자 확인 요청
|
|
38
|
+
|
|
39
|
+
> 🚨 **사용자 확인 필수**
|
|
40
|
+
|
|
41
|
+
PR 생성 전 다음 내용을 공유하고 승인 대기:
|
|
42
|
+
|
|
43
|
+
- 제목
|
|
44
|
+
- 본문 (테스트 결과 포함)
|
|
45
|
+
- 라벨
|
|
46
|
+
|
|
47
|
+
### 4. PR 생성
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
gh pr create \
|
|
51
|
+
--title "feat(#{이슈번호}): {기능명}" \
|
|
52
|
+
--body-file /tmp/pr-body.md \
|
|
53
|
+
--assignee @me \
|
|
54
|
+
--base main
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 주의사항
|
|
60
|
+
|
|
61
|
+
### 링크 형식
|
|
62
|
+
|
|
63
|
+
PR 본문의 파일 링크는 **현재 브랜치명**을 사용:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
[파일명](https://github.com/{owner}/{repo}/blob/{브랜치명}/path/to/file)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
> ⚠️ `main` 브랜치 링크는 머지 전까지 404 발생!
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 코드리뷰 수정 기준
|
|
74
|
+
|
|
75
|
+
> 📋 **리뷰 피드백으로 수정이 필요할 때 task 추가 여부 판단 기준**
|
|
76
|
+
|
|
77
|
+
### task 추가 불필요 (사소한 수정)
|
|
78
|
+
|
|
79
|
+
- 오타/코드 스타일 수정
|
|
80
|
+
- 변수명/함수명 변경
|
|
81
|
+
- 주석 추가/수정
|
|
82
|
+
- 린트 오류 수정
|
|
83
|
+
|
|
84
|
+
### task 추가 필요 (중요한 수정)
|
|
85
|
+
|
|
86
|
+
- 로직/알고리즘 변경
|
|
87
|
+
- 새 파일/함수 추가
|
|
88
|
+
- API 시그니처 변경
|
|
89
|
+
- 테스트 케이스 추가
|
|
90
|
+
- spec.md 또는 plan.md 변경이 필요한 경우
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 참조 문서
|
|
95
|
+
|
|
96
|
+
- **PR 템플릿**: `pr-template.md`
|
|
97
|
+
- **Git 워크플로우**: `git-workflow.md`
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# 태스크 실행 프로세스
|
|
2
|
+
|
|
3
|
+
tasks.md의 태스크를 실행할 때 따르는 가이드입니다.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 단계
|
|
8
|
+
|
|
9
|
+
### 1. 태스크 확인
|
|
10
|
+
|
|
11
|
+
- `tasks.md`에서 다음 실행할 태스크 확인
|
|
12
|
+
- 상태가 `[TODO]`인 태스크 선택
|
|
13
|
+
- ⚠️ **현재 브랜치가 해당 Feature 브랜치인지 확인** (`feat/{이슈번호}-{기능명}`)
|
|
14
|
+
|
|
15
|
+
### 2. 실행 계획 공유
|
|
16
|
+
|
|
17
|
+
> 🚨 **사용자 확인 필수**
|
|
18
|
+
|
|
19
|
+
태스크 시작 전 실행 계획을 사용자에게 공유하고 승인 대기
|
|
20
|
+
|
|
21
|
+
### 3. 상태 전환
|
|
22
|
+
|
|
23
|
+
| 시점 | 상태 전환 |
|
|
24
|
+
| ------- | -------------------- |
|
|
25
|
+
| 시작 시 | `[TODO]` → `[DOING]` |
|
|
26
|
+
| 완료 시 | `[DOING]` → `[DONE]` |
|
|
27
|
+
|
|
28
|
+
상태 전환 시 날짜도 함께 기록 (YYYY-MM-DD)
|
|
29
|
+
|
|
30
|
+
### 4. 태스크 완료 후 커밋
|
|
31
|
+
|
|
32
|
+
> 🚨 **사용자 확인 필수**
|
|
33
|
+
|
|
34
|
+
커밋 생성 전 다음 내용을 공유하고 승인 대기:
|
|
35
|
+
|
|
36
|
+
- 커밋 메시지
|
|
37
|
+
- 포함될 파일 목록
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
git add .
|
|
41
|
+
git commit -m "{type}(#{이슈번호}): {태스크 설명}"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## tasks.md에 없는 요청 처리
|
|
47
|
+
|
|
48
|
+
사용자가 tasks.md에 없는 작업을 요청하면:
|
|
49
|
+
|
|
50
|
+
1. tasks.md에 반영할지 사용자에게 확인
|
|
51
|
+
2. 승인 시: tasks.md에 추가 후 실행
|
|
52
|
+
3. 거부 시: 임시 작업으로 진행 (커밋에는 포함)
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 🚨 완료된 태스크 수정 금지
|
|
57
|
+
|
|
58
|
+
> ⚠️ **`[DONE]` 상태의 태스크는 절대 수정하지 않습니다.**
|
|
59
|
+
|
|
60
|
+
### 원칙
|
|
61
|
+
|
|
62
|
+
- 완료된 태스크는 **히스토리/기록 용도**로 보존
|
|
63
|
+
- 수정이 필요한 경우 **새 태스크를 추가**하여 진행
|
|
64
|
+
|
|
65
|
+
### 수정이 필요한 경우
|
|
66
|
+
|
|
67
|
+
1. 기존 태스크는 그대로 유지
|
|
68
|
+
2. 새 태스크를 추가: `T{다음번호}: {수정 내용}`
|
|
69
|
+
3. 새 태스크에서 변경 작업 진행
|
|
70
|
+
|
|
71
|
+
**예시:**
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## Tasks
|
|
75
|
+
|
|
76
|
+
- [DONE] T001: 사용자 인증 구현 (2026-01-05)
|
|
77
|
+
- [DONE] T002: 로그인 페이지 작성 (2026-01-06)
|
|
78
|
+
- [TODO] T003: T002 수정 - 비밀번호 유효성 검사 추가 ← 수정 필요 시 새 태스크 추가
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 참조 문서
|
|
84
|
+
|
|
85
|
+
- **Git 워크플로우**: `git-workflow.md`
|
|
86
|
+
- **커밋 컨벤션**: `git-workflow.md` > "커밋 컨벤션" 섹션
|
|
@@ -4,10 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## 🚨 사용자 확인 필수 규칙 (MUST)
|
|
8
|
+
|
|
9
|
+
> ⚠️ **아래 작업은 반드시 사용자의 명시적 승인(OK)을 받은 후에만 진행합니다.**
|
|
10
|
+
> **확인 없이 진행 시 작업을 즉시 중단해야 합니다.**
|
|
11
|
+
|
|
12
|
+
| 작업 | 확인 시점 | 공유 내용 |
|
|
13
|
+
| ------------- | -------------------- | --------------------------- |
|
|
14
|
+
| 스펙 작성 | `spec.md` 작성 후 | 스펙 내용 전문 |
|
|
15
|
+
| 태스크 실행 | 각 태스크 시작 전 | 실행 계획 |
|
|
16
|
+
| 커밋 생성 | `git commit` 전 | 커밋 메시지, 포함 파일 목록 |
|
|
17
|
+
| 이슈 생성 | `gh issue create` 전 | 제목, 본문, 라벨 |
|
|
18
|
+
| PR 생성 | `gh pr create` 전 | 제목, 본문, 라벨 |
|
|
19
|
+
| Assignee 변경 | 본인 외 지정 시 | 대상 사용자명 |
|
|
20
|
+
| Git 원격 작업 | `push`, `merge` 전 | 브랜치, 변경 사항 |
|
|
21
|
+
|
|
22
|
+
### 확인 프로세스
|
|
23
|
+
|
|
24
|
+
1. 작업 내용을 사용자에게 **먼저 공유**
|
|
25
|
+
2. 사용자의 **명시적 승인(OK)** 대기
|
|
26
|
+
3. 승인 후에만 실행
|
|
27
|
+
|
|
28
|
+
> 🚫 **금지 사항**: 사용자 응답 없이 임의로 진행하는 것
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
7
32
|
## 참조 문서
|
|
8
33
|
|
|
9
34
|
### 핵심 문서
|
|
10
35
|
|
|
36
|
+
> ⚠️ **`custom.md`의 규칙은 다른 모든 규칙보다 우선합니다.**
|
|
37
|
+
|
|
38
|
+
- **🔴 커스텀 규칙 (최우선)**: `/docs/agents/custom.md`
|
|
11
39
|
- **프로젝트 원칙**: `/docs/agents/constitution.md`
|
|
12
40
|
- **Git 워크플로우**: `/docs/agents/git-workflow.md`
|
|
13
41
|
- **이슈 템플릿**: `/docs/agents/issue-template.md`
|
|
@@ -63,42 +91,20 @@ docs/
|
|
|
63
91
|
|
|
64
92
|
## 요청 유형별 프로세스
|
|
65
93
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
1. 대상 레포 확인 (BE 또는 FE)
|
|
69
|
-
2. 새 기능 폴더 생성: `npx lee-spec-kit feature <name>` 또는 `docs/features/README.md` 참조
|
|
70
|
-
3. `spec.md` 작성 - 무엇을, 왜 만드는지 (기술 스택 X)
|
|
71
|
-
4. 사용자에게 스펙 초안 확인 요청
|
|
72
|
-
5. GitHub Issue 생성 (`agents/issue-template.md` 참조)
|
|
73
|
-
|
|
74
|
-
### 2. 기능 스펙 → 계획 수립
|
|
75
|
-
|
|
76
|
-
1. 스펙이 명확한지 확인
|
|
77
|
-
2. `plan.md` 작성 - 기술 스택, 아키텍처, 파일 구조
|
|
78
|
-
3. **`decisions.md`에 주요 기술 결정 기록** (필수)
|
|
79
|
-
4. 사용자 승인 후 태스크 분해
|
|
80
|
-
|
|
81
|
-
### 3. 태스크 실행 및 관리
|
|
82
|
-
|
|
83
|
-
1. `tasks.md`에 태스크 작성 (Acceptance/Checklist 필수)
|
|
84
|
-
2. 사용자 승인 후 실행
|
|
85
|
-
3. **진행 전/후 상태 확인 및 즉시 전환**: `[TODO]` → `[DOING]` → `[DONE]`
|
|
86
|
-
4. 상태 전환 시 날짜 기록 (YYYY-MM-DD)
|
|
87
|
-
5. 태스크를 [DONE]으로 전환할 때 Checklist를 모두 체크
|
|
88
|
-
6. **태스크 완료 직후 상태/날짜 갱신** → 커밋 메시지 제안
|
|
89
|
-
|
|
90
|
-
### 4. 분석/검토 요청
|
|
91
|
-
|
|
92
|
-
1. 분석 리포트 작성 (현재 상태, 문제점, 제안, 영향)
|
|
93
|
-
2. 변경 필요시 새 기능/태스크 생성 권장
|
|
94
|
+
> 📖 각 프로세스의 상세 가이드는 `skills/` 폴더를 참조하세요.
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
| 프로세스 | 가이드 |
|
|
97
|
+
| ----------------- | -------------------------- |
|
|
98
|
+
| 새 기능 추가 | `skills/create-feature.md` |
|
|
99
|
+
| GitHub Issue 생성 | `skills/create-issue.md` |
|
|
100
|
+
| Pull Request 생성 | `skills/create-pr.md` |
|
|
101
|
+
| 태스크 실행 | `skills/execute-task.md` |
|
|
96
102
|
|
|
97
|
-
|
|
103
|
+
### 추가 규칙 (Fullstack)
|
|
98
104
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
105
|
+
- **대상 레포 확인**: 기능 생성 전 BE 또는 FE 레포 확인
|
|
106
|
+
- **plan.md 작성**: 스펙 승인 후 기술 스택, 아키텍처 결정
|
|
107
|
+
- **decisions.md 기록**: 주요 기술 결정 필수 기록
|
|
102
108
|
|
|
103
109
|
---
|
|
104
110
|
|
|
@@ -4,10 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## 🚨 사용자 확인 필수 규칙 (MUST)
|
|
8
|
+
|
|
9
|
+
> ⚠️ **아래 작업은 반드시 사용자의 명시적 승인(OK)을 받은 후에만 진행합니다.**
|
|
10
|
+
> **확인 없이 진행 시 작업을 즉시 중단해야 합니다.**
|
|
11
|
+
|
|
12
|
+
| 작업 | 확인 시점 | 공유 내용 |
|
|
13
|
+
| ------------- | -------------------- | --------------------------- |
|
|
14
|
+
| 스펙 작성 | `spec.md` 작성 후 | 스펙 내용 전문 |
|
|
15
|
+
| 태스크 실행 | 각 태스크 시작 전 | 실행 계획 |
|
|
16
|
+
| 커밋 생성 | `git commit` 전 | 커밋 메시지, 포함 파일 목록 |
|
|
17
|
+
| 이슈 생성 | `gh issue create` 전 | 제목, 본문, 라벨 |
|
|
18
|
+
| PR 생성 | `gh pr create` 전 | 제목, 본문, 라벨 |
|
|
19
|
+
| Assignee 변경 | 본인 외 지정 시 | 대상 사용자명 |
|
|
20
|
+
| Git 원격 작업 | `push`, `merge` 전 | 브랜치, 변경 사항 |
|
|
21
|
+
|
|
22
|
+
### 확인 프로세스
|
|
23
|
+
|
|
24
|
+
1. 작업 내용을 사용자에게 **먼저 공유**
|
|
25
|
+
2. 사용자의 **명시적 승인(OK)** 대기
|
|
26
|
+
3. 승인 후에만 실행
|
|
27
|
+
|
|
28
|
+
> 🚫 **금지 사항**: 사용자 응답 없이 임의로 진행하는 것
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
7
32
|
## 참조 문서
|
|
8
33
|
|
|
9
34
|
### 핵심 문서
|
|
10
35
|
|
|
36
|
+
> ⚠️ **`custom.md`의 규칙은 다른 모든 규칙보다 우선합니다.**
|
|
37
|
+
|
|
38
|
+
- **🔴 커스텀 규칙 (최우선)**: `/docs/agents/custom.md`
|
|
11
39
|
- **프로젝트 원칙**: `/docs/agents/constitution.md`
|
|
12
40
|
- **Git 워크플로우**: `/docs/agents/git-workflow.md`
|
|
13
41
|
- **이슈 템플릿**: `/docs/agents/issue-template.md`
|
|
@@ -34,7 +62,12 @@ docs/
|
|
|
34
62
|
│ ├── constitution.md
|
|
35
63
|
│ ├── git-workflow.md
|
|
36
64
|
│ ├── issue-template.md
|
|
37
|
-
│
|
|
65
|
+
│ ├── pr-template.md
|
|
66
|
+
│ └── skills/ # 프로세스별 가이드
|
|
67
|
+
│ ├── create-feature.md
|
|
68
|
+
│ ├── create-issue.md
|
|
69
|
+
│ ├── create-pr.md
|
|
70
|
+
│ └── execute-task.md
|
|
38
71
|
├── prd/ # 제품 요구사항
|
|
39
72
|
├── features/ # 기능별 문서
|
|
40
73
|
│ ├── feature-base/ # 템플릿
|
|
@@ -55,27 +88,14 @@ docs/
|
|
|
55
88
|
|
|
56
89
|
## 요청 유형별 프로세스
|
|
57
90
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
1. 새 기능 폴더 생성: `npx lee-spec-kit feature <name>`
|
|
61
|
-
2. `spec.md` 작성 - 무엇을, 왜 만드는지
|
|
62
|
-
3. 사용자에게 스펙 초안 확인 요청
|
|
63
|
-
4. GitHub Issue 생성
|
|
64
|
-
|
|
65
|
-
### 2. 태스크 실행 및 관리
|
|
66
|
-
|
|
67
|
-
1. `tasks.md`에 태스크 작성
|
|
68
|
-
2. 사용자 승인 후 실행
|
|
69
|
-
3. 상태 전환: `[TODO]` → `[DOING]` → `[DONE]`
|
|
70
|
-
4. 태스크 완료 직후 커밋
|
|
71
|
-
|
|
72
|
-
### 3. 태스크 외 요청 처리
|
|
73
|
-
|
|
74
|
-
> 사용자가 **tasks.md에 없는 작업**을 요청하면:
|
|
91
|
+
> 📖 각 프로세스의 상세 가이드는 `skills/` 폴더를 참조하세요.
|
|
75
92
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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` |
|
|
79
99
|
|
|
80
100
|
---
|
|
81
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**.
|