lee-spec-kit 0.6.16 → 0.6.18

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 CHANGED
@@ -40,26 +40,29 @@
40
40
  # 1) Initialize docs structure
41
41
  npx lee-spec-kit init
42
42
 
43
- # 2) Create a feature
43
+ # 2) Run initial onboarding checks
44
+ npx lee-spec-kit onboard --strict
45
+
46
+ # 3) Create a feature
44
47
  npx lee-spec-kit feature user-auth
45
48
 
46
- # 3) Show next steps (for agents)
49
+ # 4) Show next steps (for agents)
47
50
  npx lee-spec-kit context
48
51
 
49
- # 4) Show workflow dashboard
52
+ # 5) Show workflow dashboard
50
53
  npx lee-spec-kit view
51
54
 
52
- # 5) Show overall status
55
+ # 6) Show overall status
53
56
  npx lee-spec-kit status
54
57
 
55
- # 6) Validate docs / feature metadata
58
+ # 7) Validate docs / feature metadata
56
59
  npx lee-spec-kit doctor
57
60
  ```
58
61
 
59
62
  ## New Project Start Order
60
63
 
61
64
  For a brand-new project, scaffold the **codebase first**, then initialize docs.
62
- This sequence assumes the default `docsRepo: embedded` mode.
65
+ For most users (default: embedded), running `npx lee-spec-kit init` in project root is enough.
63
66
 
64
67
  ```bash
65
68
  # 0) Create/init the code project first (example: Next.js)
@@ -69,17 +72,32 @@ cd my-app
69
72
  # 1) Initialize docs structure
70
73
  npx lee-spec-kit init
71
74
 
72
- # 2) Detect project (agent entrypoint)
75
+ # 2) Run initial onboarding checks
76
+ npx lee-spec-kit onboard --strict
77
+
78
+ # 3) Detect project (agent entrypoint)
73
79
  npx lee-spec-kit detect --json
74
80
 
75
- # 3) Create feature and start workflow
81
+ # 4) Create feature and start workflow
76
82
  npx lee-spec-kit feature user-auth
77
- npx lee-spec-kit context --json
83
+ npx lee-spec-kit context --json-compact
78
84
  ```
79
85
 
80
86
  - Apply lee-spec-kit workflow only when `detect --json` returns `isLeeSpecKitProject: true`.
81
87
  - If `isLeeSpecKitProject: false`, continue with normal non-lee-spec-kit workflow.
82
- - If you use `standalone` docs, run commands against the docs repo location (`--dir` or `LEE_SPEC_KIT_DOCS_DIR`).
88
+
89
+ For teams that keep docs separate from the code repo (standalone), the recommended start point is the **parent workspace folder**.
90
+
91
+ ```bash
92
+ # Recommended layout:
93
+ # workspace/
94
+ # ├─ docs/ (lee-spec-kit docs)
95
+ # └─ project/ (actual code repo)
96
+ #
97
+ # Run from workspace root
98
+ npx lee-spec-kit init --docs-repo standalone --dir ./docs --project-root ./project
99
+ npx lee-spec-kit detect --json
100
+ ```
83
101
 
84
102
  ## Agent Kickoff Prompt
85
103
 
@@ -88,7 +106,7 @@ You can paste the following as an agent session-start instruction.
88
106
  ```text
89
107
  Start procedure:
90
108
  1) Run npx lee-spec-kit detect --json
91
- 2) If isLeeSpecKitProject === true, run npx lee-spec-kit context --json
109
+ 2) If isLeeSpecKitProject === true, run npx lee-spec-kit context --json-compact (use --json only when full detail is needed)
92
110
  3) If actionOptions exist, show approvalPrompt and finalPrompt exactly as provided, then wait for user approval (<LABEL> or <LABEL> OK)
93
111
  4) Do not execute before approval; execute requiresUserCheck=true actions only after approval
94
112
  5) If isLeeSpecKitProject === false, skip lee-spec-kit-specific flow and continue with normal workflow
