scene-capability-engine 3.0.1 → 3.0.2
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/CHANGELOG.md +233 -233
- package/LICENSE +2 -2
- package/README.md +8 -11
- package/README.zh.md +7 -10
- package/bin/kse.js +1 -1
- package/bin/sce.js +1 -1
- package/bin/sco.js +1 -1
- package/docs/331-poc-adaptation-roadmap.md +25 -25
- package/docs/331-poc-dual-track-integration-guide.md +26 -26
- package/docs/331-poc-weekly-delivery-checklist.md +8 -8
- package/docs/OFFLINE_INSTALL.md +10 -10
- package/docs/README.md +24 -24
- package/docs/adopt-migration-guide.md +51 -51
- package/docs/adoption-guide.md +56 -56
- package/docs/agent-hooks-analysis.md +52 -52
- package/docs/architecture.md +6 -6
- package/docs/articles/ai-driven-development-philosophy-and-practice-review.md +4 -4
- package/docs/articles/ai-driven-development-philosophy-and-practice.en.md +9 -9
- package/docs/articles/ai-driven-development-philosophy-and-practice.md +10 -10
- package/docs/autonomous-control-guide.md +89 -89
- package/docs/command-reference.md +11 -11
- package/docs/community.md +4 -4
- package/docs/cross-tool-guide.md +47 -47
- package/docs/developer-guide.md +5 -5
- package/docs/document-governance.md +91 -91
- package/docs/environment-management-guide.md +53 -53
- package/docs/examples/add-export-command/design.md +2 -2
- package/docs/examples/add-export-command/requirements.md +5 -5
- package/docs/examples/add-export-command/tasks.md +2 -2
- package/docs/faq.md +69 -69
- package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.json +9 -9
- package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.md +3 -3
- package/docs/integration-modes.md +60 -60
- package/docs/integration-philosophy.md +48 -48
- package/docs/knowledge-management-guide.md +21 -21
- package/docs/manual-workflows-guide.md +20 -20
- package/docs/moqui-capability-matrix.md +22 -22
- package/docs/moqui-template-core-library-playbook.md +20 -20
- package/docs/multi-agent-coordination-guide.md +19 -19
- package/docs/multi-repo-management-guide.md +93 -93
- package/docs/quick-start-with-ai-tools.md +36 -36
- package/docs/quick-start.md +16 -16
- package/docs/release-checklist.md +7 -7
- package/docs/releases/v1.46.2-validation.md +1 -1
- package/docs/releases/v1.46.2.md +10 -10
- package/docs/scene-runtime-guide.md +42 -42
- package/docs/spec-collaboration-guide.md +43 -43
- package/docs/spec-locking-guide.md +26 -26
- package/docs/spec-numbering-guide.md +6 -6
- package/docs/spec-workflow.md +25 -25
- package/docs/steering-strategy-guide.md +36 -36
- package/docs/team-collaboration-guide.md +23 -23
- package/docs/testing-strategy.md +2 -2
- package/docs/tools/claude-guide.md +26 -26
- package/docs/tools/cursor-guide.md +31 -31
- package/docs/tools/generic-guide.md +22 -22
- package/docs/tools/kiro-guide.md +43 -43
- package/docs/tools/vscode-guide.md +18 -18
- package/docs/tools/windsurf-guide.md +50 -50
- package/docs/troubleshooting.md +116 -116
- package/docs/upgrade-guide.md +49 -49
- package/docs/value-observability-guide.md +6 -6
- package/docs/zh/README.md +22 -22
- package/docs/zh/quick-start.md +34 -34
- package/docs/zh/release-checklist.md +6 -6
- package/docs/zh/releases/v1.46.2-validation.md +1 -1
- package/docs/zh/releases/v1.46.2.md +9 -9
- package/docs/zh/spec-numbering-guide.md +6 -6
- package/docs/zh/tools/claude-guide.md +14 -14
- package/docs/zh/tools/cursor-guide.md +18 -18
- package/docs/zh/tools/generic-guide.md +40 -40
- package/docs/zh/tools/kiro-guide.md +50 -50
- package/docs/zh/tools/vscode-guide.md +20 -20
- package/docs/zh/tools/windsurf-guide.md +49 -49
- package/docs/zh/value-observability-guide.md +6 -6
- package/docs//344/272/244/344/273/230/346/270/205/345/215/225.md +4 -4
- package/lib/adoption/adoption-logger.js +1 -1
- package/lib/adoption/adoption-strategy.js +3 -3
- package/lib/adoption/detection-engine.js +1 -1
- package/lib/adoption/error-formatter.js +17 -17
- package/lib/adoption/progress-reporter.js +2 -2
- package/lib/adoption/smart-orchestrator.js +2 -2
- package/lib/adoption/strategy-selector.js +2 -2
- package/lib/adoption/summary-generator.js +3 -3
- package/lib/auto/autonomous-engine.js +2 -2
- package/lib/auto/close-loop-runner.js +9 -9
- package/lib/backup/backup-system.js +2 -2
- package/lib/collab/collab-manager.js +2 -2
- package/lib/commands/adopt.js +16 -16
- package/lib/commands/auto.js +93 -93
- package/lib/commands/collab.js +8 -8
- package/lib/commands/docs.js +26 -26
- package/lib/commands/doctor.js +2 -2
- package/lib/commands/env.js +14 -14
- package/lib/commands/knowledge.js +13 -13
- package/lib/commands/lock.js +6 -6
- package/lib/commands/ops.js +19 -19
- package/lib/commands/orchestrate.js +5 -5
- package/lib/commands/prompt.js +3 -3
- package/lib/commands/rollback.js +4 -4
- package/lib/commands/scene.js +29 -29
- package/lib/commands/spec-bootstrap.js +1 -1
- package/lib/commands/spec-gate.js +1 -1
- package/lib/commands/spec-pipeline.js +1 -1
- package/lib/commands/task.js +1 -1
- package/lib/commands/templates.js +27 -27
- package/lib/commands/upgrade.js +8 -8
- package/lib/commands/value.js +4 -4
- package/lib/commands/watch.js +9 -9
- package/lib/commands/workflows.js +5 -5
- package/lib/commands/workspace-multi.js +17 -17
- package/lib/commands/workspace.js +5 -5
- package/lib/context/context-exporter.js +1 -1
- package/lib/context/prompt-generator.js +1 -1
- package/lib/data/moqui-capability-lexicon.json +1 -1
- package/lib/environment/environment-manager.js +1 -1
- package/lib/gitignore/gitignore-detector.js +4 -4
- package/lib/gitignore/gitignore-integration.js +2 -2
- package/lib/gitignore/gitignore-transformer.js +3 -3
- package/lib/gitignore/layered-rules-template.js +2 -2
- package/lib/governance/diagnostic-engine.js +4 -4
- package/lib/governance/doc-reference-checker.js +1 -1
- package/lib/governance/hooks-manager.js +5 -5
- package/lib/governance/reporter.js +1 -1
- package/lib/knowledge/knowledge-manager.js +6 -6
- package/lib/orchestrator/agent-spawner.js +1 -1
- package/lib/orchestrator/bootstrap-prompt-builder.js +2 -2
- package/lib/repo/config-manager.js +2 -2
- package/lib/repo/handlers/init-handler.js +3 -3
- package/lib/scene-runtime/audit-emitter.js +2 -2
- package/lib/scene-runtime/binding-plugin-loader.js +1 -1
- package/lib/scene-runtime/moqui-adapter.js +2 -2
- package/lib/scene-runtime/moqui-extractor.js +3 -3
- package/lib/scene-runtime/scene-loader.js +3 -3
- package/lib/scene-runtime/scene-template-linter.js +1 -1
- package/lib/scene-runtime/templates/scene-template-erp-query-v0.1.yaml +1 -1
- package/lib/scene-runtime/templates/scene-template-hybrid-shadow-v0.1.yaml +1 -1
- package/lib/spec/multi-spec-orchestrate.js +1 -1
- package/lib/spec-gate/rules/default-rules.js +1 -1
- package/lib/steering/adoption-config.js +1 -1
- package/lib/steering/compliance-auto-fixer.js +1 -1
- package/lib/steering/compliance-cache.js +3 -3
- package/lib/steering/compliance-error-reporter.js +1 -1
- package/lib/steering/index.js +1 -1
- package/lib/steering/steering-manager.js +7 -7
- package/lib/task/task-claimer.js +2 -1
- package/lib/templates/metadata-collector.js +6 -6
- package/lib/templates/template-creator.js +2 -2
- package/lib/templates/template-exporter.js +12 -12
- package/lib/upgrade/migration-engine.js +4 -4
- package/lib/utils/tool-detector.js +25 -25
- package/lib/utils/validation.js +3 -3
- package/lib/version/version-checker.js +13 -13
- package/lib/version/version-manager.js +7 -7
- package/lib/watch/presets.js +4 -4
- package/lib/workspace/multi/path-utils.js +1 -1
- package/lib/workspace/multi/workspace-context-resolver.js +9 -9
- package/lib/workspace/multi/workspace-registry.js +2 -2
- package/lib/workspace/multi/workspace-state-manager.js +1 -1
- package/lib/workspace/multi/workspace.js +1 -1
- package/lib/workspace/workspace-sync.js +1 -1
- package/locales/en.json +1 -1
- package/locales/zh.json +1 -1
- package/package.json +3 -5
- package/template/.kiro/README.md +40 -40
- package/template/.kiro/specs/SPEC_WORKFLOW_GUIDE.md +3 -3
- package/template/.kiro/steering/CORE_PRINCIPLES.md +3 -3
- package/template/.kiro/steering/ENVIRONMENT.md +2 -2
- package/template/README.md +3 -3
- /package/bin/{kiro-spec-engine.js → scene-capability-engine.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# 在 Windsurf 中使用
|
|
1
|
+
# 在 Windsurf 中使用 sce
|
|
2
2
|
|
|
3
|
-
> 将
|
|
3
|
+
> 将 sce 与 Windsurf IDE 集成进行 AI 辅助开发的完整指南
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
## 概述
|
|
16
16
|
|
|
17
|
-
**Windsurf** 是一个 AI 驱动的 IDE,具有强大的命令执行能力。它可以直接运行 shell 命令,使其成为
|
|
17
|
+
**Windsurf** 是一个 AI 驱动的 IDE,具有强大的命令执行能力。它可以直接运行 shell 命令,使其成为 sce 的理想选择。
|
|
18
18
|
|
|
19
|
-
**
|
|
19
|
+
**sce 与 Windsurf 的集成**支持**原生模式**和**Watch 模式**,实现最无缝的体验。
|
|
20
20
|
|
|
21
|
-
### 为什么在 Windsurf 中使用
|
|
21
|
+
### 为什么在 Windsurf 中使用 sce?
|
|
22
22
|
|
|
23
|
-
- ✅ **原生命令执行** - Windsurf 可以直接运行
|
|
23
|
+
- ✅ **原生命令执行** - Windsurf 可以直接运行 sce 命令
|
|
24
24
|
- ✅ **自动化工作流** - 无需手动导出/粘贴
|
|
25
25
|
- ✅ **Watch 模式支持** - 自动上下文更新
|
|
26
|
-
- ✅ **完全集成** - 最无缝的
|
|
26
|
+
- ✅ **完全集成** - 最无缝的 sce 体验
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
**模式:** 原生 + Watch 模式
|
|
33
33
|
|
|
34
34
|
**工作原理:**
|
|
35
|
-
1. 你在
|
|
36
|
-
2. 你告诉 Windsurf:"使用
|
|
37
|
-
3. Windsurf 自动运行 `
|
|
35
|
+
1. 你在 sce 中创建 Spec(需求、设计、任务)
|
|
36
|
+
2. 你告诉 Windsurf:"使用 sce 检查 spec 并实现任务 1.1"
|
|
37
|
+
3. Windsurf 自动运行 `sce context export`
|
|
38
38
|
4. Windsurf 读取导出的上下文
|
|
39
39
|
5. Windsurf 生成代码
|
|
40
40
|
6. Windsurf 可以更新 tasks.md 中的任务状态
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
### 前置条件
|
|
47
47
|
|
|
48
48
|
- 已安装 **Windsurf IDE**([下载](https://windsurf.ai/))
|
|
49
|
-
- 已全局安装 **
|
|
50
|
-
- 项目已被
|
|
49
|
+
- 已全局安装 **sce**(`npm install -g scene-capability-engine`)
|
|
50
|
+
- 项目已被 sce **采用**(`sce adopt`)
|
|
51
51
|
|
|
52
|
-
### 步骤 1:验证
|
|
52
|
+
### 步骤 1:验证 sce 可访问
|
|
53
53
|
|
|
54
54
|
在 Windsurf 终端中:
|
|
55
55
|
```bash
|
|
56
|
-
|
|
56
|
+
sce --version
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
应显示版本号(例如 1.3.0)。
|
|
@@ -63,7 +63,7 @@ kse --version
|
|
|
63
63
|
Watch 模式在文件更改时自动更新上下文:
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
|
|
66
|
+
sce watch start
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
这会在后台启动文件监视器。
|
|
@@ -74,7 +74,7 @@ kse watch start
|
|
|
74
74
|
|
|
75
75
|
### 方法 1:直接命令(推荐)
|
|
76
76
|
|
|
77
|
-
**最简单的方法** - 只需告诉 Windsurf 使用
|
|
77
|
+
**最简单的方法** - 只需告诉 Windsurf 使用 sce!
|
|
78
78
|
|
|
79
79
|
**步骤:**
|
|
80
80
|
|
|
@@ -82,11 +82,11 @@ kse watch start
|
|
|
82
82
|
|
|
83
83
|
2. **告诉 Windsurf:**
|
|
84
84
|
```
|
|
85
|
-
使用
|
|
85
|
+
使用 sce 检查 01-00-user-login 的 spec 并实现任务 1.1
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
3. **Windsurf 将:**
|
|
89
|
-
- 运行 `
|
|
89
|
+
- 运行 `sce context export 01-00-user-login`
|
|
90
90
|
- 读取导出的上下文
|
|
91
91
|
- 理解需求和设计
|
|
92
92
|
- 生成代码
|
|
@@ -101,7 +101,7 @@ kse watch start
|
|
|
101
101
|
|
|
102
102
|
1. **导出上下文:**
|
|
103
103
|
```
|
|
104
|
-
请运行:
|
|
104
|
+
请运行:sce context export 01-00-user-login
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
2. **读取上下文:**
|
|
@@ -128,13 +128,13 @@ kse watch start
|
|
|
128
128
|
|
|
129
129
|
1. **启动 Watch 模式:**
|
|
130
130
|
```bash
|
|
131
|
-
|
|
131
|
+
sce watch start
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
2. **配置 Watch 模式以在更改时导出:**
|
|
135
135
|
```bash
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
sce watch add --pattern ".kiro/specs/*/requirements.md" --action "sce context export {spec}"
|
|
137
|
+
sce watch add --pattern ".kiro/specs/*/design.md" --action "sce context export {spec}"
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
3. **现在,当你更新 Spec 文件时:**
|
|
@@ -150,12 +150,12 @@ kse watch start
|
|
|
150
150
|
|
|
151
151
|
```bash
|
|
152
152
|
# 1. 创建 Spec
|
|
153
|
-
|
|
153
|
+
sce spec bootstrap --name 01-00-user-login --non-interactive
|
|
154
154
|
|
|
155
155
|
# 2. 编写 requirements.md、design.md、tasks.md
|
|
156
156
|
|
|
157
157
|
# 3. 在 Windsurf 中告诉 AI:
|
|
158
|
-
"使用
|
|
158
|
+
"使用 sce 检查 01-00-user-login 的 spec 并实现任务 1.1"
|
|
159
159
|
|
|
160
160
|
# 4. Windsurf 自动:
|
|
161
161
|
# - 导出上下文
|
|
@@ -173,10 +173,10 @@ kse spec bootstrap --name 01-00-user-login --non-interactive
|
|
|
173
173
|
|
|
174
174
|
```bash
|
|
175
175
|
# 1. 启动 Watch 模式
|
|
176
|
-
|
|
176
|
+
sce watch start
|
|
177
177
|
|
|
178
178
|
# 2. 在 Windsurf 中实现任务
|
|
179
|
-
"使用
|
|
179
|
+
"使用 sce 实现 01-00-user-login 的任务 1.1"
|
|
180
180
|
|
|
181
181
|
# 3. 如果需要,更新 design.md
|
|
182
182
|
# Watch 模式自动重新导出上下文
|
|
@@ -194,7 +194,7 @@ kse watch start
|
|
|
194
194
|
|
|
195
195
|
Windsurf 理解自然语言。只需说:
|
|
196
196
|
```
|
|
197
|
-
"使用
|
|
197
|
+
"使用 sce 检查 user-login spec 并实现下一个任务"
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
### 2. 让 Windsurf 管理任务
|
|
@@ -208,19 +208,19 @@ Windsurf 可以更新任务状态:
|
|
|
208
208
|
|
|
209
209
|
在活跃开发期间启动 Watch 模式:
|
|
210
210
|
```bash
|
|
211
|
-
|
|
211
|
+
sce watch start
|
|
212
212
|
```
|
|
213
213
|
|
|
214
214
|
完成后停止:
|
|
215
215
|
```bash
|
|
216
|
-
|
|
216
|
+
sce watch stop
|
|
217
217
|
```
|
|
218
218
|
|
|
219
219
|
### 4. 批量实现任务
|
|
220
220
|
|
|
221
221
|
Windsurf 可以实现多个任务:
|
|
222
222
|
```
|
|
223
|
-
"使用
|
|
223
|
+
"使用 sce 实现 01-00-user-login 的任务 1.1、1.2 和 1.3"
|
|
224
224
|
```
|
|
225
225
|
|
|
226
226
|
### 5. 要求验证
|
|
@@ -237,7 +237,7 @@ Windsurf 可以实现多个任务:
|
|
|
237
237
|
### 实现新功能
|
|
238
238
|
|
|
239
239
|
```
|
|
240
|
-
使用
|
|
240
|
+
使用 sce 检查 .kiro/specs/01-00-user-login/ 中的 spec 并实现任务 1.1:"设置项目依赖"。
|
|
241
241
|
|
|
242
242
|
严格遵循 design.md 中的架构。
|
|
243
243
|
完成后在 tasks.md 中标记任务为完成。
|
|
@@ -246,7 +246,7 @@ Windsurf 可以实现多个任务:
|
|
|
246
246
|
### 实现多个任务
|
|
247
247
|
|
|
248
248
|
```
|
|
249
|
-
使用
|
|
249
|
+
使用 sce 检查 01-00-user-login spec 并实现阶段 1 的所有任务(1.1 和 1.2)。
|
|
250
250
|
|
|
251
251
|
对于每个任务:
|
|
252
252
|
1. 实现代码
|
|
@@ -260,7 +260,7 @@ Windsurf 可以实现多个任务:
|
|
|
260
260
|
我正在实现 01-00-user-login spec。
|
|
261
261
|
|
|
262
262
|
任务 2.1 已完成,但测试失败。请:
|
|
263
|
-
1. 使用
|
|
263
|
+
1. 使用 sce 检查 spec
|
|
264
264
|
2. 审查我的代码
|
|
265
265
|
3. 识别问题
|
|
266
266
|
4. 修复它
|
|
@@ -277,13 +277,13 @@ Windsurf 可以实现多个任务:
|
|
|
277
277
|
|
|
278
278
|
```bash
|
|
279
279
|
# 监视 requirements.md 更改
|
|
280
|
-
|
|
280
|
+
sce watch add --pattern ".kiro/specs/*/requirements.md" --action "sce context export {spec}"
|
|
281
281
|
|
|
282
282
|
# 监视 design.md 更改
|
|
283
|
-
|
|
283
|
+
sce watch add --pattern ".kiro/specs/*/design.md" --action "sce context export {spec}"
|
|
284
284
|
|
|
285
285
|
# 监视 tasks.md 更改
|
|
286
|
-
|
|
286
|
+
sce watch add --pattern ".kiro/specs/*/tasks.md" --action "sce context export {spec}"
|
|
287
287
|
```
|
|
288
288
|
|
|
289
289
|
### 高级 Watch 配置
|
|
@@ -292,35 +292,35 @@ kse watch add --pattern ".kiro/specs/*/tasks.md" --action "kse context export {s
|
|
|
292
292
|
|
|
293
293
|
```bash
|
|
294
294
|
# 在任务更新时运行测试
|
|
295
|
-
|
|
295
|
+
sce watch add --pattern ".kiro/specs/*/tasks.md" --action "npm test"
|
|
296
296
|
|
|
297
297
|
# 在设计更改时运行 linter
|
|
298
|
-
|
|
298
|
+
sce watch add --pattern ".kiro/specs/*/design.md" --action "npm run lint"
|
|
299
299
|
```
|
|
300
300
|
|
|
301
301
|
### 检查 Watch 状态
|
|
302
302
|
|
|
303
303
|
```bash
|
|
304
304
|
# 查看 Watch 模式是否正在运行
|
|
305
|
-
|
|
305
|
+
sce watch status
|
|
306
306
|
|
|
307
307
|
# 列出所有 watch 规则
|
|
308
|
-
|
|
308
|
+
sce watch list
|
|
309
309
|
|
|
310
310
|
# 停止 Watch 模式
|
|
311
|
-
|
|
311
|
+
sce watch stop
|
|
312
312
|
```
|
|
313
313
|
|
|
314
314
|
---
|
|
315
315
|
|
|
316
316
|
## 故障排除
|
|
317
317
|
|
|
318
|
-
### 问题:Windsurf 找不到
|
|
318
|
+
### 问题:Windsurf 找不到 sce 命令
|
|
319
319
|
|
|
320
320
|
**解决方案:**
|
|
321
|
-
1. 验证
|
|
321
|
+
1. 验证 sce 已全局安装:
|
|
322
322
|
```bash
|
|
323
|
-
npm list -g
|
|
323
|
+
npm list -g scene-capability-engine
|
|
324
324
|
```
|
|
325
325
|
2. 重启 Windsurf
|
|
326
326
|
3. 检查 PATH 是否包含 npm 全局 bin
|
|
@@ -330,16 +330,16 @@ kse watch stop
|
|
|
330
330
|
**解决方案:**
|
|
331
331
|
1. 检查 Watch 模式是否正在运行:
|
|
332
332
|
```bash
|
|
333
|
-
|
|
333
|
+
sce watch status
|
|
334
334
|
```
|
|
335
335
|
2. 验证文件模式是否正确:
|
|
336
336
|
```bash
|
|
337
|
-
|
|
337
|
+
sce watch list
|
|
338
338
|
```
|
|
339
339
|
3. 重启 Watch 模式:
|
|
340
340
|
```bash
|
|
341
|
-
|
|
342
|
-
|
|
341
|
+
sce watch stop
|
|
342
|
+
sce watch start
|
|
343
343
|
```
|
|
344
344
|
|
|
345
345
|
### 问题:Windsurf 不遵循设计
|
|
@@ -357,7 +357,7 @@ kse watch stop
|
|
|
357
357
|
|
|
358
358
|
## 相关文档
|
|
359
359
|
|
|
360
|
-
- 📖 [快速入门指南](../quick-start.md) - 开始使用
|
|
360
|
+
- 📖 [快速入门指南](../quick-start.md) - 开始使用 sce
|
|
361
361
|
- 🔌 [集成模式](../integration-modes.md) - 理解原生和 Watch 模式
|
|
362
362
|
- 📋 [Spec 工作流](../spec-workflow.md) - 创建有效的 Spec
|
|
363
363
|
- 🔧 [故障排除](../troubleshooting.md) - 常见问题
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Value 可观测指南
|
|
2
2
|
|
|
3
|
-
> 使用 `
|
|
3
|
+
> 使用 `sce value metrics` 将 Spec 交付变成可量化、可审计的周度结果。
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
- 质量是在改善还是恶化?
|
|
13
13
|
- Day30/Day60 是否应该放行?
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
sce 通过机器可读 KPI 快照、基线生成、趋势分析和门禁摘要,解决以上问题。
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -20,16 +20,16 @@ kse 通过机器可读 KPI 快照、基线生成、趋势分析和门禁摘要
|
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
# 0) 首次使用先生成输入样例
|
|
23
|
-
|
|
23
|
+
sce value metrics sample --out ./kpi-input.json --period 2026-W10 --json
|
|
24
24
|
|
|
25
25
|
# 1) 生成当周快照
|
|
26
|
-
|
|
26
|
+
sce value metrics snapshot --input ./kpi-input.json --period 2026-W10 --checkpoint day-60 --json
|
|
27
27
|
|
|
28
28
|
# 2) 从最早历史快照生成 baseline
|
|
29
|
-
|
|
29
|
+
sce value metrics baseline --from-history 3 --period 2026-W10 --json
|
|
30
30
|
|
|
31
31
|
# 3) 基于最近窗口输出趋势与风险
|
|
32
|
-
|
|
32
|
+
sce value metrics trend --window 6 --json
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
---
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# scene-capability-engine v1.42.0 交付清单
|
|
2
2
|
|
|
3
3
|
## ✅ 交付物
|
|
4
4
|
|
|
5
5
|
### 1. npm 包
|
|
6
6
|
|
|
7
|
-
- ✅ **
|
|
8
|
-
- 安装: `npm install -g
|
|
9
|
-
- 验证: `
|
|
7
|
+
- ✅ **scene-capability-engine@1.42.0** (npm registry)
|
|
8
|
+
- 安装: `npm install -g scene-capability-engine`
|
|
9
|
+
- 验证: `sce --version` → 1.42.0
|
|
10
10
|
|
|
11
11
|
### 2. 新功能(v1.25.0 ~ v1.42.0 Scene 系列)
|
|
12
12
|
|
|
@@ -97,7 +97,7 @@ class AdoptionLogger {
|
|
|
97
97
|
// Write header
|
|
98
98
|
const header = [
|
|
99
99
|
'='.repeat(80),
|
|
100
|
-
`
|
|
100
|
+
`Scene Capability Engine - Adoption Log`,
|
|
101
101
|
`Adoption ID: ${adoptionId}`,
|
|
102
102
|
`Start Time: ${new Date().toISOString()}`,
|
|
103
103
|
`Log Level: ${LogLevelNames[this.level]}`,
|
|
@@ -40,7 +40,7 @@ class AdoptionStrategy {
|
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* Gets the path to template directory
|
|
43
|
-
* This would be embedded in the
|
|
43
|
+
* This would be embedded in the sce package
|
|
44
44
|
*
|
|
45
45
|
* @returns {string}
|
|
46
46
|
*/
|
|
@@ -363,7 +363,7 @@ class PartialAdoption extends AdoptionStrategy {
|
|
|
363
363
|
// Update existing version.json
|
|
364
364
|
const versionInfo = await this.versionManager.readVersion(projectPath);
|
|
365
365
|
if (versionInfo) {
|
|
366
|
-
versionInfo['
|
|
366
|
+
versionInfo['sce-version'] = kseVersion;
|
|
367
367
|
versionInfo['template-version'] = kseVersion;
|
|
368
368
|
versionInfo['last-upgraded'] = new Date().toISOString();
|
|
369
369
|
await this.versionManager.writeVersion(projectPath, versionInfo);
|
|
@@ -434,7 +434,7 @@ class FullAdoption extends AdoptionStrategy {
|
|
|
434
434
|
throw new Error('version.json not found - use partial adoption');
|
|
435
435
|
}
|
|
436
436
|
|
|
437
|
-
const currentVersion = existingVersion['
|
|
437
|
+
const currentVersion = existingVersion['sce-version'];
|
|
438
438
|
|
|
439
439
|
// Check if upgrade is needed
|
|
440
440
|
if (!this.versionManager.needsUpgrade(currentVersion, kseVersion)) {
|
|
@@ -49,7 +49,7 @@ class DetectionEngine {
|
|
|
49
49
|
if (hasVersionFile) {
|
|
50
50
|
try {
|
|
51
51
|
const versionInfo = await readJSON(versionPath);
|
|
52
|
-
existingVersion = versionInfo['
|
|
52
|
+
existingVersion = versionInfo['sce-version'] || null;
|
|
53
53
|
} catch (error) {
|
|
54
54
|
// Invalid version file
|
|
55
55
|
hasVersionFile = false;
|
|
@@ -139,7 +139,7 @@ class ErrorFormatter {
|
|
|
139
139
|
'Check file permissions: Run with appropriate permissions',
|
|
140
140
|
'Close other programs that might be accessing the files',
|
|
141
141
|
'Try running the command again',
|
|
142
|
-
'If problem persists, run:
|
|
142
|
+
'If problem persists, run: sce doctor'
|
|
143
143
|
]
|
|
144
144
|
},
|
|
145
145
|
|
|
@@ -171,7 +171,7 @@ class ErrorFormatter {
|
|
|
171
171
|
],
|
|
172
172
|
solutions: [
|
|
173
173
|
'Free up disk space by deleting unnecessary files',
|
|
174
|
-
'Clean up old backups:
|
|
174
|
+
'Clean up old backups: sce backup clean --old',
|
|
175
175
|
'Move project to a drive with more space',
|
|
176
176
|
'Check disk usage: df -h (Unix) or dir (Windows)'
|
|
177
177
|
]
|
|
@@ -192,22 +192,22 @@ class ErrorFormatter {
|
|
|
192
192
|
'Check if files exist: ls -la .kiro/ (Unix) or dir .kiro (Windows)',
|
|
193
193
|
'Ensure file names are valid for your operating system',
|
|
194
194
|
'Try running file system check/repair tools',
|
|
195
|
-
'If problem persists, run:
|
|
195
|
+
'If problem persists, run: sce doctor'
|
|
196
196
|
]
|
|
197
197
|
},
|
|
198
198
|
|
|
199
199
|
[ErrorCategory.VERSION]: {
|
|
200
200
|
title: 'Version Mismatch',
|
|
201
|
-
problem: 'Project version is incompatible with current
|
|
201
|
+
problem: 'Project version is incompatible with current sce version',
|
|
202
202
|
causes: [
|
|
203
|
-
'Project was created with a newer version of
|
|
203
|
+
'Project was created with a newer version of sce',
|
|
204
204
|
'Version information is missing or corrupted',
|
|
205
205
|
'Incompatible version format'
|
|
206
206
|
],
|
|
207
207
|
solutions: [
|
|
208
|
-
'Update
|
|
209
|
-
'Check project version:
|
|
210
|
-
'If downgrading, use:
|
|
208
|
+
'Update sce to the latest version: npm install -g scene-capability-engine',
|
|
209
|
+
'Check project version: sce version --project',
|
|
210
|
+
'If downgrading, use: sce adopt --force (with caution)',
|
|
211
211
|
'Backup your project before proceeding'
|
|
212
212
|
]
|
|
213
213
|
},
|
|
@@ -222,10 +222,10 @@ class ErrorFormatter {
|
|
|
222
222
|
'Inconsistent project structure'
|
|
223
223
|
],
|
|
224
224
|
solutions: [
|
|
225
|
-
'Run project diagnostics:
|
|
225
|
+
'Run project diagnostics: sce doctor',
|
|
226
226
|
'Check for corrupted files',
|
|
227
|
-
'Restore from backup if available:
|
|
228
|
-
'Re-initialize project:
|
|
227
|
+
'Restore from backup if available: sce rollback <backup-id>',
|
|
228
|
+
'Re-initialize project: sce adopt --force',
|
|
229
229
|
'Contact support if issue persists'
|
|
230
230
|
]
|
|
231
231
|
},
|
|
@@ -259,8 +259,8 @@ class ErrorFormatter {
|
|
|
259
259
|
],
|
|
260
260
|
solutions: [
|
|
261
261
|
'Check configuration file: .kiro/adoption-config.json',
|
|
262
|
-
'Restore default configuration:
|
|
263
|
-
'Validate configuration:
|
|
262
|
+
'Restore default configuration: sce config reset',
|
|
263
|
+
'Validate configuration: sce config validate',
|
|
264
264
|
'Refer to documentation for valid configuration options'
|
|
265
265
|
]
|
|
266
266
|
},
|
|
@@ -275,7 +275,7 @@ class ErrorFormatter {
|
|
|
275
275
|
],
|
|
276
276
|
solutions: [
|
|
277
277
|
'Try running the command again',
|
|
278
|
-
'Run diagnostics:
|
|
278
|
+
'Run diagnostics: sce doctor',
|
|
279
279
|
'Check the error details below',
|
|
280
280
|
'Report this issue if it persists',
|
|
281
281
|
'Include error details when reporting'
|
|
@@ -338,8 +338,8 @@ class ErrorFormatter {
|
|
|
338
338
|
|
|
339
339
|
// Help reference
|
|
340
340
|
lines.push(chalk.blue('💡 Need help?'));
|
|
341
|
-
lines.push(chalk.blue(' Run:
|
|
342
|
-
lines.push(chalk.blue(' Docs: https://github.com/
|
|
341
|
+
lines.push(chalk.blue(' Run: sce doctor'));
|
|
342
|
+
lines.push(chalk.blue(' Docs: https://github.com/SCE-ai/scene-capability-engine#troubleshooting'));
|
|
343
343
|
lines.push('');
|
|
344
344
|
|
|
345
345
|
return lines.join('\n');
|
|
@@ -490,7 +490,7 @@ class ErrorFormatter {
|
|
|
490
490
|
});
|
|
491
491
|
|
|
492
492
|
lines.push('');
|
|
493
|
-
lines.push(chalk.blue('💡 Run:
|
|
493
|
+
lines.push(chalk.blue('💡 Run: sce doctor for detailed diagnostics'));
|
|
494
494
|
lines.push('');
|
|
495
495
|
|
|
496
496
|
return lines.join('\n');
|
|
@@ -410,7 +410,7 @@ class ProgressReporter {
|
|
|
410
410
|
// Show backup info
|
|
411
411
|
if (result.backup) {
|
|
412
412
|
console.log(chalk.blue('💡 Your original files are safely backed up.'));
|
|
413
|
-
console.log(chalk.gray(` To restore: ${chalk.cyan(`
|
|
413
|
+
console.log(chalk.gray(` To restore: ${chalk.cyan(`sce rollback ${result.backup.id}`)}`));
|
|
414
414
|
console.log();
|
|
415
415
|
}
|
|
416
416
|
|
|
@@ -445,7 +445,7 @@ class ProgressReporter {
|
|
|
445
445
|
|
|
446
446
|
if (result.backup) {
|
|
447
447
|
console.log(chalk.blue('📦 Backup available:'), result.backup.id);
|
|
448
|
-
console.log(chalk.gray(' Run'), chalk.cyan('
|
|
448
|
+
console.log(chalk.gray(' Run'), chalk.cyan('sce rollback'), chalk.gray('to restore'));
|
|
449
449
|
console.log();
|
|
450
450
|
}
|
|
451
451
|
}
|
|
@@ -221,7 +221,7 @@ class SmartOrchestrator {
|
|
|
221
221
|
} else {
|
|
222
222
|
// Don't block adoption on .gitignore fix failure
|
|
223
223
|
result.warnings.push(`⚠️ .gitignore fix failed: ${gitignoreResult.message}`);
|
|
224
|
-
result.warnings.push('You can fix this manually with:
|
|
224
|
+
result.warnings.push('You can fix this manually with: sce doctor --fix-gitignore');
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
this.progressReporter.reportStage('Checking .gitignore configuration', 'complete');
|
|
@@ -229,7 +229,7 @@ class SmartOrchestrator {
|
|
|
229
229
|
// Don't block adoption on .gitignore fix failure
|
|
230
230
|
this.progressReporter.reportStage('Checking .gitignore configuration', 'error');
|
|
231
231
|
result.warnings.push(`⚠️ .gitignore check failed: ${gitignoreError.message}`);
|
|
232
|
-
result.warnings.push('You can fix this manually with:
|
|
232
|
+
result.warnings.push('You can fix this manually with: sce doctor --fix-gitignore');
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
// Success!
|
|
@@ -85,7 +85,7 @@ class StrategySelector {
|
|
|
85
85
|
if (hasVersionFile) {
|
|
86
86
|
try {
|
|
87
87
|
const versionInfo = await this.versionManager.readVersion(projectPath);
|
|
88
|
-
currentVersion = versionInfo['
|
|
88
|
+
currentVersion = versionInfo['sce-version'] || null;
|
|
89
89
|
|
|
90
90
|
// Compare versions if we have both
|
|
91
91
|
if (currentVersion && targetVersion) {
|
|
@@ -194,7 +194,7 @@ class StrategySelector {
|
|
|
194
194
|
[AdoptionMode.FRESH]: 'Fresh Adoption - Creating new .kiro/ structure',
|
|
195
195
|
[AdoptionMode.SKIP]: 'Already Up-to-Date - No changes needed',
|
|
196
196
|
[AdoptionMode.SMART_UPDATE]: 'Smart Update - Updating template files to latest version',
|
|
197
|
-
[AdoptionMode.WARNING]: 'Version Warning - Project version is newer than
|
|
197
|
+
[AdoptionMode.WARNING]: 'Version Warning - Project version is newer than sce version',
|
|
198
198
|
[AdoptionMode.SMART_ADOPT]: 'Smart Adoption - Adopting existing .kiro/ directory'
|
|
199
199
|
};
|
|
200
200
|
|
|
@@ -363,7 +363,7 @@ class SummaryGenerator {
|
|
|
363
363
|
|
|
364
364
|
return {
|
|
365
365
|
available: true,
|
|
366
|
-
command: `
|
|
366
|
+
command: `sce rollback ${this.summaryData.backup.id}`,
|
|
367
367
|
description: 'Restore all files from backup',
|
|
368
368
|
backupId: this.summaryData.backup.id,
|
|
369
369
|
backupLocation: this.summaryData.backup.location
|
|
@@ -385,7 +385,7 @@ class SummaryGenerator {
|
|
|
385
385
|
steps.push('Review error messages above');
|
|
386
386
|
steps.push('Check log files for detailed error information');
|
|
387
387
|
if (this.summaryData.backup) {
|
|
388
|
-
steps.push(`Run '
|
|
388
|
+
steps.push(`Run 'sce rollback ${this.summaryData.backup.id}' to restore if needed`);
|
|
389
389
|
}
|
|
390
390
|
return steps;
|
|
391
391
|
}
|
|
@@ -395,7 +395,7 @@ class SummaryGenerator {
|
|
|
395
395
|
case 'fresh':
|
|
396
396
|
steps.push('Review the created .kiro/ structure');
|
|
397
397
|
steps.push('Customize CURRENT_CONTEXT.md for your project');
|
|
398
|
-
steps.push('Start creating your first spec with:
|
|
398
|
+
steps.push('Start creating your first spec with: sce spec create');
|
|
399
399
|
break;
|
|
400
400
|
|
|
401
401
|
case 'smart-update':
|
|
@@ -71,13 +71,13 @@ class AutonomousEngine {
|
|
|
71
71
|
// Check for .kiro directory (接管标志)
|
|
72
72
|
const kiroDir = path.join(process.cwd(), '.kiro');
|
|
73
73
|
if (!await fs.pathExists(kiroDir)) {
|
|
74
|
-
throw new Error('CORE_PRINCIPLES violation: .kiro directory not found. Project not adopted by
|
|
74
|
+
throw new Error('CORE_PRINCIPLES violation: .kiro directory not found. Project not adopted by sce.');
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
// Check for version.json
|
|
78
78
|
const versionFile = path.join(kiroDir, 'version.json');
|
|
79
79
|
if (!await fs.pathExists(versionFile)) {
|
|
80
|
-
console.warn('Warning: version.json not found. Consider running
|
|
80
|
+
console.warn('Warning: version.json not found. Consider running sce adoption.');
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
// Check for specs directory
|
|
@@ -183,7 +183,7 @@ async function runAutoCloseLoop(goal, options = {}, dependencies = {}) {
|
|
|
183
183
|
},
|
|
184
184
|
orchestration: null,
|
|
185
185
|
next_actions: [
|
|
186
|
-
'Session is running. If interrupted, resume with `
|
|
186
|
+
'Session is running. If interrupted, resume with `sce auto close-loop --resume interrupted`.'
|
|
187
187
|
]
|
|
188
188
|
}, sessionRuntime);
|
|
189
189
|
}
|
|
@@ -2088,7 +2088,7 @@ function buildMasterTasks(decomposition) {
|
|
|
2088
2088
|
'- [ ] 2. Launch orchestrate runtime for all Sub Specs and Master',
|
|
2089
2089
|
' - **Requirement**: FR2',
|
|
2090
2090
|
' - **Design**: Integration Contract',
|
|
2091
|
-
' - **Validation**: `
|
|
2091
|
+
' - **Validation**: `sce orchestrate run` reaches terminal state',
|
|
2092
2092
|
'',
|
|
2093
2093
|
'- [ ] 3. Reconcile collaboration status and produce closure evidence',
|
|
2094
2094
|
' - **Requirement**: FR3, FR4',
|
|
@@ -2190,8 +2190,8 @@ function buildNextActions(status, dod, replan) {
|
|
|
2190
2190
|
: `Automatic replan attempts exhausted (${budget}).`;
|
|
2191
2191
|
return [
|
|
2192
2192
|
stalledMessage,
|
|
2193
|
-
'Run `
|
|
2194
|
-
'Use `
|
|
2193
|
+
'Run `sce auto close-loop --resume latest --replan-attempts <n>` to continue with higher replan budget.',
|
|
2194
|
+
'Use `sce orchestrate status --json` for failure diagnostics.'
|
|
2195
2195
|
];
|
|
2196
2196
|
}
|
|
2197
2197
|
|
|
@@ -2201,8 +2201,8 @@ function buildNextActions(status, dod, replan) {
|
|
|
2201
2201
|
: 'unknown';
|
|
2202
2202
|
return [
|
|
2203
2203
|
`Resolve failed Definition-of-Done gates: ${failures}.`,
|
|
2204
|
-
'Run `
|
|
2205
|
-
'Use `
|
|
2204
|
+
'Run `sce auto close-loop "<goal>" --dod-tests "<command>"` again after fixes.',
|
|
2205
|
+
'Use `sce orchestrate status --json` for detailed orchestration diagnostics.'
|
|
2206
2206
|
];
|
|
2207
2207
|
}
|
|
2208
2208
|
|
|
@@ -2213,19 +2213,19 @@ function buildNextActions(status, dod, replan) {
|
|
|
2213
2213
|
return [
|
|
2214
2214
|
replanHint,
|
|
2215
2215
|
'Inspect orchestration summary and merged outputs from all sub-specs.',
|
|
2216
|
-
'Run `
|
|
2216
|
+
'Run `sce collab status --graph` to verify final dependency graph health.'
|
|
2217
2217
|
];
|
|
2218
2218
|
}
|
|
2219
2219
|
|
|
2220
2220
|
if (status === 'failed' || status === 'stopped') {
|
|
2221
2221
|
return [
|
|
2222
|
-
'Run `
|
|
2222
|
+
'Run `sce orchestrate status --json` for failure details.',
|
|
2223
2223
|
'Resolve blocked specs and rerun the close-loop command with a new prefix.'
|
|
2224
2224
|
];
|
|
2225
2225
|
}
|
|
2226
2226
|
|
|
2227
2227
|
return [
|
|
2228
|
-
'Run `
|
|
2228
|
+
'Run `sce orchestrate status` to observe runtime progress.'
|
|
2229
2229
|
];
|
|
2230
2230
|
}
|
|
2231
2231
|
|