lee-spec-kit 0.5.1 → 0.6.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/README.en.md +29 -5
- package/README.md +29 -12
- package/dist/index.js +641 -501
- package/package.json +1 -1
- package/templates/en/fullstack/features/feature-base/tasks.md +2 -0
- package/templates/en/single/features/feature-base/tasks.md +2 -0
- package/templates/ko/fullstack/features/feature-base/tasks.md +2 -0
- package/templates/ko/single/features/feature-base/tasks.md +2 -0
package/README.en.md
CHANGED
|
@@ -203,9 +203,13 @@ npx lee-spec-kit context F001 --approve A --execute --execute-strict
|
|
|
203
203
|
`--json` output includes:
|
|
204
204
|
|
|
205
205
|
- `reasonCode`: status reason code (`SINGLE_MATCHED`, `MULTIPLE_ACTIVE_FEATURES`, etc.)
|
|
206
|
+
- `operationType`: action nature (`local` | `remote` | `manual`)
|
|
206
207
|
- `actionOptions`: maps labels to atomic actions plus `summary`/`approvalPrompt` for user-facing label explanation
|
|
208
|
+
- `primaryActionLabel` / `primaryActionType` / `primaryActionCategory` / `primaryActionOperationType`: metadata for the first atomic action
|
|
209
|
+
- `selectionFallback`: fallback used when branch auto-detection does not match (`none` | `open_features` | `all_features` | `done_features`)
|
|
207
210
|
- `workflowPolicy`: current completion policy (`mode`, `requireIssue`, `requireBranch`, `requirePr`, `requireReview`)
|
|
208
|
-
- `
|
|
211
|
+
- `prePrReviewPolicy`: pre-PR review policy (`enabled`, `skills`, `fallback`, `blockOnFindings`)
|
|
212
|
+
- `checkPolicy`: approval validation policy (`hint`, `policyOnly`, `token: "<LABEL>"`, `acceptedTokens`, `tokenPattern`, `validLabels`, `requireExplanationBeforeApproval`, `requiredExplanationFields`, `contextVersion`, ...)
|
|
209
213
|
|
|
210
214
|
Error payloads (`status: "error"`) include `reasonCode` and labeled `suggestions` (`A/B/C`) (e.g. `INVALID_APPROVAL`, `CONTEXT_STALE`, `EXECUTION_FAILED`, `EXECUTION_NOT_COMMAND`).
|
|
211
215
|
|
|
@@ -332,6 +336,9 @@ npx lee-spec-kit update --templates
|
|
|
332
336
|
npx lee-spec-kit update --force
|
|
333
337
|
```
|
|
334
338
|
|
|
339
|
+
> `agents/skills` and `features/feature-base` are now CLI-managed (SSOT).
|
|
340
|
+
> `update --skills` and `update --templates` are used to clean up legacy copied files in existing docs trees.
|
|
341
|
+
|
|
335
342
|
## Configuration
|
|
336
343
|
|
|
337
344
|
### `.lee-spec-kit.json`
|
|
@@ -345,7 +352,11 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
345
352
|
"lang": "en",
|
|
346
353
|
"createdAt": "YYYY-MM-DD",
|
|
347
354
|
"docsRepo": "embedded",
|
|
348
|
-
"workflow": {
|
|
355
|
+
"workflow": {
|
|
356
|
+
"mode": "github",
|
|
357
|
+
"codeDirtyScope": "auto",
|
|
358
|
+
"prePrReview": { "skills": ["code-review-excellence"] }
|
|
359
|
+
},
|
|
349
360
|
"pr": { "screenshots": { "upload": false } },
|
|
350
361
|
"approval": { "mode": "builtin" }
|
|
351
362
|
}
|
|
@@ -362,7 +373,7 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
362
373
|
| `pushDocs` | (standalone only) whether to manage/push docs repo as a separate git repo |
|
|
363
374
|
| `docsRemote` | (standalone + pushDocs) docs repo remote URL |
|
|
364
375
|
| `projectRoot` | (standalone only) project repo path (single: string, multi: `{ [component]: path }`) |
|
|
365
|
-
| `workflow` | (optional) workflow completion policy (`github`/`local`, `codeDirtyScope`) |
|
|
376
|
+
| `workflow` | (optional) workflow completion policy (`github`/`local`, `codeDirtyScope`, `prePrReview`) |
|
|
366
377
|
| `pr` | (optional) PR artifacts policy (e.g. screenshot upload) |
|
|
367
378
|
| `approval` | (optional) Override CHECK-required policy in `context` output (for automation/semi-auto) |
|
|
368
379
|
|
|
@@ -400,12 +411,25 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
400
411
|
- `auto`: `single => repo`, `multi => component`
|
|
401
412
|
- `workflow.componentPaths` (optional): explicit per-component paths for component-scoped checks (e.g. `"web": ["apps/web", "packages/web-ui"]`)
|
|
402
413
|
- backward compatibility: if omitted, runtime defaults to `repo`
|
|
414
|
+
- `workflow.prePrReview`:
|
|
415
|
+
- `enabled` (optional): enforce pre-PR review stage (default: same as `requirePr`)
|
|
416
|
+
- `skills` (optional): preferred skill names in priority order (default: `["code-review-excellence"]`)
|
|
417
|
+
- `fallback` (optional): fallback policy when no skill can run (default: `"builtin-checklist"`)
|
|
418
|
+
- `blockOnFindings` (optional): require major findings to be resolved/aligned before PR creation (default: `true`)
|
|
403
419
|
|
|
404
420
|
Example:
|
|
405
421
|
|
|
406
422
|
```json
|
|
407
423
|
{
|
|
408
|
-
"workflow": {
|
|
424
|
+
"workflow": {
|
|
425
|
+
"mode": "github",
|
|
426
|
+
"codeDirtyScope": "auto",
|
|
427
|
+
"prePrReview": {
|
|
428
|
+
"skills": ["code-review-excellence"],
|
|
429
|
+
"fallback": "builtin-checklist",
|
|
430
|
+
"blockOnFindings": true
|
|
431
|
+
}
|
|
432
|
+
}
|
|
409
433
|
}
|
|
410
434
|
```
|
|
411
435
|
|
|
@@ -503,4 +527,4 @@ For the full code list and meanings, see `errors.en.md` (English) or `errors.md`
|
|
|
503
527
|
|
|
504
528
|
See the Korean README for the full tree examples and workflow details: `README.md`.
|
|
505
529
|
|
|
506
|
-
Note: generated docs
|
|
530
|
+
Note: generated docs keep project-scoped policy docs (`agents/custom.md`, `agents/constitution.md`) and do not sync CLI-managed docs (`agents.md`, `agents/skills/*`, `git-workflow.md`, `issue-template.md`, `pr-template.md`, `features/feature-base/*`).
|
package/README.md
CHANGED
|
@@ -222,12 +222,16 @@ npx lee-spec-kit context F001 --approve A --execute --execute-strict
|
|
|
222
222
|
- `reasonCode`: 상태 이유 코드 (`SINGLE_MATCHED`, `MULTIPLE_ACTIVE_FEATURES` 등)
|
|
223
223
|
- `type: "command"`: `scope`(project|docs), `cwd`, `cmd` 제공 (복사하여 붙여넣기 가능한 형태로 `cd ... && git ...` 형태로 출력)
|
|
224
224
|
- `type: "instruction"`: 사람이 수행해야 하는 안내 메시지
|
|
225
|
+
- `operationType`: 액션 성격 (`local` | `remote` | `manual`)
|
|
225
226
|
- `actionOptions`: `label`(`A`, `B`, `C`...)과 해당 `action` 매핑 + `summary`/`approvalPrompt`(라벨 설명 템플릿)
|
|
227
|
+
- `primaryActionLabel`/`primaryActionType`/`primaryActionCategory`/`primaryActionOperationType`: 첫 번째 원자 액션의 요약 메타데이터
|
|
228
|
+
- `selectionFallback`: 자동 감지 실패 시 사용된 폴백 (`none` | `open_features` | `all_features` | `done_features`)
|
|
226
229
|
- `category`: 액션 분류 (자동화/반자동용 `approval.mode: "category"`에서 사용)
|
|
227
230
|
- `requiresUserCheck`: 사용자 확인 필요 여부 (에이전트는 **사용자 응답을 `<라벨>` 또는 `<라벨> OK` 형식(예: `A`, `A OK`)으로 제한**하는 것을 권장 / 설정의 `approval`로 오버라이드 가능)
|
|
228
231
|
- `workflowPolicy`: 현재 완료 조건 정책 (`mode`, `requireIssue`, `requireBranch`, `requirePr`, `requireReview`)
|
|
232
|
+
- `prePrReviewPolicy`: pre-PR 리뷰 정책 (`enabled`, `skills`, `fallback`, `blockOnFindings`)
|
|
229
233
|
|
|
230
|
-
또한 `checkPolicy`가 포함되어, 에이전트가 사용자 확인 정책을 적용할 때 참고할 수 있습니다. (`docPath`, `hint`, `token: "<LABEL>"`, `acceptedTokens`, `tokenPattern`, `validLabels`, `requireExplanationBeforeApproval`, `requiredExplanationFields`, `contextVersion`, `config`)
|
|
234
|
+
또한 `checkPolicy`가 포함되어, 에이전트가 사용자 확인 정책을 적용할 때 참고할 수 있습니다. (`docPath`, `hint`, `policyOnly`, `token: "<LABEL>"`, `acceptedTokens`, `tokenPattern`, `validLabels`, `requireExplanationBeforeApproval`, `requiredExplanationFields`, `contextVersion`, `config`)
|
|
231
235
|
|
|
232
236
|
오류 응답(`status: "error"`)에는 `reasonCode`와 `suggestions`(라벨형 다음 동작: `A/B/C`)가 포함됩니다. (예: `INVALID_APPROVAL`, `CONTEXT_STALE`, `EXECUTION_FAILED`, `EXECUTION_NOT_COMMAND`)
|
|
233
237
|
|
|
@@ -384,6 +388,9 @@ npx lee-spec-kit update --templates
|
|
|
384
388
|
npx lee-spec-kit update --force
|
|
385
389
|
```
|
|
386
390
|
|
|
391
|
+
> `agents/skills`와 `features/feature-base`는 CLI 내장(SSOT)으로 관리됩니다.
|
|
392
|
+
> `update --skills`, `update --templates`는 기존 프로젝트의 레거시 복사본을 정리하는 용도로 동작합니다.
|
|
393
|
+
|
|
387
394
|
## 설정 파일
|
|
388
395
|
|
|
389
396
|
### `.lee-spec-kit.json`
|
|
@@ -397,7 +404,11 @@ npx lee-spec-kit update --force
|
|
|
397
404
|
"lang": "ko",
|
|
398
405
|
"createdAt": "YYYY-MM-DD",
|
|
399
406
|
"docsRepo": "embedded",
|
|
400
|
-
"workflow": {
|
|
407
|
+
"workflow": {
|
|
408
|
+
"mode": "github",
|
|
409
|
+
"codeDirtyScope": "auto",
|
|
410
|
+
"prePrReview": { "skills": ["code-review-excellence"] }
|
|
411
|
+
},
|
|
401
412
|
"pr": { "screenshots": { "upload": false } },
|
|
402
413
|
"approval": { "mode": "builtin" }
|
|
403
414
|
}
|
|
@@ -414,7 +425,7 @@ npx lee-spec-kit update --force
|
|
|
414
425
|
| `pushDocs` | (standalone만) docs 레포를 별도 Git으로 관리/푸시할지 여부 |
|
|
415
426
|
| `docsRemote` | (standalone+pushDocs) docs 레포 remote URL |
|
|
416
427
|
| `projectRoot` | (standalone만) 프로젝트 레포지토리 경로 (single: string, multi: `{ [component]: path }`) |
|
|
417
|
-
| `workflow` | (선택) 워크플로우 요구사항 정책 (`github`/`local`, `codeDirtyScope`) |
|
|
428
|
+
| `workflow` | (선택) 워크플로우 요구사항 정책 (`github`/`local`, `codeDirtyScope`, `prePrReview`) |
|
|
418
429
|
| `pr` | (선택) PR 결과물 정책 (예: 스크린샷 업로드 여부) |
|
|
419
430
|
| `approval` | (선택) `context` 출력의 `[확인 필요]`/`requiresUserCheck` 정책 오버라이드 (자동화/반자동용) |
|
|
420
431
|
|
|
@@ -452,12 +463,25 @@ npx lee-spec-kit update --force
|
|
|
452
463
|
- `auto`: `single => repo`, `multi => component`
|
|
453
464
|
- `workflow.componentPaths`(선택): component 판정 경로를 컴포넌트별로 명시 (예: `"web": ["apps/web", "packages/web-ui"]`)
|
|
454
465
|
- 하위 호환: 값이 없으면 기존 동작인 `repo`로 처리
|
|
466
|
+
- `workflow.prePrReview`:
|
|
467
|
+
- `enabled` (선택): pre-PR 리뷰 단계를 강제할지 여부 (기본: `requirePr`와 동일)
|
|
468
|
+
- `skills` (선택): 우선순위 스킬 목록 (기본: `["code-review-excellence"]`)
|
|
469
|
+
- `fallback` (선택): 스킬 미사용 시 폴백 정책 (기본: `"builtin-checklist"`)
|
|
470
|
+
- `blockOnFindings` (선택): 주요 이슈 발견 시 PR 생성 전 해결/합의를 요구할지 여부 (기본: `true`)
|
|
455
471
|
|
|
456
472
|
예시:
|
|
457
473
|
|
|
458
474
|
```json
|
|
459
475
|
{
|
|
460
|
-
"workflow": {
|
|
476
|
+
"workflow": {
|
|
477
|
+
"mode": "github",
|
|
478
|
+
"codeDirtyScope": "auto",
|
|
479
|
+
"prePrReview": {
|
|
480
|
+
"skills": ["code-review-excellence"],
|
|
481
|
+
"fallback": "builtin-checklist",
|
|
482
|
+
"blockOnFindings": true
|
|
483
|
+
}
|
|
484
|
+
}
|
|
461
485
|
}
|
|
462
486
|
```
|
|
463
487
|
|
|
@@ -588,13 +612,8 @@ npx lee-spec-kit config --project-root /new/fe/path --repo fe --non-interactive
|
|
|
588
612
|
docs/
|
|
589
613
|
├── README.md
|
|
590
614
|
├── agents/
|
|
591
|
-
│ ├── agents.md # 에이전트 운영 규칙
|
|
592
615
|
│ ├── constitution.md # 프로젝트 원칙
|
|
593
616
|
│ ├── custom.md # 프로젝트별 추가 규칙
|
|
594
|
-
│ ├── git-workflow.md # Git 자동화 규칙
|
|
595
|
-
│ ├── issue-template.md
|
|
596
|
-
│ ├── pr-template.md
|
|
597
|
-
│ └── skills/ # 에이전트 실행 가이드
|
|
598
617
|
├── designs/ # 디자인 참고 자료
|
|
599
618
|
├── ideas/ # 아이디어/To-do (Feature 승격 전)
|
|
600
619
|
├── prd/
|
|
@@ -603,7 +622,6 @@ docs/
|
|
|
603
622
|
│ └── README.md
|
|
604
623
|
└── features/
|
|
605
624
|
├── README.md
|
|
606
|
-
├── feature-base/ # 공용 템플릿
|
|
607
625
|
├── be/ # Backend Features
|
|
608
626
|
└── fe/ # Frontend Features
|
|
609
627
|
```
|
|
@@ -614,14 +632,13 @@ docs/
|
|
|
614
632
|
docs/
|
|
615
633
|
├── README.md
|
|
616
634
|
├── agents/
|
|
635
|
+
│ ├── constitution.md
|
|
617
636
|
│ ├── custom.md
|
|
618
|
-
│ └── skills/
|
|
619
637
|
├── designs/
|
|
620
638
|
├── ideas/
|
|
621
639
|
├── prd/
|
|
622
640
|
├── scripts/
|
|
623
641
|
└── features/
|
|
624
|
-
├── feature-base/
|
|
625
642
|
└── F001-feature/ # 개별 기능
|
|
626
643
|
```
|
|
627
644
|
|