@@ -99,7 +117,7 @@ Start procedure:
99
117
  ### 📁 Project initialization
100
118
 
101
119
  - Interactive init or CLI options
102
- - Supports `single` and `multi` (`fullstack` remains as a backward-compatible alias)
120
+ - Default is `multi`; `single` remains supported for simple single-repo and backward-compatibility scenarios (`fullstack` is a backward-compatible alias of `multi`)
103
121
  - Korean/English templates
104
122
 
105
123
  ### 🚀 Feature creation
@@ -178,6 +196,21 @@ npx lee-spec-kit detect --dir /path/to/workspace
178
196
 
179
197
  The `--json` payload includes `isLeeSpecKitProject`, `reasonCode` (`PROJECT_DETECTED` | `PROJECT_NOT_DETECTED`), `docsDir`, `configPath`, and `detectionSource` (`config` | `heuristic`).
180
198
 
199
+ ### Onboarding checks
200
+
201
+ Validate initial setup readiness (Constitution/PRD/git remotes, etc.).
202
+
203
+ ```bash
204
+ # human-readable output
205
+ npx lee-spec-kit onboard
206
+
207
+ # JSON output for agents/automation
208
+ npx lee-spec-kit onboard --json
209
+
210
+ # exit code 1 when WARN/BLOCK exists
211
+ npx lee-spec-kit onboard --strict
212
+ ```
213
+
181
214
  ### Create a feature
182
215
 
183
216
  ```bash
@@ -214,6 +247,7 @@ npx lee-spec-kit context
214
247
  # recommended: one feature + labels
215
248
  npx lee-spec-kit context F001
216
249
  npx lee-spec-kit context F001 --json
250
+ npx lee-spec-kit context F001 --json-compact
217
251
 
218
252
  # approve + execute (common path)
219
253
  npx lee-spec-kit context F001 --approve A --execute
@@ -232,6 +266,7 @@ Use advanced selectors (`--component`, `--all`, `--done`) only when you need mul
232
266
  | Option | Description |
233
267
  | -------------- | ----------------------------------------------- |
234
268
  | `--json` | JSON output for agents |
269
+ | `--json-compact` | Compact JSON for agents (implies `--json`, minimizes duplicated fields) |
235
270
  | `--component <id>` | Select target component in multi mode (e.g. `app`, `api`, `worker`) |
236
271
  | `--all` | Include completed features when auto-detecting |
237
272
  | `--done` | Show completed (workflow-done) features only |
@@ -246,7 +281,8 @@ Use advanced selectors (`--component`, `--all`, `--done`) only when you need mul
246
281
  - `--ticket` is required for `--execute` only when the selected action has `requiresUserCheck=true`.
247
282
  - It is short-lived (5 minutes by default) and cannot be reused after one execution.
248
283
 
249
- `context --json` is organized into `actions` (atomic actions), `actionOptions` (label mapping), and top-level metadata.
284
+ `context --json-compact` is the default recommended format, providing a reduced and deduplicated decision state.
285
+ Use `context --json` only when full-detail debugging fields are required.
250
286
 
251
287
  **Core fields (recommended for normal agent flows)**
252
288
 
@@ -415,7 +451,7 @@ npx lee-spec-kit doctor --decisions-placeholders warn
415
451
 
416
452
  By default, `update` runs only when the `docs/` working tree is clean; in that case it overwrites changed files without prompting.
417
453
  If you want to update while you have uncommitted changes, use `--force`.
418
- `update` also backfills missing `.lee-spec-kit.json` keys using current defaults (e.g. `workflow.taskCommitGate: "strict"`).
454
+ `update` also backfills missing `.lee-spec-kit.json` keys using current defaults (e.g. `workflow.taskCommitGate: "warn"`).
419
455
 
420
456
  ```bash
421
457
  npx lee-spec-kit update
