lee-spec-kit 0.6.37 → 0.6.38
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 +41 -10
- package/README.md +42 -10
- package/dist/index.js +2178 -793
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/en/common/README.md +29 -0
- package/templates/en/common/agents/agents.md +6 -13
- package/templates/en/common/agents/skills/create-pr.md +5 -5
- package/templates/en/common/agents/skills/execute-task.md +6 -2
- package/templates/en/common/features/README.md +22 -0
- package/templates/en/common/features/feature-base/spec.md +2 -0
- package/templates/en/common/features/feature-base/tasks.md +15 -1
- package/templates/en/common/ideas/README.md +13 -2
- package/templates/en/common/prd/README.md +28 -0
- package/templates/ko/common/README.md +29 -0
- package/templates/ko/common/agents/agents.md +6 -13
- package/templates/ko/common/agents/skills/create-pr.md +5 -5
- package/templates/ko/common/agents/skills/execute-task.md +6 -2
- package/templates/ko/common/features/README.md +22 -0
- package/templates/ko/common/features/feature-base/spec.md +2 -0
- package/templates/ko/common/features/feature-base/tasks.md +15 -1
- package/templates/ko/common/ideas/README.md +15 -2
- package/templates/ko/common/prd/README.md +28 -0
package/README.en.md
CHANGED
|
@@ -294,7 +294,8 @@ Use `context --json` only when full-detail debugging fields are required.
|
|
|
294
294
|
- `approvalRequest`: ready-to-use approval/execute guidance (`labels`, `approveCommand`, `executeCommand`, `options[]`)
|
|
295
295
|
- `requiredDocs`: built-in docs to read before the current action (`id`, `command`)
|
|
296
296
|
- `checkPolicy`: approval validation policy (`token`, `acceptedTokens`, `tokenPattern`, `validLabels`, `contextVersion`, ...)
|
|
297
|
-
- `agentOrchestration`: main-agent (conversation/approval) + sub-agent (execution) contract
|
|
297
|
+
- `agentOrchestration`: main-agent (conversation/approval) + sub-agent (execution) contract. The current SSOT is `subAgentHandoff` plus `matchedFeature.currentSubstate*`; `delegateCommandExecution`, `longRunningCategories`, and `currentActionShouldDelegate` are compatibility fields.
|
|
298
|
+
- `matchedFeature.currentSubstateId/currentSubstateOwner/currentSubstatePhase`: current step-internal execution state for owner/phase-aware orchestration
|
|
298
299
|
|
|
299
300
|
**Advanced/reference fields (automation edge cases or debugging)**
|
|
300
301
|
|
|
@@ -405,8 +406,8 @@ Auto gate mode rules:
|
|
|
405
406
|
- If the current action set is instruction-only (no executable command), auto-run may stop with `AUTO_MANUAL_REQUIRED`. This is an automation boundary, not a CLI crash.
|
|
406
407
|
- If progress stalls (same context/action repeating), it stops with `AUTO_NO_PROGRESS`.
|
|
407
408
|
- In JSON mode, inspect `autoRun.status`, `autoRun.reasonCode`, `autoRun.gate`, `autoRun.executions`, and `autoRun.resume`.
|
|
408
|
-
- Inspect JSON `agentOrchestration` for main/sub-agent responsibilities and pause/report boundaries.
|
|
409
|
-
-
|
|
409
|
+
- Inspect JSON `agentOrchestration` and `matchedFeature.currentSubstate*` for main/sub-agent responsibilities and pause/report boundaries.
|
|
410
|
+
- Prefer `matchedFeature.currentSubstateOwner` plus `subAgentHandoff` as the delegation signal when present. `longRunningCategories` and `currentActionShouldDelegate` remain legacy compatibility metadata for older non-substate paths.
|
|
410
411
|
- With `--start-auto`, JSON also includes `autoRun.run` (`runId`, `status`, `resumeCommand`).
|
|
411
412
|
|
|
412
413
|
Agent resume rules (recommended):
|
|
@@ -464,6 +465,35 @@ Status values distinguish implementation vs workflow completion:
|
|
|
464
465
|
- `DONE`: all tasks are marked done, but workflow requirements are not fully satisfied
|
|
465
466
|
- `WORKFLOW_DONE`: implementation + workflow requirements are both satisfied
|
|
466
467
|
|
|
468
|
+
### PRD Requirement Traceability
|
|
469
|
+
|
|
470
|
+
Aggregate PRD coverage from PRD requirement IDs (e.g. `PRD-FR-001`) and Feature `tasks.md` bracket tags (e.g. `[PRD-FR-001]`).
|
|
471
|
+
|
|
472
|
+
Recommended SSOT:
|
|
473
|
+
- PRD (`docs/prd/`): requirements SSOT (keep stable IDs)
|
|
474
|
+
- Ideas (`docs/ideas/`): pre-Feature stage (record `PRD Refs` at the top)
|
|
475
|
+
- Features (`docs/features/`): implementation/progress SSOT (`PRD Refs` in `spec.md`, task tags in `tasks.md`, change records in `decisions.md`)
|
|
476
|
+
|
|
477
|
+
When requirements/scope change mid-work, update at minimum:
|
|
478
|
+
- PRD docs + `spec.md` `PRD Refs` + `tasks.md` task tags
|
|
479
|
+
- (when applicable) `plan.md`, `decisions.md`
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
npx lee-spec-kit requirements
|
|
483
|
+
|
|
484
|
+
# alias
|
|
485
|
+
npx lee-spec-kit prd
|
|
486
|
+
|
|
487
|
+
# JSON output for agents
|
|
488
|
+
npx lee-spec-kit requirements --json
|
|
489
|
+
|
|
490
|
+
# Write report (docs/prd/status.md)
|
|
491
|
+
npx lee-spec-kit requirements --write
|
|
492
|
+
|
|
493
|
+
# Exit code 1 when issues exist (unknown refs / unmapped tasks / untracked requirements)
|
|
494
|
+
npx lee-spec-kit requirements --strict --json
|
|
495
|
+
```
|
|
496
|
+
|
|
467
497
|
### Global Option
|
|
468
498
|
|
|
469
499
|
```bash
|
|
@@ -527,7 +557,7 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
527
557
|
"taskCommitGate": "warn",
|
|
528
558
|
"prePrReview": {
|
|
529
559
|
"skills": ["code-review-excellence"],
|
|
530
|
-
"enforceExecutionEvidence":
|
|
560
|
+
"enforceExecutionEvidence": false
|
|
531
561
|
}
|
|
532
562
|
},
|
|
533
563
|
"pr": { "screenshots": { "upload": false } },
|
|
@@ -603,9 +633,10 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
|
|
|
603
633
|
- `path_required`: evidence must be a real existing local path
|
|
604
634
|
- `decisionEnum` (optional): allowed decision outcomes (default: `["approve","changes_requested","blocked"]`)
|
|
605
635
|
- Moving to PR step requires final decision `approve`
|
|
606
|
-
- `enforceExecutionEvidence` (optional): require proof that a review agent was actually executed (default: `
|
|
636
|
+
- `enforceExecutionEvidence` (optional): require proof that a review agent was actually executed (default: `false`)
|
|
607
637
|
- when `true`, `pre-pr-review` requires `--evidence` and non-empty `commandsExecuted`
|
|
608
|
-
|
|
638
|
+
- when `false`, implementation-quality review fields remain required, while `commandsExecuted` is optional review evidence
|
|
639
|
+
- `executionCommandPrefixes` (optional): command prefixes to match against `commandsExecuted` when execution evidence is enforced (default: `[]`)
|
|
609
640
|
- when non-empty, at least one executed command must start with one of these prefixes
|
|
610
641
|
- `workflow.auto`:
|
|
611
642
|
- `defaultPreset` (optional): default auto preset used by `flow --request "<text>"` (default: `"pr-handoff"`)
|
|
@@ -632,7 +663,7 @@ Example:
|
|
|
632
663
|
"fallback": "builtin-checklist",
|
|
633
664
|
"evidenceMode": "path_required",
|
|
634
665
|
"decisionEnum": ["approve", "changes_requested", "blocked"],
|
|
635
|
-
"enforceExecutionEvidence":
|
|
666
|
+
"enforceExecutionEvidence": false,
|
|
636
667
|
"executionCommandPrefixes": []
|
|
637
668
|
}
|
|
638
669
|
}
|
|
@@ -658,9 +689,9 @@ Pre-PR execution gate risks and mitigations:
|
|
|
658
689
|
- `requireCheckCategories` (`category` only): categories that **always** require CHECK (e.g. `["pr_create"]`, `["*"]`)
|
|
659
690
|
- `skipCheckCategories` (`category` only): categories that **never** require CHECK (e.g. `["docs_commit"]`, `["*"]`)
|
|
660
691
|
- `requireCheckSteps` (`steps` only): step numbers that require CHECK (e.g. `[3, 5, 12]`)
|
|
661
|
-
- `taskExecuteCheck` (optional): `task_execute`
|
|
662
|
-
- `both`: require approval for both TODO→DOING and DOING→DONE transitions
|
|
663
|
-
- `start_only`: require approval only for TODO→DOING
|
|
692
|
+
- `taskExecuteCheck` (optional): legacy `task_execute` start/complete phase compatibility override (`both` | `start_only`, default: `both`)
|
|
693
|
+
- `both`: on legacy `task_execute` compatibility paths, require approval for both TODO→DOING and DOING→DONE transitions
|
|
694
|
+
- `start_only`: on legacy `task_execute` compatibility paths, require approval only for TODO→DOING and skip default approval for DOING→DONE
|
|
664
695
|
|
|
665
696
|
#### category examples
|
|
666
697
|
|
package/README.md
CHANGED
|
@@ -313,7 +313,8 @@ npx lee-spec-kit context F001 --approve A --execute --ticket <TICKET> --execute-
|
|
|
313
313
|
- `approvalRequest`: 승인 요청/실행에 바로 사용하는 안내 데이터 (`labels`, `approveCommand`, `executeCommand`, `options[]`)
|
|
314
314
|
- `requiredDocs`: 현재 액션 전에 읽어야 할 CLI 내장 문서 목록 (`id`, `command`)
|
|
315
315
|
- `checkPolicy`: 승인 검증 정책 (`token`, `acceptedTokens`, `tokenPattern`, `validLabels`, `contextVersion` 등)
|
|
316
|
-
- `agentOrchestration`: 메인(대화/승인) + 서브(명령 실행) 역할 분리
|
|
316
|
+
- `agentOrchestration`: 메인(대화/승인) + 서브(명령 실행) 역할 분리 계약. 현재 SSOT는 `subAgentHandoff`와 `matchedFeature.currentSubstate*`이며, `delegateCommandExecution`/`longRunningCategories`/`currentActionShouldDelegate`는 compatibility field입니다.
|
|
317
|
+
- `matchedFeature.currentSubstateId/currentSubstateOwner/currentSubstatePhase`: step 내부 실행 상태와 owner/phase 기반 오케스트레이션 판단용 필드
|
|
317
318
|
|
|
318
319
|
**고급/참고 필드 (자동화 고급 시나리오 또는 디버깅용)**
|
|
319
320
|
|
|
@@ -424,8 +425,8 @@ npx lee-spec-kit flow --strict
|
|
|
424
425
|
- 현재 액션이 instruction-only라 command 자동 실행이 불가능하면 `AUTO_MANUAL_REQUIRED`로 멈출 수 있습니다. (CLI 오류가 아니라 자동화 경계 도달 상태)
|
|
425
426
|
- 진행 정체(동일 context/action 반복)가 감지되면 `AUTO_NO_PROGRESS`로 중단됩니다.
|
|
426
427
|
- JSON 모드에서는 `autoRun.status`, `autoRun.reasonCode`, `autoRun.gate`, `autoRun.executions`, `autoRun.resume`로 상세 상태를 확인할 수 있습니다.
|
|
427
|
-
- JSON `agentOrchestration
|
|
428
|
-
-
|
|
428
|
+
- JSON `agentOrchestration`과 `matchedFeature.currentSubstate*`로 메인/서브 에이전트 역할 및 중단/보고 조건을 확인할 수 있습니다.
|
|
429
|
+
- 위임 판단은 `matchedFeature.currentSubstateOwner`와 `subAgentHandoff`를 우선 사용하세요. `longRunningCategories`와 `currentActionShouldDelegate`는 substate가 없는 레거시 경로용 compatibility 메타데이터입니다.
|
|
429
430
|
- `--start-auto`를 사용하면 JSON `autoRun.run`에 `runId`, `status`, `resumeCommand`가 포함됩니다.
|
|
430
431
|
|
|
431
432
|
에이전트 재개 규칙(권장):
|
|
@@ -490,6 +491,36 @@ npx lee-spec-kit status --strict
|
|
|
490
491
|
- `DONE`: 태스크는 모두 완료됐지만 워크플로우 요구사항이 완전히 충족되진 않음
|
|
491
492
|
- `WORKFLOW_DONE`: 구현 + 워크플로우 요구사항까지 모두 충족
|
|
492
493
|
|
|
494
|
+
### PRD 요구사항 추적
|
|
495
|
+
|
|
496
|
+
PRD 요구사항 ID(`PRD-FR-001` 등)와 Feature `tasks.md` 태그(`[PRD-FR-001]`)를 기반으로 PRD 커버리지를 집계합니다.
|
|
497
|
+
|
|
498
|
+
SSOT(단일 기준) 권장:
|
|
499
|
+
- PRD(`docs/prd/`): 요구사항 SSOT (ID 안정성 유지)
|
|
500
|
+
- Ideas(`docs/ideas/`): Feature 전 단계 (상단에 `PRD Refs` 기록)
|
|
501
|
+
- Features(`docs/features/`): 구현/진행 SSOT (`spec.md`의 `PRD Refs`, `tasks.md`의 태스크 태그, `decisions.md`의 변경 기록)
|
|
502
|
+
|
|
503
|
+
중간에 요구사항/범위가 바뀌면 최소 아래를 함께 갱신하세요:
|
|
504
|
+
- PRD 문서 + `spec.md`의 `PRD Refs` + `tasks.md`의 태스크 태그
|
|
505
|
+
- (필요 시) `plan.md`, `decisions.md`
|
|
506
|
+
|
|
507
|
+
```bash
|
|
508
|
+
# 터미널에 출력
|
|
509
|
+
npx lee-spec-kit requirements
|
|
510
|
+
|
|
511
|
+
# alias
|
|
512
|
+
npx lee-spec-kit prd
|
|
513
|
+
|
|
514
|
+
# 에이전트용 JSON 출력
|
|
515
|
+
npx lee-spec-kit requirements --json
|
|
516
|
+
|
|
517
|
+
# 파일로 저장 (docs/prd/status.md)
|
|
518
|
+
npx lee-spec-kit requirements --write
|
|
519
|
+
|
|
520
|
+
# 이슈가 있으면 종료 코드 1 (unknown refs / unmapped tasks / untracked requirements)
|
|
521
|
+
npx lee-spec-kit requirements --strict --json
|
|
522
|
+
```
|
|
523
|
+
|
|
493
524
|
### 공통 옵션
|
|
494
525
|
|
|
495
526
|
```bash
|
|
@@ -576,7 +607,7 @@ npx lee-spec-kit update --force
|
|
|
576
607
|
"taskCommitGate": "warn",
|
|
577
608
|
"prePrReview": {
|
|
578
609
|
"skills": ["code-review-excellence"],
|
|
579
|
-
"enforceExecutionEvidence":
|
|
610
|
+
"enforceExecutionEvidence": false
|
|
580
611
|
}
|
|
581
612
|
},
|
|
582
613
|
"pr": { "screenshots": { "upload": false } },
|
|
@@ -651,9 +682,10 @@ npx lee-spec-kit update --force
|
|
|
651
682
|
- `path_required`: 실제 존재하는 로컬 경로만 인정
|
|
652
683
|
- `decisionEnum` (선택): 허용 Decision 값 목록 (기본: `["approve","changes_requested","blocked"]`)
|
|
653
684
|
- PR 단계로 진행하려면 최종 Decision이 `approve`여야 함
|
|
654
|
-
- `enforceExecutionEvidence` (선택): 리뷰 에이전트 실제 실행 증거 강제 여부 (기본: `
|
|
685
|
+
- `enforceExecutionEvidence` (선택): 리뷰 에이전트 실제 실행 증거 강제 여부 (기본: `false`)
|
|
655
686
|
- `true`일 때 `pre-pr-review`는 `--evidence`와 비어있지 않은 `commandsExecuted`를 요구
|
|
656
|
-
|
|
687
|
+
- `false`일 때도 구현 품질 리뷰 필드는 필수이며, `commandsExecuted`는 선택적 보조 evidence입니다
|
|
688
|
+
- `executionCommandPrefixes` (선택): 실행 증거를 강제할 때 `commandsExecuted`와 매칭할 명령 prefix 목록 (기본: `[]`)
|
|
657
689
|
- 비어있지 않으면 실행 명령 중 최소 1개가 해당 prefix로 시작해야 함
|
|
658
690
|
- `workflow.auto`:
|
|
659
691
|
- `defaultPreset` (선택): `flow --request "<요청>"` 실행 시 기본으로 사용할 auto preset 이름 (기본: `"pr-handoff"`)
|
|
@@ -680,7 +712,7 @@ npx lee-spec-kit update --force
|
|
|
680
712
|
"fallback": "builtin-checklist",
|
|
681
713
|
"evidenceMode": "path_required",
|
|
682
714
|
"decisionEnum": ["approve", "changes_requested", "blocked"],
|
|
683
|
-
"enforceExecutionEvidence":
|
|
715
|
+
"enforceExecutionEvidence": false,
|
|
684
716
|
"executionCommandPrefixes": []
|
|
685
717
|
}
|
|
686
718
|
}
|
|
@@ -706,9 +738,9 @@ Pre-PR 실행 게이트 리스크와 완화:
|
|
|
706
738
|
- `requireCheckCategories` (`category`만): 확인을 **항상** 요구할 category 목록 (예: `["pr_create"]`, `["*"]`)
|
|
707
739
|
- `skipCheckCategories` (`category`만): 확인을 **절대** 요구하지 않을 category 목록 (예: `["docs_commit"]`, `["*"]`)
|
|
708
740
|
- `requireCheckSteps` (`steps`만): 확인이 필요한 step 번호 목록 (예: `[3, 5, 12]`)
|
|
709
|
-
- `taskExecuteCheck` (선택): `task_execute` 확인 정책 (`both` | `start_only`, 기본: `both`)
|
|
710
|
-
- `both`: TODO→DOING, DOING→DONE 모두 승인 필요
|
|
711
|
-
- `start_only`: TODO→DOING만 승인 필요, DOING→DONE은 기본 승인 생략
|
|
741
|
+
- `taskExecuteCheck` (선택): 레거시 `task_execute` 시작/완료 phase 호환용 확인 정책 (`both` | `start_only`, 기본: `both`)
|
|
742
|
+
- `both`: 기존 `task_execute` 호환 경로에서 TODO→DOING, DOING→DONE 모두 승인 필요
|
|
743
|
+
- `start_only`: 기존 `task_execute` 호환 경로에서 TODO→DOING만 승인 필요, DOING→DONE은 기본 승인 생략
|
|
712
744
|
|
|
713
745
|
#### category 예시
|
|
714
746
|
|