lee-spec-kit 0.4.13 → 0.4.14
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.en.md +6 -0
- package/README.md +6 -0
- package/dist/index.js +9 -0
- package/package.json +1 -1
- package/templates/en/common/agents/pr-template.md +17 -5
- package/templates/en/common/agents/skills/create-feature.md +2 -16
- package/templates/en/common/agents/skills/create-pr.md +10 -7
- package/templates/en/common/agents/skills/execute-task.md +1 -2
- package/templates/ko/common/agents/pr-template.md +17 -5
- package/templates/ko/common/agents/skills/create-feature.md +2 -16
- package/templates/ko/common/agents/skills/create-pr.md +10 -7
- package/templates/ko/common/agents/skills/execute-task.md +2 -10
package/README.en.md
CHANGED
|
@@ -169,6 +169,7 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
169
169
|
"lang": "en",
|
|
170
170
|
"createdAt": "YYYY-MM-DD",
|
|
171
171
|
"docsRepo": "embedded",
|
|
172
|
+
"pr": { "screenshots": { "upload": false } },
|
|
172
173
|
"approval": { "mode": "builtin" }
|
|
173
174
|
}
|
|
174
175
|
```
|
|
@@ -183,6 +184,7 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
183
184
|
| `pushDocs` | (standalone only) whether to manage/push docs repo as a separate git repo |
|
|
184
185
|
| `docsRemote` | (standalone + pushDocs) docs repo remote URL |
|
|
185
186
|
| `projectRoot` | (standalone only) project repo path (single: string, fullstack: {fe, be}) |
|
|
187
|
+
| `pr` | (optional) PR artifacts policy (e.g. screenshot upload) |
|
|
186
188
|
| `approval` | (optional) Override CHECK-required policy in `context` output (for automation/semi-auto) |
|
|
187
189
|
|
|
188
190
|
> In standalone mode, `init` can add `pushDocs`, `docsRemote`, and `projectRoot` to this config.
|
|
@@ -233,6 +235,10 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
233
235
|
|
|
234
236
|
> To discover available `category` values, check `actions[].category` in `context --json`.
|
|
235
237
|
|
|
238
|
+
### pr (PR artifacts policy)
|
|
239
|
+
|
|
240
|
+
- `pr.screenshots.upload` (default: `false`): When `true`, agents may upload screenshots (e.g. GitHub Release assets) and include URLs in PR body. When `false`, agents should not upload/include URLs and should omit screenshot sections from the PR body.
|
|
241
|
+
|
|
236
242
|
## Generated Structure
|
|
237
243
|
|
|
238
244
|
See the Korean README for the full tree examples and workflow details: `README.md`.
|
package/README.md
CHANGED
|
@@ -214,6 +214,7 @@ npx lee-spec-kit update --force
|
|
|
214
214
|
"lang": "ko",
|
|
215
215
|
"createdAt": "YYYY-MM-DD",
|
|
216
216
|
"docsRepo": "embedded",
|
|
217
|
+
"pr": { "screenshots": { "upload": false } },
|
|
217
218
|
"approval": { "mode": "builtin" }
|
|
218
219
|
}
|
|
219
220
|
```
|
|
@@ -228,6 +229,7 @@ npx lee-spec-kit update --force
|
|
|
228
229
|
| `pushDocs` | (standalone만) docs 레포를 별도 Git으로 관리/푸시할지 여부 |
|
|
229
230
|
| `docsRemote` | (standalone+pushDocs) docs 레포 remote URL |
|
|
230
231
|
| `projectRoot` | (standalone만) 프로젝트 레포지토리 경로 (single: string, fullstack: {fe, be}) |
|
|
232
|
+
| `pr` | (선택) PR 결과물 정책 (예: 스크린샷 업로드 여부) |
|
|
231
233
|
| `approval` | (선택) `context` 출력의 `[확인 필요]`/`requiresUserCheck` 정책 오버라이드 (자동화/반자동용) |
|
|
232
234
|
|
|
233
235
|
> `docsRepo: "standalone"`을 선택하면 `pushDocs`, `docsRemote`, `projectRoot`가 추가됩니다.
|
|
@@ -280,6 +282,10 @@ npx lee-spec-kit update --force
|
|
|
280
282
|
|
|
281
283
|
> 사용 가능한 `category` 값은 `context --json`의 `actions[].category`로 확인하는 것을 권장합니다.
|
|
282
284
|
|
|
285
|
+
### pr (PR 결과물 정책)
|
|
286
|
+
|
|
287
|
+
- `pr.screenshots.upload` (기본: `false`): `true`면 스크린샷을 업로드(예: GitHub Release assets)하고 PR 본문에 URL을 포함할 수 있습니다. `false`면 업로드/URL 포함을 하지 않으며 PR 본문에서도 스크린샷 섹션을 만들지 않는 것을 권장합니다.
|
|
288
|
+
|
|
283
289
|
### Standalone 프로젝트 설정 예시
|
|
284
290
|
|
|
285
291
|
**Single 프로젝트:**
|
package/dist/index.js
CHANGED
|
@@ -836,6 +836,9 @@ async function runInit(options) {
|
|
|
836
836
|
lang,
|
|
837
837
|
createdAt: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
|
|
838
838
|
docsRepo,
|
|
839
|
+
pr: {
|
|
840
|
+
screenshots: { upload: false }
|
|
841
|
+
},
|
|
839
842
|
// Approval policy for "requiresUserCheck" actions shown by `context`.
|
|
840
843
|
// - builtin (default): Use requiresUserCheck embedded in steps/actions.
|
|
841
844
|
// - category: Override by action category (recommended for automation).
|
|
@@ -965,6 +968,7 @@ async function getConfig(cwd) {
|
|
|
965
968
|
pushDocs: configFile.pushDocs,
|
|
966
969
|
docsRemote: configFile.docsRemote,
|
|
967
970
|
projectRoot: configFile.projectRoot,
|
|
971
|
+
pr: configFile.pr,
|
|
968
972
|
approval: configFile.approval
|
|
969
973
|
};
|
|
970
974
|
} catch {
|
|
@@ -2761,6 +2765,11 @@ async function runContext(featureName, options) {
|
|
|
2761
2765
|
token: "OK",
|
|
2762
2766
|
config: config.approval ?? { mode: "builtin" }
|
|
2763
2767
|
},
|
|
2768
|
+
prPolicy: {
|
|
2769
|
+
screenshots: {
|
|
2770
|
+
upload: config.pr?.screenshots?.upload ?? false
|
|
2771
|
+
}
|
|
2772
|
+
},
|
|
2764
2773
|
recommendation: ""
|
|
2765
2774
|
};
|
|
2766
2775
|
if (result.status === "multiple_active") {
|
package/package.json
CHANGED
|
@@ -25,6 +25,11 @@ For file links within the repo in PR body, **always use current branch name**:
|
|
|
25
25
|
> ⚠️ `main` branch links will return 404 until merged!
|
|
26
26
|
> Always use the **current feature branch name** (e.g., `feat/5-feature-name`).
|
|
27
27
|
|
|
28
|
+
### Labels (Required)
|
|
29
|
+
|
|
30
|
+
- PRs must have **at least 1 label**. (cannot be empty)
|
|
31
|
+
- If you're unsure which label to use, confirm with the user before creating the PR.
|
|
32
|
+
|
|
28
33
|
---
|
|
29
34
|
|
|
30
35
|
## PR Body Template
|
|
@@ -59,6 +64,7 @@ For file links within the repo in PR body, **always use current branch name**:
|
|
|
59
64
|
|
|
60
65
|
## Screenshots (Frontend / UI changes)
|
|
61
66
|
|
|
67
|
+
<!-- If there are no UI changes, or if screenshot upload is disabled (e.g. `.lee-spec-kit.json` has `pr.screenshots.upload: false`), remove this section. -->
|
|
62
68
|
> If you follow the Release assets upload flow in `skills/create-pr.md`, you can include images in the PR body without committing files to your branch.
|
|
63
69
|
|
|
64
70
|
{Screenshot markdown (e.g. )}
|
|
@@ -66,12 +72,18 @@ For file links within the repo in PR body, **always use current branch name**:
|
|
|
66
72
|
## Architecture Diagram (Backend / core structure changes)
|
|
67
73
|
|
|
68
74
|
```mermaid
|
|
69
|
-
|
|
75
|
+
sequenceDiagram
|
|
70
76
|
%% Guidelines:
|
|
71
|
-
%% -
|
|
72
|
-
%% - Keep
|
|
73
|
-
|
|
74
|
-
|
|
77
|
+
%% - Express the key "request → processing → storage/response" flow in time order
|
|
78
|
+
%% - Keep participants ≤ 6
|
|
79
|
+
%% - Keep messages ≤ 12; summarize/split if needed
|
|
80
|
+
participant Client as Client
|
|
81
|
+
participant API as API
|
|
82
|
+
participant DB as DB
|
|
83
|
+
Client->>API: Request
|
|
84
|
+
API->>DB: Query/Command
|
|
85
|
+
DB-->>API: Result
|
|
86
|
+
API-->>Client: Response
|
|
75
87
|
```
|
|
76
88
|
|
|
77
89
|
## Related Documents
|
|
@@ -37,22 +37,8 @@ After completing the action, go back to Step 1 and run `context` again.
|
|
|
37
37
|
2. **Do not skip**: Do not fake issue numbers/statuses to advance steps.
|
|
38
38
|
3. **No self-judgment**: If unsure, run `context` again.
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## Reference: the 10-step workflow (reference only)
|
|
43
|
-
|
|
44
|
-
> ⚠️ Do NOT execute these from memory. Always follow the CLI.
|
|
45
|
-
|
|
46
|
-
1. Feature folder created
|
|
47
|
-
2. Write `spec.md`
|
|
48
|
-
3. Get `spec.md` approved
|
|
49
|
-
4. Create GitHub Issue and record `#`
|
|
50
|
-
5. Create feature branch
|
|
51
|
-
6. Write `plan.md`
|
|
52
|
-
7. Get `plan.md` approved
|
|
53
|
-
8. Write/approve/execute `tasks.md` (Doc Status: Review → Approved)
|
|
54
|
-
9. Pre-commit verification
|
|
55
|
-
10. Commit docs
|
|
40
|
+
> Note: the workflow steps may change over time. Do not memorize step numbers.
|
|
41
|
+
> Treat `context` output as the SSOT.
|
|
56
42
|
|
|
57
43
|
---
|
|
58
44
|
|
|
@@ -23,16 +23,18 @@ Guide for creating Pull Requests.
|
|
|
23
23
|
| -------- | ---------------------------------- |
|
|
24
24
|
| Title | `feat(#{issue-number}): {feature} ({short description})` |
|
|
25
25
|
| Body | Overview, Changes, Tests, Docs |
|
|
26
|
-
| Labels |
|
|
26
|
+
| Labels | **At least 1 required** (cannot be empty) |
|
|
27
27
|
| Assignee | `@me` (default) |
|
|
28
28
|
|
|
29
|
+
> ⚠️ Labels cannot be empty. If you’re unsure which label to use, ask/confirm with the user before creating the PR.
|
|
30
|
+
|
|
29
31
|
### 2. Test Verification
|
|
30
32
|
|
|
31
33
|
> 🚨 **PR cannot be created if tests fail**
|
|
32
34
|
|
|
33
35
|
1. Run relevant test commands (e.g., `npm test`, `pnpm test`); if no tests exist, request them from the user
|
|
34
36
|
2. Check results (PASS/FAIL)
|
|
35
|
-
3. In the PR body "Tests" section,
|
|
37
|
+
3. In the PR body "Tests" section, follow `pr-template.md` rules as-is. (add/check only what you actually ran)
|
|
36
38
|
4. If you didn’t run any tests, request/confirm with the user before creating the PR
|
|
37
39
|
|
|
38
40
|
### 3. Prepare Screenshots / Diagrams (Include in PR Body)
|
|
@@ -44,6 +46,8 @@ Include the artifacts in the PR body.
|
|
|
44
46
|
|
|
45
47
|
#### UI changes (Frontend PR)
|
|
46
48
|
|
|
49
|
+
- Default is `pr.screenshots.upload: false`. If you need upload/URL inclusion, enable it in `.lee-spec-kit.json`.
|
|
50
|
+
- If `.lee-spec-kit.json` has `pr.screenshots.upload: false`, **do not upload/include URLs**, and **do not include a "Screenshots" section** in the PR body.
|
|
47
51
|
- Use `agent-browser` to generate screenshots.
|
|
48
52
|
- Save files under a local temp folder (`/tmp/lee-spec-kit/pr-assets/`).
|
|
49
53
|
- Upload them as Release assets, then put the image URLs into the "Screenshots" section of the PR body.
|
|
@@ -87,6 +91,7 @@ kill \"$DEV_PID\" >/dev/null 2>&1 || true
|
|
|
87
91
|
|
|
88
92
|
```bash
|
|
89
93
|
# Upload to Release assets and generate the URL to paste into the PR body
|
|
94
|
+
# - If `.lee-spec-kit.json` has `pr.screenshots.upload: false`, skip this section.
|
|
90
95
|
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
|
|
91
96
|
SAFE_BRANCH=$(git branch --show-current | tr '/' '-')
|
|
92
97
|
TAG="pr-assets/${SAFE_BRANCH}"
|
|
@@ -101,10 +106,7 @@ echo \"\"
|
|
|
101
106
|
|
|
102
107
|
#### Logic/structure changes (Backend PR)
|
|
103
108
|
|
|
104
|
-
- Write a Mermaid
|
|
105
|
-
- Default to **`flowchart TD`** (CodeRabbit-style).
|
|
106
|
-
- Focus on components/modules/data flow (structure/flow over implementation detail).
|
|
107
|
-
- Keep it small: **≤ 12 nodes** recommended (summarize or split if it gets too big).
|
|
109
|
+
- Write a Mermaid **`sequenceDiagram`** in the PR body (follow the "Architecture Diagram" rules in `pr-template.md` as-is).
|
|
108
110
|
|
|
109
111
|
### 4. Request User Approval
|
|
110
112
|
|
|
@@ -114,7 +116,7 @@ Before creating PR, share the following **in a code block** and wait for **expli
|
|
|
114
116
|
|
|
115
117
|
- Title
|
|
116
118
|
- Full body (`pr-template.md` format)
|
|
117
|
-
- Labels
|
|
119
|
+
- Labels (at least 1; cannot be empty)
|
|
118
120
|
|
|
119
121
|
### 5. Create PR
|
|
120
122
|
|
|
@@ -122,6 +124,7 @@ Before creating PR, share the following **in a code block** and wait for **expli
|
|
|
122
124
|
gh pr create \
|
|
123
125
|
--title "feat(#{issue-number}): {feature} ({short description})" \
|
|
124
126
|
--body-file /tmp/pr-body.md \
|
|
127
|
+
--label "{label1,label2}" \
|
|
125
128
|
--assignee @me \
|
|
126
129
|
--base main
|
|
127
130
|
```
|
|
@@ -20,8 +20,7 @@ npx lee-spec-kit context
|
|
|
20
20
|
Execute the `👉 Next Action` exactly as printed by the CLI.
|
|
21
21
|
|
|
22
22
|
- If the CLI points to an active task, focus on that task only.
|
|
23
|
-
-
|
|
24
|
-
- For **[DOING] → [DONE]**: before marking it `[DONE]`, **share the outcome/changes/verification (including tests)** and get user approval (OK). (Do not mark DONE first.)
|
|
23
|
+
- Treat the task state/approval rules in `tasks.md` **"Task Rules"** as SSOT (e.g. when OK is required for `[TODO]→[DOING]`, `[DOING]→[DONE]`).
|
|
25
24
|
- If the CLI prints commands, copy/paste them. (In standalone setups commands may include `git -C ...` and scopes like `project`/`docs`.)
|
|
26
25
|
|
|
27
26
|
### Step 3: Update tasks.md (only what you did)
|
|
@@ -25,6 +25,11 @@ PR 본문에서 레포 내 파일 링크는 **반드시 현재 브랜치명을
|
|
|
25
25
|
> ⚠️ `main` 브랜치 링크는 머지 전까지 404가 발생합니다!
|
|
26
26
|
> 반드시 **현재 피처 브랜치명** (예: `feat/5-feature-name`)을 사용하세요.
|
|
27
27
|
|
|
28
|
+
### 라벨 (필수)
|
|
29
|
+
|
|
30
|
+
- PR에는 **최소 1개 라벨이 반드시 필요**합니다. (비워둘 수 없음)
|
|
31
|
+
- 어떤 라벨을 써야 할지 확신이 없으면 PR 생성 전에 사용자에게 확인하세요.
|
|
32
|
+
|
|
28
33
|
## PR 본문 템플릿
|
|
29
34
|
|
|
30
35
|
```markdown
|
|
@@ -57,6 +62,7 @@ PR 본문에서 레포 내 파일 링크는 **반드시 현재 브랜치명을
|
|
|
57
62
|
|
|
58
63
|
## 스크린샷 (프론트엔드 / UI 변경 시)
|
|
59
64
|
|
|
65
|
+
<!-- UI 변경이 아니거나, 스크린샷을 업로드하지 않았다면(예: `.lee-spec-kit.json`의 `pr.screenshots.upload: false`) 이 섹션은 제거하세요. -->
|
|
60
66
|
> `skills/create-pr.md`의 Release assets 업로드 절차를 사용하면 브랜치에 파일을 커밋하지 않고도 이미지를 본문에 포함할 수 있습니다.
|
|
61
67
|
|
|
62
68
|
{스크린샷 마크다운 (예: )}
|
|
@@ -64,12 +70,18 @@ PR 본문에서 레포 내 파일 링크는 **반드시 현재 브랜치명을
|
|
|
64
70
|
## 아키텍처 다이어그램 (백엔드 / 핵심 구조 변경 시)
|
|
65
71
|
|
|
66
72
|
```mermaid
|
|
67
|
-
|
|
73
|
+
sequenceDiagram
|
|
68
74
|
%% 가이드:
|
|
69
|
-
%% -
|
|
70
|
-
%% -
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
%% - 핵심 "요청→처리→저장/응답" 흐름을 시간 순서로 표현
|
|
76
|
+
%% - 참여자(participant)는 6개 이내 권장
|
|
77
|
+
%% - 메시지는 12개 이내 권장 (너무 길면 핵심만 남기고 요약/분리)
|
|
78
|
+
participant Client as Client
|
|
79
|
+
participant API as API
|
|
80
|
+
participant DB as DB
|
|
81
|
+
Client->>API: Request
|
|
82
|
+
API->>DB: Query/Command
|
|
83
|
+
DB-->>API: Result
|
|
84
|
+
API-->>Client: Response
|
|
73
85
|
```
|
|
74
86
|
|
|
75
87
|
## 관련 문서
|
|
@@ -38,22 +38,8 @@ CLI가 출력하는 **`👉 Next Action` 메시지를 읽고, 그 지시만 정
|
|
|
38
38
|
2. **건너뛰지 않기**: "이슈 생성" 단계를 귀찮아서 생략하거나 가짜 번호를 넣지 마세요.
|
|
39
39
|
3. **스스로 판단 금지**: "이 정도면 됐겠지?"라고 생각하지 말고 CLI에게 물어보세요.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
## 참조: CLI가 안내하는 10단계 (참조용)
|
|
44
|
-
|
|
45
|
-
> ⚠️ 이 단계를 외워서 실행하지 마세요. **참조용**일 뿐입니다. 항상 CLI를 믿으세요.
|
|
46
|
-
|
|
47
|
-
1. **Feature 폴더 생성**: `npx lee-spec-kit feature ...`
|
|
48
|
-
2. **spec.md 작성**: 기능 정의 (작성 후 Status: Review로 설정)
|
|
49
|
-
3. **spec.md 승인**: 사용자 검토 및 승인 (Status: Approved)
|
|
50
|
-
4. **GitHub Issue 생성**: 이슈 번호 발급
|
|
51
|
-
5. **브랜치 생성**: `git checkout -b feat/...`
|
|
52
|
-
6. **plan.md 작성**: 구현 계획 (작성 후 Status: Review로 설정)
|
|
53
|
-
7. **plan.md 승인**: 사용자 검토 및 승인 (Status: Approved)
|
|
54
|
-
8. **tasks.md 작성/승인**: 태스크 분해 및 진행 (문서 상태: Review → Approved)
|
|
55
|
-
9. **문서 커밋 전 확인**: 최종 점검
|
|
56
|
-
10. **문서 커밋**: Docs Sync
|
|
41
|
+
> 참고: 워크플로우 단계는 변경될 수 있으므로, “단계 번호”를 외우지 마세요.
|
|
42
|
+
> **항상 `context` 출력만**을 SSOT로 따르세요.
|
|
57
43
|
|
|
58
44
|
---
|
|
59
45
|
|
|
@@ -23,16 +23,18 @@ Pull Request를 생성할 때 따르는 가이드입니다.
|
|
|
23
23
|
| ------ | ---------------------------------- |
|
|
24
24
|
| 제목 | `feat(#{이슈번호}): {기능명} ({짧은 설명})` |
|
|
25
25
|
| 본문 | 개요, 변경 사항, 테스트, 관련 문서 |
|
|
26
|
-
| 라벨 |
|
|
26
|
+
| 라벨 | **최소 1개 필수** (비워둘 수 없음) |
|
|
27
27
|
| 담당자 | `@me` (기본값) |
|
|
28
28
|
|
|
29
|
+
> ⚠️ 라벨을 비워둘 수 없습니다. 적절한 라벨이 없거나 확신이 없다면, PR 생성 전에 사용자에게 라벨을 요청/확인하세요.
|
|
30
|
+
|
|
29
31
|
### 2. 테스트 검증
|
|
30
32
|
|
|
31
33
|
> 🚨 **테스트 미통과 시 PR 생성 불가**
|
|
32
34
|
|
|
33
35
|
1. 작업과 관련된 테스트 명령어 실행 (예: `npm test`, `pnpm test`), 테스트가 없는 경우 사용자에게 요청
|
|
34
36
|
2. 결과 확인 (PASS/FAIL)
|
|
35
|
-
3. PR 본문 "테스트"
|
|
37
|
+
3. PR 본문 "테스트" 섹션은 `pr-template.md`의 규칙을 그대로 따릅니다. (실행한 테스트만 추가/체크)
|
|
36
38
|
4. 테스트를 실행하지 않았다면, PR 생성 전에 사용자에게 요청/확인합니다.
|
|
37
39
|
|
|
38
40
|
### 3. 스크린샷/다이어그램 작성 (PR 본문에 포함)
|
|
@@ -44,6 +46,8 @@ PR 본문에 결과물을 포함합니다.
|
|
|
44
46
|
|
|
45
47
|
#### UI 변경 (프론트엔드 PR)
|
|
46
48
|
|
|
49
|
+
- 기본값은 `pr.screenshots.upload: false`입니다. 업로드/URL 포함이 필요하다면 `.lee-spec-kit.json`에서 `true`로 켜세요.
|
|
50
|
+
- `.lee-spec-kit.json`에서 `pr.screenshots.upload: false`라면 **업로드/URL 포함을 하지 않으며**, PR 본문에서도 **"스크린샷" 섹션을 만들지 않습니다.**
|
|
47
51
|
- `agent-browser`로 스크린샷을 생성합니다.
|
|
48
52
|
- 스크린샷 파일은 로컬 임시 폴더(`/tmp/lee-spec-kit/pr-assets/`)에 저장합니다.
|
|
49
53
|
- 릴리스 자산(Release assets)으로 업로드한 뒤, 생성된 이미지 URL을 PR 본문 "스크린샷" 섹션에 넣습니다.
|
|
@@ -87,6 +91,7 @@ kill \"$DEV_PID\" >/dev/null 2>&1 || true
|
|
|
87
91
|
|
|
88
92
|
```bash
|
|
89
93
|
# 스크린샷을 Release assets로 업로드하고, PR 본문에 넣을 URL 만들기
|
|
94
|
+
# - `.lee-spec-kit.json`에서 `pr.screenshots.upload: false`라면 이 단계는 생략합니다.
|
|
90
95
|
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
|
|
91
96
|
SAFE_BRANCH=$(git branch --show-current | tr '/' '-')
|
|
92
97
|
TAG="pr-assets/${SAFE_BRANCH}"
|
|
@@ -101,10 +106,7 @@ echo \"\"
|
|
|
101
106
|
|
|
102
107
|
#### 로직/구조 변경 (백엔드 PR)
|
|
103
108
|
|
|
104
|
-
- PR 본문에 Mermaid
|
|
105
|
-
- 기본은 **`flowchart TD`** 를 사용합니다. (코드래빗 스타일)
|
|
106
|
-
- 컴포넌트/모듈/데이터 흐름 중심으로 그립니다. (구현 디테일보다 “구조/흐름”)
|
|
107
|
-
- 노드 수는 **12개 이내**를 권장합니다. (너무 크면 핵심만 남기고 분리/요약)
|
|
109
|
+
- PR 본문에 Mermaid **`sequenceDiagram`**을 작성합니다. (`pr-template.md`의 "아키텍처 다이어그램" 섹션 규칙을 그대로 따르세요)
|
|
108
110
|
|
|
109
111
|
### 4. 사용자 확인 요청
|
|
110
112
|
|
|
@@ -114,7 +116,7 @@ PR 생성 전 다음 내용을 **코드블록으로** 사용자에게 공유하
|
|
|
114
116
|
|
|
115
117
|
- 제목
|
|
116
118
|
- 본문 전체 (`pr-template.md` 형식)
|
|
117
|
-
- 라벨
|
|
119
|
+
- 라벨(최소 1개, 비워둘 수 없음)
|
|
118
120
|
|
|
119
121
|
### 5. PR 생성
|
|
120
122
|
|
|
@@ -122,6 +124,7 @@ PR 생성 전 다음 내용을 **코드블록으로** 사용자에게 공유하
|
|
|
122
124
|
gh pr create \
|
|
123
125
|
--title "feat(#{이슈번호}): {기능명} ({짧은 설명})" \
|
|
124
126
|
--body-file /tmp/pr-body.md \
|
|
127
|
+
--label "{라벨1,라벨2}" \
|
|
125
128
|
--assignee @me \
|
|
126
129
|
--base main
|
|
127
130
|
```
|
|
@@ -22,8 +22,7 @@ npx lee-spec-kit context
|
|
|
22
22
|
CLI가 가리키는 **Active Task** 또는 **Next Action**을 수행합니다.
|
|
23
23
|
|
|
24
24
|
- **[DOING] 상태인 태스크가 있다면**: 해당 태스크를 최우선으로 완료하세요.
|
|
25
|
-
-
|
|
26
|
-
- **[DOING] → [DONE]**: 완료 처리 전에 **결과물/변경 사항/검증(테스트 포함)을 공유**하고 사용자 승인(OK)을 받은 뒤 `[DONE]`으로 변경하세요. (DONE으로 “먼저” 바꾸지 않기)
|
|
25
|
+
- 태스크 상태 전환/승인 규칙은 `tasks.md`의 **"태스크 규칙"** 섹션을 SSOT로 따릅니다. (예: `[TODO]→[DOING]`, `[DOING]→[DONE]` 시점의 OK)
|
|
27
26
|
- CLI가 명령어를 출력하면 **그대로 복사해 실행**합니다. (standalone 환경에서도 레포 경로가 포함될 수 있습니다)
|
|
28
27
|
|
|
29
28
|
### 3단계: 기록 및 반복 (Record & Loop)
|
|
@@ -68,14 +67,7 @@ CLI가 가리키는 **Active Task** 또는 **Next Action**을 수행합니다.
|
|
|
68
67
|
|
|
69
68
|
> ⚠️ 직접 판단하지 말고 CLI가 시키는 대로 하세요.
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
2. **[DOING] → [DONE]**: 결과/검증 공유 + 사용자 승인(OK) 후 표시 (테스트 통과 포함)
|
|
73
|
-
|
|
74
|
-
```markdown
|
|
75
|
-
- [DONE] T-01: 로그인 UI (완료됨)
|
|
76
|
-
- [DOING] T-02: API 연동 (현재 작업 중)
|
|
77
|
-
- [TODO] T-03: 에러 처리 (대기 중)
|
|
78
|
-
```
|
|
70
|
+
태스크 상태 전환/승인 규칙은 `tasks.md`의 **"태스크 규칙"** 섹션을 따르세요.
|
|
79
71
|
|
|
80
72
|
## 비상시 대처 (Emergency)
|
|
81
73
|
|