@@ -444,7 +480,7 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
444
480
  "workflow": {
445
481
  "mode": "github",
446
482
  "codeDirtyScope": "auto",
447
- "taskCommitGate": "strict",
483
+ "taskCommitGate": "warn",
448
484
  "prePrReview": { "skills": ["code-review-excellence"] }
449
485
  },
450
486
  "pr": { "screenshots": { "upload": false } },
@@ -475,8 +511,8 @@ Running `init` creates `.lee-spec-kit.json` in your docs root (default: `docs/`)
475
511
  `approval` only affects the following values produced by `context`:
476
512
 
477
513
  - the `[CHECK required]` tag in text output
478
- - `actions[].requiresUserCheck` in `context --json`
479
- - `checkPolicy.token` (`context --json`): approval token format (`<LABEL>`)
514
+ - `actionOptions[].requiresUserCheck` in `context --json-compact` (`actions[].requiresUserCheck` in `--json`)
515
+ - `checkPolicy.token` (`context --json-compact`/`--json`): approval token format (`<LABEL>`)
480
516
  - `checkPolicy.acceptedTokens`: accepted reply templates (e.g. `["<LABEL>", "<LABEL> OK", "<LABEL> ...", "... <LABEL> ..."]`)
481
517
  - `checkPolicy.tokenPattern`: input validation regex for approval replies
482
518
  - `checkPolicy.validLabels`: currently selectable labels (`A`, `B`, `C`...)
