lee-spec-kit 0.6.15 โ†’ 0.6.16

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
@@ -56,6 +56,44 @@ npx lee-spec-kit status
56
56
  npx lee-spec-kit doctor
57
57
  ```
58
58
 
59
+ ## New Project Start Order
60
+
61
+ For a brand-new project, scaffold the **codebase first**, then initialize docs.
62
+ This sequence assumes the default `docsRepo: embedded` mode.
63
+
64
+ ```bash
65
+ # 0) Create/init the code project first (example: Next.js)
66
+ npx create-next-app@latest my-app
67
+ cd my-app
68
+
69
+ # 1) Initialize docs structure
70
+ npx lee-spec-kit init
71
+
72
+ # 2) Detect project (agent entrypoint)
73
+ npx lee-spec-kit detect --json
74
+
75
+ # 3) Create feature and start workflow
76
+ npx lee-spec-kit feature user-auth
77
+ npx lee-spec-kit context --json
78
+ ```
79
+
80
+ - Apply lee-spec-kit workflow only when `detect --json` returns `isLeeSpecKitProject: true`.
81
+ - 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`).
83
+
84
+ ## Agent Kickoff Prompt
85
+
86
+ You can paste the following as an agent session-start instruction.
87
+
88
+ ```text
89
+ Start procedure:
90
+ 1) Run npx lee-spec-kit detect --json
91
+ 2) If isLeeSpecKitProject === true, run npx lee-spec-kit context --json
92
+ 3) If actionOptions exist, show approvalPrompt and finalPrompt exactly as provided, then wait for user approval (<LABEL> or <LABEL> OK)
93
+ 4) Do not execute before approval; execute requiresUserCheck=true actions only after approval
94
+ 5) If isLeeSpecKitProject === false, skip lee-spec-kit-specific flow and continue with normal workflow
95
+ ```
96
+
59
97
  ## Features
60
98
 
61
99
  ### ๐Ÿ“ Project initialization
package/README.md CHANGED
@@ -37,6 +37,8 @@
37
37
  ## ๋ชฉ์ฐจ
38
38
 
