lee-spec-kit 0.6.26 β 0.6.27
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 -4
- package/README.md +6 -4
- package/dist/index.js +137 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/en/common/agents/agents.md +6 -3
- package/templates/en/common/agents/skills/execute-task.md +7 -6
- package/templates/ko/common/agents/agents.md +6 -3
- package/templates/ko/common/agents/skills/execute-task.md +7 -6
package/package.json
CHANGED
|
@@ -33,14 +33,17 @@ Prohibited:
|
|
|
33
33
|
## π§Ύ Label Response Contract (SSOT)
|
|
34
34
|
|
|
35
35
|
- End **every user-facing reply** with current status + available labels.
|
|
36
|
-
- Use the latest `npx lee-spec-kit context --json-compact` as the default source (fallback: `context --json` or `flow --json` when full detail is required).
|
|
37
|
-
- When using auto results from `flow --json
|
|
38
|
-
- Treat `AUTO_MANUAL_REQUIRED` as an automation boundary, not an immediate failure. Re-check `context --json`, then decide stop/report by `approvalRequest.required
|
|
36
|
+
- Use the latest `npx lee-spec-kit context --json-compact` as the default source (fallback: `context --json` or `flow --json` when full detail is required; prefer `flow --json-compact` for default flow output).
|
|
37
|
+
- When using auto results from `flow --json-compact` (or `flow --json`), treat `autoRun.resume.flowCommand` as SSOT for resume (including after context compression/reset).
|
|
38
|
+
- Treat `AUTO_MANUAL_REQUIRED` as an automation boundary, not an immediate failure. Re-check `context --json-compact`, then decide stop/report by `approvalRequest.required` (`context --json` only for full-detail debugging fields).
|
|
39
39
|
- Use `actionOptions[].detail` or command `cmd` **verbatim**. Do not paraphrase.
|
|
40
40
|
- Even when the user asks something else, append the same label block at the end if executable labels exist.
|
|
41
41
|
- If no executable labels exist, print `Available labels: none` and guide re-check with `npx lee-spec-kit context`.
|
|
42
42
|
- If user input does not contain a valid label, do not execute; request label selection again.
|
|
43
43
|
- For approved command options, prefer one-shot `flow --approve <LABEL> --execute`; do not split `context --approve` and `context --execute --ticket` across turns/sessions.
|
|
44
|
+
- If `agentOrchestration.currentActionShouldDelegate=true` and the selected option is `actionType="command"`, delegation is mandatory: call `spawn_agent` first. Do not execute that command directly from the main agent.
|
|
45
|
+
- Main-agent fallback is allowed only when sub-agent execution is unavailable (for example: tool not available, spawn failed, or sub-agent failed before command execution).
|
|
46
|
+
- When fallback is used, report a one-line fallback reason to the user before running the command in the main agent.
|
|
44
47
|
|
|
45
48
|
Output format:
|
|
46
49
|
|
|
@@ -21,15 +21,16 @@ Execute exactly one option from `π Next Options (Atomic)` as printed by the C
|
|
|
21
21
|
|
|
22
22
|
- If the CLI points to an active task, focus on that task only.
|
|
23
23
|
- Treat task state transitions in `tasks.md` **"Task Rules"** as SSOT.
|
|
24
|
-
- Treat `approvalRequest.required` from `context --json` as SSOT for approval waiting.
|
|
24
|
+
- Treat `approvalRequest.required` from `context --json-compact` as SSOT for approval waiting (`--json` only when full-detail debugging fields are required).
|
|
25
25
|
- `false`: continue without label approval.
|
|
26
26
|
- `true`: wait for label-token approval (`A`, `A OK`) before execution.
|
|
27
27
|
- Default execution model is **main-agent orchestration + selective sub-agent execution**. Keep short steps (spec/plan/tasks approvals, issue/PR metadata sync) in the main agent, and delegate long-running loops (`task_execute`, `code_review`, `review_fix_commit`, `pre_pr_review`, auto-run) to a sub-agent.
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
28
|
+
- When `agentOrchestration.currentActionShouldDelegate=true` and the selected option is `actionType="command"`, delegation is mandatory: call `spawn_agent` first and do not execute the command directly from the main agent.
|
|
29
|
+
- Main-agent fallback is allowed only when sub-agent execution is unavailable (for example: tool not available, spawn failed, or sub-agent failed before command execution). Before fallback execution, report a one-line fallback reason to the user.
|
|
30
|
+
- If `context --json-compact` exposes `autoRun.available=true`, you may use `autoRun.command` to continue automatically until approval-required categories are reached.
|
|
31
|
+
- For long-running auto execution, start with `flow <feature> --auto-... --start-auto --json-compact` and prefer `autoRun.run.resumeCommand` (`flow --resume <RUN_ID>`) after interruption/compression (`--json` only when full-detail debugging fields are required).
|
|
32
|
+
- If auto execution stops, treat `autoRun.resume` from `flow --json-compact` (or `flow --json`) as SSOT. After interruption/compression, resume with `autoRun.resume.flowCommand`; if needed, check current state first with `autoRun.resume.contextCommand`.
|
|
33
|
+
- Treat `AUTO_MANUAL_REQUIRED` as an automation boundary (instruction-only segment), not an immediate crash. Re-check `context --json-compact` and report whether `approvalRequest.required` is now true.
|
|
33
34
|
- If the CLI prints commands, copy/paste them. (In standalone setups commands may include `git -C ...` and scopes like `project`/`docs`.)
|
|
34
35
|
- Follow user-facing response format (including the final status/label block in every reply) from `agents.md` **"Label Response Contract (SSOT)"**.
|
|
35
36
|
- For approved command options, default to `npx lee-spec-kit flow <slug|F001|F001-slug> --approve <LABEL> --execute` and avoid split `context --approve` / `context --execute --ticket` runs across turns.
|
|
@@ -33,14 +33,17 @@
|
|
|
33
33
|
## π§Ύ λΌλ²¨ μλ΅ κ³μ½ (SSOT)
|
|
34
34
|
|
|
35
35
|
- μ¬μ©μμκ² λ³΄λ΄λ **λͺ¨λ μλ΅μ λ§μ§λ§**μ νμ¬ μν + μ ν κ°λ₯ν λΌλ²¨μ νμν©λλ€.
|
|
36
|
-
- κΈ°μ€ λ°μ΄ν°λ μ΅μ `npx lee-spec-kit context --json-compact`λ₯Ό κΈ°λ³ΈμΌλ‘ μ¬μ©νκ³ , μμΈ νλκ° νμν λλ§ `context --json`
|
|
37
|
-
- `flow --json
|
|
38
|
-
- `AUTO_MANUAL_REQUIRED`λ μλν κ²½κ³ μνμ΄λ©° μ€ν¨ λ¨μ μ νΈκ° μλλλ€. `context --json` μ¬νμΈ ν `approvalRequest.required` κΈ°μ€μΌλ‘ λ©μΆ€/λ³΄κ³ λ₯Ό νλ¨ν©λλ€.
|
|
36
|
+
- κΈ°μ€ λ°μ΄ν°λ μ΅μ `npx lee-spec-kit context --json-compact`λ₯Ό κΈ°λ³ΈμΌλ‘ μ¬μ©νκ³ , μμΈ νλκ° νμν λλ§ `context --json` λλ `flow --json`μ μ¬μ©ν©λλ€. (`flow`λ κΈ°λ³Έμ μΌλ‘ `--json-compact` μ°μ )
|
|
37
|
+
- `flow --json-compact`(λλ `flow --json`)μ auto κ²°κ³Όλ₯Ό μ¬μ©ν λλ `autoRun.resume.flowCommand`λ₯Ό μ¬κ° SSOTλ‘ μ¬μ©ν©λλ€. (컨ν
μ€νΈ μμΆ/리μ
ν λμΌ κ·μΉ μ μ©)
|
|
38
|
+
- `AUTO_MANUAL_REQUIRED`λ μλν κ²½κ³ μνμ΄λ©° μ€ν¨ λ¨μ μ νΈκ° μλλλ€. `context --json-compact` μ¬νμΈ ν `approvalRequest.required` κΈ°μ€μΌλ‘ λ©μΆ€/λ³΄κ³ λ₯Ό νλ¨ν©λλ€. (μμΈ λλ²κΉ
νλκ° νμν λλ§ `context --json`)
|
|
39
39
|
- λΌλ²¨ μ€λͺ
μ `actionOptions[].detail` λλ command `cmd`λ₯Ό **μλ¬Έ κ·Έλλ‘** μ¬μ©ν©λλ€. (μμ½/μμ κΈμ§)
|
|
40
40
|
- μ¬μ©μκ° λ€λ₯Έ μ§λ¬Έμ νλλΌλ, μ€ν κ°λ₯ν λΌλ²¨μ΄ μμΌλ©΄ μλ΅ λ§μ§λ§μ λμΌ λΈλ‘μ λ€μ νμν©λλ€.
|
|
41
41
|
- μ€ν κ°λ₯ν λΌλ²¨μ΄ μμΌλ©΄ `μ ν κ°λ₯: μμ` + `npx lee-spec-kit context` μ¬νμΈμ μλ΄ν©λλ€.
|
|
42
42
|
- μ¬μ©μ μ
λ ₯μ μ ν¨ λΌλ²¨μ΄ μμΌλ©΄ μ€ννμ§ λ§κ³ λΌλ²¨ μ νμ λ€μ μμ²ν©λλ€.
|
|
43
43
|
- μΉμΈλ command μ΅μ
μ€νμ `flow --approve <LABEL> --execute` 1ν νΈμΆμ κΈ°λ³ΈμΌλ‘ νλ©°, `context --approve`μ `context --execute --ticket`λ₯Ό ν΄/μΈμ
μ¬μ΄λ‘ λΆλ¦¬νμ§ μμ΅λλ€.
|
|
44
|
+
- `agentOrchestration.currentActionShouldDelegate=true`μ΄κ³ μ νν μ΅μ
μ΄ `actionType="command"`λ©΄ μμμ΄ νμμ
λλ€. λ¨Όμ `spawn_agent`λ₯Ό νΈμΆνκ³ , ν΄λΉ λͺ
λ Ήμ λ©μΈ μμ΄μ νΈμμ μ§μ μ€ννμ§ μμ΅λλ€.
|
|
45
|
+
- λ©μΈ μμ΄μ νΈ fallbackμ μλΈ μμ΄μ νΈ μ€νμ΄ λΆκ°λ₯ν κ²½μ°(μ: λꡬ λ―Έμ§μ, spawn μ€ν¨, λͺ
λ Ή μ€ν μ μλΈ μμ΄μ νΈ μ€ν¨)μλ§ νμ©ν©λλ€.
|
|
46
|
+
- fallbackμ μ¬μ©ν λλ λ©μΈ μ€ν μ μ fallback μ¬μ λ₯Ό μ¬μ©μμκ² ν μ€λ‘ λ¨Όμ μ립λλ€.
|
|
44
47
|
|
|
45
48
|
μΆλ ₯ νμ:
|
|
46
49
|
|
|
@@ -23,13 +23,14 @@ CLIκ° κ°λ¦¬ν€λ **Active Task** λλ **`π Next Options (Atomic)`μ λ¨
|
|
|
23
23
|
|
|
24
24
|
- **[DOING] μνμΈ νμ€ν¬κ° μλ€λ©΄**: ν΄λΉ νμ€ν¬λ₯Ό μ΅μ°μ μΌλ‘ μλ£νμΈμ.
|
|
25
25
|
- νμ€ν¬ μν μ ν κ·μΉμ `tasks.md`μ **"νμ€ν¬ κ·μΉ"** μΉμ
μ SSOTλ‘ λ°λ¦
λλ€.
|
|
26
|
-
- μΉμΈ λκΈ° μ¬λΆλ `context --json`μ `approvalRequest.required`λ₯Ό SSOTλ‘ λ°λ¦
λλ€. `false`λ©΄ λΌλ²¨ μΉμΈ μμ΄ μ§ννκ³ , `true`λ©΄ λΌλ²¨ κ·μΉ(`A`, `A OK`)μΌλ‘ μΉμΈ ν μ§νν©λλ€.
|
|
26
|
+
- μΉμΈ λκΈ° μ¬λΆλ `context --json-compact`μ `approvalRequest.required`λ₯Ό SSOTλ‘ λ°λ¦
λλ€. (`--json`μ μμΈ λλ²κΉ
μ΄ νμν λλ§ μ¬μ©) `false`λ©΄ λΌλ²¨ μΉμΈ μμ΄ μ§ννκ³ , `true`λ©΄ λΌλ²¨ κ·μΉ(`A`, `A OK`)μΌλ‘ μΉμΈ ν μ§νν©λλ€.
|
|
27
27
|
- κΈ°λ³Έ μ€ν λͺ¨λΈμ **λ©μΈ μμ΄μ νΈ μ€μΌμ€νΈλ μ΄μ
+ μ νμ μλΈ μμ΄μ νΈ μ€ν**μ
λλ€. μ§§μ λ¨κ³(spec/plan/tasks μΉμΈ, μ΄μ/PR λ©ν λκΈ°ν λ±)λ λ©μΈ μμ΄μ νΈκ° μ§μ μ²λ¦¬νκ³ , μ₯μκ° λ£¨ν(`task_execute`, `code_review`, `review_fix_commit`, `pre_pr_review`, auto-run)λ μλΈ μμ΄μ νΈμ μμν©λλ€.
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
28
|
+
- `agentOrchestration.currentActionShouldDelegate=true`μ΄κ³ μ νν μ΅μ
μ΄ `actionType="command"`λ©΄ μμμ΄ νμμ
λλ€. λ¨Όμ `spawn_agent`λ₯Ό νΈμΆνκ³ , ν΄λΉ λͺ
λ Ήμ λ©μΈ μμ΄μ νΈμμ μ§μ μ€ννμ§ μμ΅λλ€.
|
|
29
|
+
- λ©μΈ μμ΄μ νΈ fallbackμ μλΈ μμ΄μ νΈ μ€νμ΄ λΆκ°λ₯ν κ²½μ°(μ: λꡬ λ―Έμ§μ, spawn μ€ν¨, λͺ
λ Ή μ€ν μ μλΈ μμ΄μ νΈ μ€ν¨)μλ§ νμ©ν©λλ€. fallback μ€ν μ μλ μ¬μ λ₯Ό μ¬μ©μμκ² ν μ€λ‘ λ¨Όμ μ립λλ€.
|
|
30
|
+
- `context --json-compact`μ `autoRun.available=true`κ° μμΌλ©΄ `autoRun.command`λ₯Ό μ¬μ©ν΄ μΉμΈ νμ μΉ΄ν
κ³ λ¦¬ μ κΉμ§ μλ μ§νν μ μμ΅λλ€.
|
|
31
|
+
- μ₯μκ° μλ μ€νμ΄ νμνλ©΄ `flow <feature> --auto-... --start-auto --json-compact`μΌλ‘ run idλ₯Ό μμ±νκ³ , μ€λ¨/μμΆ νμλ `autoRun.run.resumeCommand`(`flow --resume <RUN_ID>`)λ₯Ό μ°μ μ¬μ©ν΄ μ¬κ°ν©λλ€. (μμΈ λλ²κΉ
νλκ° νμν λλ§ `--json`)
|
|
32
|
+
- auto μ€νμ΄ μ€λ¨λλ©΄ `flow --json-compact`(λλ `flow --json`)μ `autoRun.resume`λ₯Ό SSOTλ‘ λ°λ¦
λλ€. 컨ν
μ€νΈ μμΆ/리μ
νμλ `autoRun.resume.flowCommand`λ‘ μ¬κ°νκ³ , νμ μ `autoRun.resume.contextCommand`λ‘ μνλ₯Ό λ¨Όμ νμΈν©λλ€.
|
|
33
|
+
- `AUTO_MANUAL_REQUIRED`λ μ€ν¨κ° μλλΌ μλν κ²½κ³(νμ¬ instruction-only ꡬκ°)μ
λλ€. μ¦μ μ€λ₯λ‘ λ¨μ νμ§ λ§κ³ νμ¬ `context --json-compact`λ₯Ό λ€μ νμΈν λ€ μΉμΈ νμ μ¬λΆ(`approvalRequest.required`)λ₯Ό λ³΄κ³ ν©λλ€.
|
|
33
34
|
- CLIκ° λͺ
λ Ήμ΄λ₯Ό μΆλ ₯νλ©΄ **κ·Έλλ‘ λ³΅μ¬ν΄ μ€ν**ν©λλ€. (standalone νκ²½μμλ λ ν¬ κ²½λ‘κ° ν¬ν¨λ μ μμ΅λλ€)
|
|
34
35
|
- μ¬μ©μ μλ΅ ν¬λ§·(λ§€ μλ΅ λ§λ―Έμ μν/λΌλ²¨ νμ ν¬ν¨)μ `agents.md`μ **"λΌλ²¨ μλ΅ κ³μ½ (SSOT)"** μ λ°λ¦
λλ€.
|
|
35
36
|
- μΉμΈλ command μ΅μ
μ€νμ `npx lee-spec-kit flow <slug|F001|F001-slug> --approve <LABEL> --execute`λ₯Ό κΈ°λ³ΈμΌλ‘ μ¬μ©νκ³ , `context --approve`μ `context --execute --ticket` λΆλ¦¬ μ€νμ μ§μν©λλ€.
|