@@ -522,7 +558,7 @@ Example:
522
558
  "workflow": {
523
559
  "mode": "github",
524
560
  "codeDirtyScope": "auto",
525
- "taskCommitGate": "strict",
561
+ "taskCommitGate": "warn",
526
562
  "prePrReview": {
527
563
  "skills": ["code-review-excellence"],
528
564
  "fallback": "builtin-checklist",
@@ -536,7 +572,7 @@ Example:
536
572
  #### Modes
537
573
 
538
574
  - `builtin` (default): keep built-in `requiresUserCheck` in steps/actions
539
- - `category` (recommended): control CHECK policy by `actions[].category`
575
+ - `category` (recommended): control CHECK policy by `actionOptions[].category` (`actions[].category` in `--json`)
540
576
  - `steps`: control by step numbers (not recommended; fragile)
541
577
 
542
578
  #### Fields
@@ -564,7 +600,7 @@ Example:
564
600
  }
565
601
  ```
566
602
 
567
- > To discover available `category` values, check `actions[].category` in `context --json`.
603
+ > To discover available `category` values, check `actionOptions[].category` in `context --json-compact` first, and use `actions[].category` in `context --json` when needed.
568
604
 
569
605
  ### pr (PR artifacts policy)
570
606
 
package/README.md CHANGED
@@ -55,26 +55,29 @@
55
55
  # 1. 프로젝트 문서 구조 생성
56
56
  npx lee-spec-kit init
57
57
 
58
- # 2. 기능 생성
58
+ # 2. 초기 온보딩 점검
59
+ npx lee-spec-kit onboard --strict
60
+
61
+ # 3. 새 기능 생성
59
62
  npx lee-spec-kit feature user-auth
60
63
 
61
- # 3. 진행 상황 및 다음 단계 확인 (AI 에이전트용)
64
+ # 4. 진행 상황 및 다음 단계 확인 (AI 에이전트용)
62
65
  npx lee-spec-kit context
63
66
 
64
- # 4. 워크플로우 대시보드 확인
67
+ # 5. 워크플로우 대시보드 확인
65
68
  npx lee-spec-kit view
66
69
 
67
- # 5. 전체 상태 확인
70
+ # 6. 전체 상태 확인
68
71
  npx lee-spec-kit status
69
72
 
70
- # 6. 문서/Feature 진단
73
+ # 7. 문서/Feature 진단
71
74
  npx lee-spec-kit doctor
72
75
  ```
73
76
 
74
77
  ## 신규 프로젝트 시작 순서
75
78
 
76
79
  신규 프로젝트에서는 **코드 스캐폴딩을 먼저** 하고, 그 다음 docs를 초기화하세요.
77
- 순서는 기본값인 `docsRepo: embedded` 기준입니다.
80
+ 대부분의 사용자(기본값: embedded)는 프로젝트 루트에서 `npx lee-spec-kit init`만 실행하면 됩니다.
78
81
 
79
82
  ```bash
80
83
  # 0. 코드 프로젝트 생성/초기화 (예: Next.js)
@@ -84,17 +87,32 @@ cd my-app
84
87
  # 1. docs 구조 초기화
85
88
  npx lee-spec-kit init
86
89
 
87
- # 2. 감지 확인 (에이전트 시작점)
90
+ # 2. 초기 온보딩 점검
91
+ npx lee-spec-kit onboard --strict
92
+
93
+ # 3. 감지 확인 (에이전트 시작점)
88
94
  npx lee-spec-kit detect --json
89
95
 
90
- # 3. Feature 생성 후 작업 시작
96
+ # 4. Feature 생성 후 작업 시작
91
97
  npx lee-spec-kit feature user-auth
92
- npx lee-spec-kit context --json
98
+ npx lee-spec-kit context --json-compact
93
99
  ```
94
100
 
95
101
  - `detect --json` 결과가 `isLeeSpecKitProject: true`일 때 lee-spec-kit 워크플로우를 적용하세요.
96
102
  - `isLeeSpecKitProject: false`면 일반 프로젝트 워크플로우로 진행하세요.
97
- - `standalone`으로 docs를 분리한 경우에는 docs 레포 위치(`--dir` 또는 `LEE_SPEC_KIT_DOCS_DIR`) 기준으로 실행하세요.
103
+
104
+ docs를 코드 저장소와 분리해 운영하는 팀(standalone)은 **상위 워크스페이스 폴더**를 기준으로 시작하는 것을 권장합니다.
105
+
106
+ ```bash
107
+ # 권장 레이아웃:
108
+ # workspace/
109
+ # ├─ docs/ (lee-spec-kit 문서)
110
+ # └─ project/ (실제 코드 저장소)
111
+ #
112
+ # workspace 루트에서 실행
113
+ npx lee-spec-kit init --docs-repo standalone --dir ./docs --project-root ./project
114
+ npx lee-spec-kit detect --json
115
+ ```
98
116
 
99
117
  ## 에이전트 킥오프 프롬프트
100
118
 
@@ -103,7 +121,7 @@ npx lee-spec-kit context --json
103
121
  ```text
104
122
  작업 시작 절차:
105
123
  1) npx lee-spec-kit detect --json
106
- 2) isLeeSpecKitProject === true 이면 npx lee-spec-kit context --json 실행
124
+ 2) isLeeSpecKitProject === true 이면 npx lee-spec-kit context --json-compact 실행 (필요 시 --json으로 상세 조회)
107
125
  3) actionOptions가 있으면 approvalPrompt와 finalPrompt를 그대로 사용자에게 제시하고 승인(<LABEL> 또는 <LABEL> OK) 대기
108
126
  4) 승인 전에는 실행하지 말고, requiresUserCheck=true 액션은 승인 후에만 실행
109
127
  5) isLeeSpecKitProject === false 이면 lee-spec-kit 전용 절차를 건너뛰고 일반 워크플로우로 진행
@@ -114,7 +132,7 @@ npx lee-spec-kit context --json
114
132
  ### 📁 프로젝트 초기화
115
133
 
116
134
  - 대화형 모드 또는 CLI 옵션으로 프로젝트 설정
117
- - Single(단일 레포) / Multi(멀티 컴포넌트) 프로젝트 타입 지원 (`fullstack`는 하위호환 alias)
135
+ - 기본값은 Multi이며, Single 단순 단일 레포/기존 호환 시나리오를 위해 지원합니다. (`fullstack`는 `multi` 하위호환 alias)
118
136
  - 한국어/영어 템플릿 선택
119
137
 
120
138
  ### 🚀 Feature 생성
@@ -196,6 +214,21 @@ npx lee-spec-kit detect --dir /path/to/workspace
196
214
 
197
215
  `--json` 출력은 `isLeeSpecKitProject`, `reasonCode`(`PROJECT_DETECTED` | `PROJECT_NOT_DETECTED`), `docsDir`, `configPath`, `detectionSource`(`config` | `heuristic`)를 포함합니다.
198
216
 
217
+ ### 온보딩 점검
218
+
219
+ 초기 설정(Constitution/PRD/Git remote 등) 준비 상태를 점검합니다.
220
+
221
+ ```bash
222
+ # 사람 읽기 쉬운 출력
223
+ npx lee-spec-kit onboard
224
+
225
+ # 에이전트/자동화용 JSON
226
+ npx lee-spec-kit onboard --json
227
+
228
+ # WARN/BLOCK이 있으면 종료 코드 1
229
+ npx lee-spec-kit onboard --strict
230
+ ```
231
+
199
232
  ### 새 기능 생성
200
233
 
201
234
  ```bash
@@ -233,6 +266,7 @@ npx lee-spec-kit context
233
266
  # 특정 Feature 상태 + 라벨 확인 (에이전트 권장)
234
267
  npx lee-spec-kit context F001
235
268
  npx lee-spec-kit context F001 --json
269
+ npx lee-spec-kit context F001 --json-compact
236
270
 
237
271
  # 승인 + 실행 (일반 케이스)
238
272
  npx lee-spec-kit context F001 --approve A --execute
@@ -251,6 +285,7 @@ npx lee-spec-kit context F001 --approve A --execute --ticket <TICKET> --execute-
251
285
  | 옵션 | 설명 |
252
286
  | --------------- | ----------------------------------------------- |
253
287
  | `--json` | 에이전트용 JSON 출력 |
288
+ | `--json-compact` | 에이전트용 압축 JSON 출력 (`--json` 포함, 중복 필드 최소화) |
254
289
  | `--component <id>` | multi에서 대상 컴포넌트 지정 (예: `app`, `api`, `worker`) |
255
290
  | `--all` | 자동 감지 실패 시 완료된 Feature까지 포함해서 표시 |
256
291
  | `--done` | 완료(workflow-done) Feature만 표시 |
@@ -265,7 +300,8 @@ npx lee-spec-kit context F001 --approve A --execute --ticket <TICKET> --execute-
265
300
  - 선택한 액션이 `requiresUserCheck=true`인 경우에만 `--execute`에서 `--ticket`이 필요합니다.
266
301
  - 발급 후 짧은 시간(기본 5분)만 유효하며, 한 번 사용하면 재사용할 수 없습니다.
267
302
 
268
- `context --json` 출력은 크게 `actions`(원자 액션), `actionOptions`(라벨 매핑), 상위 메타데이터로 구성됩니다.
303
+ 기본 권장 포맷은 `context --json-compact`이며, 같은 판단 정보를 중복 없이 축약해 전달합니다.
304
+ `context --json`은 디버깅/세부 필드 확인이 필요할 때만 사용하세요.
269
305
 
270
306
  **핵심 필드 (실사용 권장)**
271
307
 
@@ -455,7 +491,7 @@ npx lee-spec-kit doctor --decisions-placeholders warn
455
491
 
456
492
  기본 동작은 `docs/` 작업트리에 변경사항이 없을 때만 업데이트를 진행하며, 이 경우 변경된 파일은 확인 없이 덮어씁니다.
457
493
  변경사항이 있는 상태에서 업데이트하려면 `--force`를 사용하세요.
458
- 또한 `update`는 `.lee-spec-kit.json`의 누락 필드를 현재 기본 정책으로 보강합니다. (예: `workflow.taskCommitGate: "strict"`)
494
+ 또한 `update`는 `.lee-spec-kit.json`의 누락 필드를 현재 기본 정책으로 보강합니다. (예: `workflow.taskCommitGate: "warn"`)
459
495
 
460
496
  ```bash
461
497
  # 전체 업데이트
@@ -493,7 +529,7 @@ npx lee-spec-kit update --force
493
529
  "workflow": {
494
530
  "mode": "github",
495
531
  "codeDirtyScope": "auto",
496
- "taskCommitGate": "strict",
532
+ "taskCommitGate": "warn",
497
533
  "prePrReview": { "skills": ["code-review-excellence"] }
498
534
  },
499
535
  "pr": { "screenshots": { "upload": false } },
@@ -526,8 +562,8 @@ npx lee-spec-kit update --force
526
562
  `approval`은 `context`가 출력하는 다음 값에만 영향을 줍니다:
527
563
 
528
564
  - 텍스트 출력의 `[확인 필요]` 표시
529
- - `context --json`의 `actions[].requiresUserCheck`
530
- - `checkPolicy.token` (`context --json`): 승인 토큰 형식 (`<LABEL>`)
565
+ - `context --json-compact`의 `actionOptions[].requiresUserCheck` (`--json`에서는 `actions[].requiresUserCheck`)
566
+ - `checkPolicy.token` (`context --json-compact`/`--json`): 승인 토큰 형식 (`<LABEL>`)
531
567
  - `checkPolicy.acceptedTokens`: 허용되는 승인 응답 템플릿 (예: `["<LABEL>", "<LABEL> OK", "<LABEL> ...", "... <LABEL> ..."]`)
532
568
  - `checkPolicy.tokenPattern`: 승인 응답 검증용 정규식
533
569
  - `checkPolicy.validLabels`: 현재 선택 가능한 라벨 목록 (`A`, `B`, `C`...)
@@ -554,7 +590,7 @@ npx lee-spec-kit update --force
554
590
  - `strict`: 최근 `tasks.md` 커밋에서 DONE 전환이 2개 이상이면 차단
555
591
  - `warn`: 점검 실패 시 경고만 표시하고 진행 허용
556
592
  - `off`: 점검 비활성화
557
- - 하위 호환: 값이 없으면 `warn`으로 처리
593
+ - 기본값: `warn` (값이 없으면 `warn`)
558
594
  - `workflow.prePrReview`:
559
595
  - `enabled` (선택): pre-PR 리뷰 단계를 강제할지 여부 (기본: `requirePr`와 동일)
560
596
  - `skills` (선택): 우선순위 스킬 목록 (기본: `["code-review-excellence"]`)
@@ -570,7 +606,7 @@ npx lee-spec-kit update --force
570
606
  "workflow": {
571
607
  "mode": "github",
572
608
  "codeDirtyScope": "auto",
573
- "taskCommitGate": "strict",
609
+ "taskCommitGate": "warn",
574
610
  "prePrReview": {
575
611
  "skills": ["code-review-excellence"],
576
612
  "fallback": "builtin-checklist",
@@ -584,7 +620,7 @@ npx lee-spec-kit update --force
584
620
  #### 모드
585
621
 
586
622
  - `builtin` (기본): 코드에 내장된 `requiresUserCheck`를 그대로 사용
587
- - `category` (권장): `actions[].category` 기준으로 확인 정책을 제어
623
+ - `category` (권장): `actionOptions[].category` 기준으로 확인 정책을 제어 (`--json`에서는 `actions[].category`)
588
624
  - `steps`: step 번호 기준(변경에 취약하므로 권장하지 않음)
589
625
 
590
626
  #### 설정 필드
@@ -612,7 +648,7 @@ npx lee-spec-kit update --force
612
648
  }
613
649
  ```
614
650
 
615
- > 사용 가능한 `category` 값은 `context --json`의 `actions[].category`로 확인하는 것을 권장합니다.
651
+ > 사용 가능한 `category` 값은 `context --json-compact`의 `actionOptions[].category`에서 우선 확인하고, 필요 시 `context --json`의 `actions[].category`를 참고하세요.
616
652
 
617
653
  ### pr (PR 결과물 정책)
618
654