39
39
  - [Quick Start](#quick-start)
40
+ - [์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ˆœ์„œ](#์‹ ๊ทœ-ํ”„๋กœ์ ํŠธ-์‹œ์ž‘-์ˆœ์„œ)
41
+ - [์—์ด์ „ํŠธ ํ‚ฅ์˜คํ”„ ํ”„๋กฌํ”„ํŠธ](#์—์ด์ „ํŠธ-ํ‚ฅ์˜คํ”„-ํ”„๋กฌํ”„ํŠธ)
40
42
  - [์ฃผ์š” ๊ธฐ๋Šฅ](#์ฃผ์š”-๊ธฐ๋Šฅ)
41
43
  - [์‚ฌ์šฉ๋ฒ•](#์‚ฌ์šฉ๋ฒ•)
42
44
  - [์„ค์ • ํŒŒ์ผ](#์„ค์ •-ํŒŒ์ผ)
@@ -69,6 +71,44 @@ npx lee-spec-kit status
69
71
  npx lee-spec-kit doctor
70
72
  ```
71
73
 
74
+ ## ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ˆœ์„œ
75
+
76
+ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” **์ฝ”๋“œ ์Šค์บํด๋”ฉ์„ ๋จผ์ €** ํ•˜๊ณ , ๊ทธ ๋‹ค์Œ docs๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์„ธ์š”.
77
+ ์ด ์ˆœ์„œ๋Š” ๊ธฐ๋ณธ๊ฐ’์ธ `docsRepo: embedded` ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.
78
+
79
+ ```bash
80
+ # 0. ์ฝ”๋“œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ/์ดˆ๊ธฐํ™” (์˜ˆ: Next.js)
81
+ npx create-next-app@latest my-app
82
+ cd my-app
83
+
84
+ # 1. docs ๊ตฌ์กฐ ์ดˆ๊ธฐํ™”
85
+ npx lee-spec-kit init
86
+
87
+ # 2. ๊ฐ์ง€ ํ™•์ธ (์—์ด์ „ํŠธ ์‹œ์ž‘์ )
88
+ npx lee-spec-kit detect --json
89
+
90
+ # 3. Feature ์ƒ์„ฑ ํ›„ ์ž‘์—… ์‹œ์ž‘
91
+ npx lee-spec-kit feature user-auth
92
+ npx lee-spec-kit context --json
93
+ ```
94
+
95
+ - `detect --json` ๊ฒฐ๊ณผ๊ฐ€ `isLeeSpecKitProject: true`์ผ ๋•Œ lee-spec-kit ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ ์šฉํ•˜์„ธ์š”.
96
+ - `isLeeSpecKitProject: false`๋ฉด ์ผ๋ฐ˜ ํ”„๋กœ์ ํŠธ ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ์ง„ํ–‰ํ•˜์„ธ์š”.
97
+ - `standalone`์œผ๋กœ docs๋ฅผ ๋ถ„๋ฆฌํ•œ ๊ฒฝ์šฐ์—๋Š” docs ๋ ˆํฌ ์œ„์น˜(`--dir` ๋˜๋Š” `LEE_SPEC_KIT_DOCS_DIR`) ๊ธฐ์ค€์œผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.
98
+
99
+ ## ์—์ด์ „ํŠธ ํ‚ฅ์˜คํ”„ ํ”„๋กฌํ”„ํŠธ
100
+
101
+ ์•„๋ž˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—์ด์ „ํŠธ ์‹œ์ž‘ ๋ฉ”์‹œ์ง€๋กœ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
102
+
103
+ ```text
104
+ ์ž‘์—… ์‹œ์ž‘ ์ ˆ์ฐจ:
105
+ 1) npx lee-spec-kit detect --json
106
+ 2) isLeeSpecKitProject === true ์ด๋ฉด npx lee-spec-kit context --json ์‹คํ–‰
107
+ 3) actionOptions๊ฐ€ ์žˆ์œผ๋ฉด approvalPrompt์™€ finalPrompt๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ์‹œํ•˜๊ณ  ์Šน์ธ(<LABEL> ๋˜๋Š” <LABEL> OK) ๋Œ€๊ธฐ
108
+ 4) ์Šน์ธ ์ „์—๋Š” ์‹คํ–‰ํ•˜์ง€ ๋ง๊ณ , requiresUserCheck=true ์•ก์…˜์€ ์Šน์ธ ํ›„์—๋งŒ ์‹คํ–‰
109
+ 5) isLeeSpecKitProject === false ์ด๋ฉด lee-spec-kit ์ „์šฉ ์ ˆ์ฐจ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ผ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ์ง„ํ–‰
110
+ ```
111
+
72
112
  ## ์ฃผ์š” ๊ธฐ๋Šฅ
73
113
 
74
114
  ### ๐Ÿ“ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™”
package/dist/index.js CHANGED
@@ -8475,11 +8475,7 @@ function parsePrArtifactMode(raw, kind, lang) {
8475
8475
  tg(lang, "artifactModeInvalid", { kind, value })
8476
8476
  );
8477
8477
  }
8478
- function isMermaidPreferredComponent(component) {
8479
- const normalized = (component || "").trim().toLowerCase();
8480
- return ["be", "backend", "api", "server", "core"].includes(normalized);
8481
- }
8482
- function resolvePrArtifactPolicy(config, feature, options) {
8478
+ function resolvePrArtifactPolicy(config, options) {
8483
8479
  const screenshotsMode = parsePrArtifactMode(
8484
8480
  options.screenshots,
8485
8481
  "screenshots",
@@ -8491,7 +8487,7 @@ function resolvePrArtifactPolicy(config, feature, options) {
8491
8487
  config.lang
8492
8488
  );
8493
8489
  const includeScreenshots = screenshotsMode === "on" ? true : screenshotsMode === "off" ? false : config.pr?.screenshots?.upload ?? false;
8494
- const includeMermaid = mermaidMode === "on" ? true : mermaidMode === "off" ? false : isMermaidPreferredComponent(feature.type);
8490
+ const includeMermaid = mermaidMode === "on" ? true : mermaidMode === "off" ? false : true;
8495
8491
  return {
8496
8492
  includeScreenshots,
8497
8493
  includeMermaid
@@ -9545,7 +9541,7 @@ function githubCommand(program2) {
9545
9541
  slug: feature.slug
9546
9542
  });
9547
9543
  const title = options.title?.trim() || defaultTitle;
9548
- const artifactPolicy = resolvePrArtifactPolicy(config, feature, options);
9544
+ const artifactPolicy = resolvePrArtifactPolicy(config, options);
9549
9545
  const generatedBody = buildPrBody(
9550
9546
  feature,
9551
9547
  specContent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lee-spec-kit",
3
- "version": "0.6.15",
3
+ "version": "0.6.16",
4
4
  "description": "Project documentation structure generator for AI-assisted development",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,6 +2,26 @@
2
2
 
3
3
  This documentation is organized by feature to help agents quickly understand the project.
4
4
 
5
+ ## Agent Session Start Checklist
6
+
7
+ ```bash
8
+ # 1) Detect project
9
+ npx lee-spec-kit detect --json
10
+
11
+ # 2) If detected, read context first
12
+ npx lee-spec-kit context --json
13
+ ```
14
+
15
+ - Apply lee-spec-kit workflow only when `isLeeSpecKitProject: true`.
16
+ - When `actionOptions` exist, show `approvalPrompt`/`finalPrompt` exactly as provided and wait for user approval (`<LABEL>` or `<LABEL> OK`) before execution.
17
+ - If `isLeeSpecKitProject: false`, skip lee-spec-kit-specific flow and continue with normal workflow.
18
+
19
+ ## New Project Start Order
20
+
21
+ - Scaffold the code project first (for example Next.js/NestJS), then run `lee-spec-kit init`.
22
+ - After that, verify detection with `detect --json`, then continue with `feature` and `context`.
23
+ - This sequence assumes default `docsRepo: embedded`. For `standalone`, run against the docs repo path (`--dir` or `LEE_SPEC_KIT_DOCS_DIR`).
24
+
5
25
  ## Directory Structure
6
26
 
7
27
  | Path | Purpose | Key Documents |
@@ -74,8 +74,9 @@ Include the artifacts in the PR body.
74
74
 
75
75
  > - If this includes UI changes, include **screenshots**.
76
76
  > - If this includes logic/structure changes, include a **diagram**.
77
+ > - `--mermaid auto` includes a diagram by default; use `--mermaid off` only when no logic/structure change exists.
77
78
 
78
- #### UI changes (Frontend PR)
79
+ #### UI changes
79
80
 
80
81
  - Default is `pr.screenshots.upload: false`. If you need upload/URL inclusion, enable it in `.lee-spec-kit.json`.
81
82
  - 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.
@@ -135,9 +136,10 @@ gh release upload "$TAG" /tmp/lee-spec-kit/pr-assets/* --clobber
135
136
  echo \"![](https://github.com/${REPO}/releases/download/${TAG}/ui-1.png)\"
136
137
  ```
137
138
 
138
- #### Logic/structure changes (Backend PR)
139
+ #### Logic/structure changes
139
140
 
140
141
  - Write a Mermaid **`sequenceDiagram`** in the PR body and keep it aligned with the generated body template format.
142
+ - Apply this rule based on change type (logic/structure), not by frontend/backend classification.
141
143
 
142
144
  ### 4. Request User Approval + Move to `Ready`
143
145
 
@@ -2,6 +2,26 @@
2
2
 
3
3
  ์—์ด์ „ํŠธ๊ฐ€ ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฌธ์„œ๋ฅผ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ถ„๋ฆฌํ•ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.
4
4
 
5
+ ## ์—์ด์ „ํŠธ ์„ธ์…˜ ์‹œ์ž‘ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
6
+
7
+ ```bash
8
+ # 1) ํ”„๋กœ์ ํŠธ ๊ฐ์ง€
9
+ npx lee-spec-kit detect --json
10
+
11
+ # 2) ๊ฐ์ง€ ์„ฑ๊ณต ์‹œ ์ปจํ…์ŠคํŠธ ์กฐํšŒ
12
+ npx lee-spec-kit context --json
13
+ ```
14
+
15
+ - `isLeeSpecKitProject: true`์ผ ๋•Œ๋งŒ lee-spec-kit ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
16
+ - `actionOptions`๊ฐ€ ์žˆ์œผ๋ฉด `approvalPrompt`/`finalPrompt`๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๊ณ  ์Šน์ธ(`<LABEL>` ๋˜๋Š” `<LABEL> OK`)์„ ๋ฐ›์€ ๋’ค ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
17
+ - `isLeeSpecKitProject: false`๋ฉด lee-spec-kit ์ „์šฉ ์ ˆ์ฐจ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์ผ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
18
+
19
+ ## ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ˆœ์„œ
20
+
21
+ - ์ฝ”๋“œ ํ”„๋กœ์ ํŠธ ์Šค์บํด๋”ฉ(์˜ˆ: Next.js/NestJS) ํ›„ `lee-spec-kit init`์„ ์‹คํ–‰ํ•˜์„ธ์š”.
22
+ - ๊ทธ ๋‹ค์Œ `detect --json`์œผ๋กœ ๊ฐ์ง€ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ณ , `feature`/`context` ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•˜์„ธ์š”.
23
+ - ์œ„ ์ˆœ์„œ๋Š” ๊ธฐ๋ณธ๊ฐ’์ธ `docsRepo: embedded` ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. `standalone`์ด๋ฉด docs ๋ ˆํฌ ๊ฒฝ๋กœ ๊ธฐ์ค€(`--dir` ๋˜๋Š” `LEE_SPEC_KIT_DOCS_DIR`)์œผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.
24
+
5
25
  ## ์ƒ์œ„ ๊ตฌ์กฐ ์š”์•ฝ
6
26
 
7
27
  | ๊ฒฝ๋กœ | ๋ชฉ์  | ํ•ต์‹ฌ ๋ฌธ์„œ/์—ญํ•  |
@@ -74,8 +74,9 @@ PR ๋ณธ๋ฌธ์— ๊ฒฐ๊ณผ๋ฌผ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
74
74
 
75
75
  > - UI ๋ณ€๊ฒฝ์— ํ•ด๋‹น๋œ๋‹ค๋ฉด **์Šคํฌ๋ฆฐ์ƒท์„** ํฌํ•จํ•˜์„ธ์š”.
76
76
  > - ๋กœ์ง/๊ตฌ์กฐ ๋ณ€๊ฒฝ์— ํ•ด๋‹น๋œ๋‹ค๋ฉด **๋‹ค์ด์–ด๊ทธ๋žจ์„** ํฌํ•จํ•˜์„ธ์š”.
77
+ > - `--mermaid auto`๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ง/๊ตฌ์กฐ ๋ณ€๊ฒฝ์ด ์ „ํ˜€ ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ `--mermaid off`๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
77
78
 
78
- #### UI ๋ณ€๊ฒฝ (ํ”„๋ก ํŠธ์—”๋“œ PR)
79
+ #### UI ๋ณ€๊ฒฝ
79
80
 
80
81
  - ๊ธฐ๋ณธ๊ฐ’์€ `pr.screenshots.upload: false`์ž…๋‹ˆ๋‹ค. ์—…๋กœ๋“œ/URL ํฌํ•จ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด `.lee-spec-kit.json`์—์„œ `true`๋กœ ์ผœ์„ธ์š”.
81
82
  - `.lee-spec-kit.json`์—์„œ `pr.screenshots.upload: false`๋ผ๋ฉด **์—…๋กœ๋“œ/URL ํฌํ•จ์„ ํ•˜์ง€ ์•Š์œผ๋ฉฐ**, PR ๋ณธ๋ฌธ์—์„œ๋„ **"์Šคํฌ๋ฆฐ์ƒท" ์„น์…˜์„ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.**
@@ -135,9 +136,10 @@ gh release upload "$TAG" /tmp/lee-spec-kit/pr-assets/* --clobber
135
136
  echo \"![](https://github.com/${REPO}/releases/download/${TAG}/ui-1.png)\"
136
137
  ```
137
138
 
138
- #### ๋กœ์ง/๊ตฌ์กฐ ๋ณ€๊ฒฝ (๋ฐฑ์—”๋“œ PR)
139
+ #### ๋กœ์ง/๊ตฌ์กฐ ๋ณ€๊ฒฝ
139
140
 
140
141
  - PR ๋ณธ๋ฌธ์— Mermaid **`sequenceDiagram`**์„ ์ž‘์„ฑํ•˜๊ณ , ์ƒ์„ฑ๋œ ๋ณธ๋ฌธ ํ…œํ”Œ๋ฆฟ ํ˜•์‹๊ณผ ์ผ์น˜ํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
142
+ - ์ด ๊ธฐ์ค€์€ ํ”„๋ก ํŠธ/๋ฐฑ์—”๋“œ ๊ตฌ๋ถ„์ด ์•„๋‹ˆ๋ผ ๋ณ€๊ฒฝ ์œ ํ˜•(๋กœ์ง/๊ตฌ์กฐ) ๊ธฐ์ค€์œผ๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
141
143
 
142
144
  ### 4. ์‚ฌ์šฉ์ž ํ™•์ธ ์š”์ฒญ + `Ready` ์ „ํ™˜
143
145