scene-capability-engine 3.0.0

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.
Files changed (336) hide show
  1. package/CHANGELOG.md +2513 -0
  2. package/LICENSE +21 -0
  3. package/README.md +765 -0
  4. package/README.zh.md +630 -0
  5. package/bin/kiro-spec-engine.js +796 -0
  6. package/bin/kse.js +3 -0
  7. package/bin/sce.js +3 -0
  8. package/bin/sco.js +3 -0
  9. package/docs/331-poc-adaptation-roadmap.md +156 -0
  10. package/docs/331-poc-dual-track-integration-guide.md +120 -0
  11. package/docs/331-poc-weekly-delivery-checklist.md +52 -0
  12. package/docs/OFFLINE_INSTALL.md +96 -0
  13. package/docs/README.md +279 -0
  14. package/docs/adopt-migration-guide.md +599 -0
  15. package/docs/adoption-guide.md +616 -0
  16. package/docs/agent-hooks-analysis.md +815 -0
  17. package/docs/architecture.md +733 -0
  18. package/docs/articles/ai-driven-development-philosophy-and-practice-review.md +208 -0
  19. package/docs/articles/ai-driven-development-philosophy-and-practice.en.md +459 -0
  20. package/docs/articles/ai-driven-development-philosophy-and-practice.md +492 -0
  21. package/docs/autonomous-control-guide.md +851 -0
  22. package/docs/command-reference.md +1368 -0
  23. package/docs/community.md +115 -0
  24. package/docs/cross-tool-guide.md +555 -0
  25. package/docs/developer-guide.md +619 -0
  26. package/docs/document-governance.md +865 -0
  27. package/docs/environment-management-guide.md +526 -0
  28. package/docs/examples/add-export-command/design.md +194 -0
  29. package/docs/examples/add-export-command/requirements.md +110 -0
  30. package/docs/examples/add-export-command/tasks.md +88 -0
  31. package/docs/examples/add-rest-api/design.md +855 -0
  32. package/docs/examples/add-rest-api/requirements.md +323 -0
  33. package/docs/examples/add-rest-api/tasks.md +355 -0
  34. package/docs/examples/add-user-dashboard/design.md +192 -0
  35. package/docs/examples/add-user-dashboard/requirements.md +143 -0
  36. package/docs/examples/add-user-dashboard/tasks.md +91 -0
  37. package/docs/faq.md +697 -0
  38. package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.json +156 -0
  39. package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.md +24 -0
  40. package/docs/images/wechat-qr.png +0 -0
  41. package/docs/integration-modes.md +529 -0
  42. package/docs/integration-philosophy.md +313 -0
  43. package/docs/knowledge-management-guide.md +263 -0
  44. package/docs/manual-workflows-guide.md +418 -0
  45. package/docs/moqui-capability-matrix.md +73 -0
  46. package/docs/moqui-template-core-library-playbook.md +109 -0
  47. package/docs/multi-agent-coordination-guide.md +553 -0
  48. package/docs/multi-repo-management-guide.md +1344 -0
  49. package/docs/quick-start-with-ai-tools.md +375 -0
  50. package/docs/quick-start.md +146 -0
  51. package/docs/release-checklist.md +121 -0
  52. package/docs/releases/README.md +13 -0
  53. package/docs/releases/v1.46.2-validation.md +45 -0
  54. package/docs/releases/v1.46.2.md +50 -0
  55. package/docs/scene-runtime-guide.md +347 -0
  56. package/docs/spec-collaboration-guide.md +369 -0
  57. package/docs/spec-locking-guide.md +225 -0
  58. package/docs/spec-numbering-guide.md +348 -0
  59. package/docs/spec-workflow.md +519 -0
  60. package/docs/steering-strategy-guide.md +196 -0
  61. package/docs/team-collaboration-guide.md +465 -0
  62. package/docs/testing-strategy.md +272 -0
  63. package/docs/tools/claude-guide.md +654 -0
  64. package/docs/tools/cursor-guide.md +706 -0
  65. package/docs/tools/generic-guide.md +446 -0
  66. package/docs/tools/kiro-guide.md +308 -0
  67. package/docs/tools/vscode-guide.md +445 -0
  68. package/docs/tools/windsurf-guide.md +391 -0
  69. package/docs/troubleshooting.md +1135 -0
  70. package/docs/upgrade-guide.md +639 -0
  71. package/docs/value-observability-guide.md +127 -0
  72. package/docs/zh/README.md +341 -0
  73. package/docs/zh/quick-start.md +764 -0
  74. package/docs/zh/release-checklist.md +121 -0
  75. package/docs/zh/releases/README.md +13 -0
  76. package/docs/zh/releases/v1.46.2-validation.md +45 -0
  77. package/docs/zh/releases/v1.46.2.md +50 -0
  78. package/docs/zh/spec-numbering-guide.md +348 -0
  79. package/docs/zh/tools/claude-guide.md +349 -0
  80. package/docs/zh/tools/cursor-guide.md +281 -0
  81. package/docs/zh/tools/generic-guide.md +499 -0
  82. package/docs/zh/tools/kiro-guide.md +342 -0
  83. package/docs/zh/tools/vscode-guide.md +449 -0
  84. package/docs/zh/tools/windsurf-guide.md +378 -0
  85. package/docs/zh/value-observability-guide.md +127 -0
  86. package/docs//344/272/244/344/273/230/346/270/205/345/215/225.md +75 -0
  87. package/lib/adoption/adoption-logger.js +487 -0
  88. package/lib/adoption/adoption-strategy.js +538 -0
  89. package/lib/adoption/backup-manager.js +420 -0
  90. package/lib/adoption/conflict-resolver.js +410 -0
  91. package/lib/adoption/detection-engine.js +275 -0
  92. package/lib/adoption/diff-viewer.js +226 -0
  93. package/lib/adoption/error-formatter.js +509 -0
  94. package/lib/adoption/file-classifier.js +385 -0
  95. package/lib/adoption/progress-reporter.js +534 -0
  96. package/lib/adoption/smart-orchestrator.js +470 -0
  97. package/lib/adoption/strategy-selector.js +218 -0
  98. package/lib/adoption/summary-generator.js +493 -0
  99. package/lib/adoption/template-sync.js +605 -0
  100. package/lib/auto/autonomous-engine.js +485 -0
  101. package/lib/auto/checkpoint-manager.js +300 -0
  102. package/lib/auto/close-loop-runner.js +2476 -0
  103. package/lib/auto/config-schema.js +176 -0
  104. package/lib/auto/decision-engine.js +344 -0
  105. package/lib/auto/error-recovery-manager.js +580 -0
  106. package/lib/auto/goal-decomposer.js +278 -0
  107. package/lib/auto/progress-tracker.js +502 -0
  108. package/lib/auto/safety-manager.js +186 -0
  109. package/lib/auto/semantic-decomposer.js +137 -0
  110. package/lib/auto/state-manager.js +126 -0
  111. package/lib/auto/task-queue-manager.js +340 -0
  112. package/lib/backup/backup-system.js +372 -0
  113. package/lib/backup/selective-backup.js +207 -0
  114. package/lib/collab/agent-registry.js +240 -0
  115. package/lib/collab/collab-manager.js +285 -0
  116. package/lib/collab/contract-manager.js +320 -0
  117. package/lib/collab/coordinator.js +370 -0
  118. package/lib/collab/dependency-manager.js +280 -0
  119. package/lib/collab/index.js +20 -0
  120. package/lib/collab/integration-manager.js +202 -0
  121. package/lib/collab/merge-coordinator.js +252 -0
  122. package/lib/collab/metadata-manager.js +233 -0
  123. package/lib/collab/multi-agent-config.js +120 -0
  124. package/lib/collab/spec-lifecycle-manager.js +304 -0
  125. package/lib/collab/sync-barrier.js +88 -0
  126. package/lib/collab/visualizer.js +208 -0
  127. package/lib/commands/adopt.js +749 -0
  128. package/lib/commands/auto.js +19559 -0
  129. package/lib/commands/collab.js +275 -0
  130. package/lib/commands/context.js +99 -0
  131. package/lib/commands/docs.js +808 -0
  132. package/lib/commands/doctor.js +273 -0
  133. package/lib/commands/env.js +420 -0
  134. package/lib/commands/knowledge.js +309 -0
  135. package/lib/commands/lock.js +235 -0
  136. package/lib/commands/ops.js +409 -0
  137. package/lib/commands/orchestrate.js +446 -0
  138. package/lib/commands/prompt.js +105 -0
  139. package/lib/commands/repo.js +118 -0
  140. package/lib/commands/rollback.js +219 -0
  141. package/lib/commands/scene.js +15549 -0
  142. package/lib/commands/spec-bootstrap.js +147 -0
  143. package/lib/commands/spec-gate.js +157 -0
  144. package/lib/commands/spec-pipeline.js +205 -0
  145. package/lib/commands/status.js +321 -0
  146. package/lib/commands/task.js +199 -0
  147. package/lib/commands/templates.js +654 -0
  148. package/lib/commands/upgrade.js +231 -0
  149. package/lib/commands/value.js +569 -0
  150. package/lib/commands/watch.js +684 -0
  151. package/lib/commands/workflows.js +240 -0
  152. package/lib/commands/workspace-multi.js +325 -0
  153. package/lib/commands/workspace.js +189 -0
  154. package/lib/context/context-exporter.js +378 -0
  155. package/lib/context/prompt-generator.js +482 -0
  156. package/lib/data/moqui-capability-lexicon.json +45 -0
  157. package/lib/environment/backup-system.js +189 -0
  158. package/lib/environment/environment-manager.js +379 -0
  159. package/lib/environment/environment-registry.js +168 -0
  160. package/lib/gitignore/gitignore-backup.js +229 -0
  161. package/lib/gitignore/gitignore-detector.js +239 -0
  162. package/lib/gitignore/gitignore-integration.js +267 -0
  163. package/lib/gitignore/gitignore-transformer.js +193 -0
  164. package/lib/gitignore/layered-rules-template.js +42 -0
  165. package/lib/governance/archive-tool.js +284 -0
  166. package/lib/governance/cleanup-tool.js +237 -0
  167. package/lib/governance/config-manager.js +186 -0
  168. package/lib/governance/diagnostic-engine.js +271 -0
  169. package/lib/governance/doc-reference-checker.js +200 -0
  170. package/lib/governance/execution-logger.js +243 -0
  171. package/lib/governance/file-scanner.js +285 -0
  172. package/lib/governance/hooks-manager.js +333 -0
  173. package/lib/governance/reporter.js +337 -0
  174. package/lib/governance/validation-engine.js +181 -0
  175. package/lib/i18n.js +79 -0
  176. package/lib/knowledge/entry-manager.js +208 -0
  177. package/lib/knowledge/index-manager.js +261 -0
  178. package/lib/knowledge/knowledge-manager.js +273 -0
  179. package/lib/knowledge/template-manager.js +191 -0
  180. package/lib/lock/index.js +21 -0
  181. package/lib/lock/lock-file.js +192 -0
  182. package/lib/lock/lock-manager.js +321 -0
  183. package/lib/lock/machine-identifier.js +135 -0
  184. package/lib/lock/steering-file-lock.js +207 -0
  185. package/lib/lock/task-lock-manager.js +345 -0
  186. package/lib/operations/audit-logger.js +293 -0
  187. package/lib/operations/feedback-manager.js +1147 -0
  188. package/lib/operations/index.js +23 -0
  189. package/lib/operations/models/index.js +170 -0
  190. package/lib/operations/operations-manager.js +151 -0
  191. package/lib/operations/operations-validator.js +280 -0
  192. package/lib/operations/permission-manager.js +354 -0
  193. package/lib/operations/template-loader.js +143 -0
  194. package/lib/orchestrator/agent-spawner.js +629 -0
  195. package/lib/orchestrator/bootstrap-prompt-builder.js +236 -0
  196. package/lib/orchestrator/index.js +19 -0
  197. package/lib/orchestrator/orchestration-engine.js +1270 -0
  198. package/lib/orchestrator/orchestrator-config.js +173 -0
  199. package/lib/orchestrator/status-monitor.js +591 -0
  200. package/lib/python-checker.js +209 -0
  201. package/lib/repo/config-manager.js +580 -0
  202. package/lib/repo/errors/config-error.js +13 -0
  203. package/lib/repo/errors/git-error.js +15 -0
  204. package/lib/repo/errors/repo-error.js +14 -0
  205. package/lib/repo/git-operations.js +181 -0
  206. package/lib/repo/handlers/.gitkeep +1 -0
  207. package/lib/repo/handlers/exec-handler.js +155 -0
  208. package/lib/repo/handlers/health-handler.js +169 -0
  209. package/lib/repo/handlers/init-handler.js +197 -0
  210. package/lib/repo/handlers/status-handler.js +176 -0
  211. package/lib/repo/output-formatter.js +184 -0
  212. package/lib/repo/path-resolver.js +178 -0
  213. package/lib/repo/repo-manager.js +514 -0
  214. package/lib/scene-runtime/audit-emitter.js +59 -0
  215. package/lib/scene-runtime/binding-plugin-loader.js +351 -0
  216. package/lib/scene-runtime/binding-registry.js +349 -0
  217. package/lib/scene-runtime/eval-bridge.js +44 -0
  218. package/lib/scene-runtime/index.js +19 -0
  219. package/lib/scene-runtime/moqui-adapter.js +620 -0
  220. package/lib/scene-runtime/moqui-client.js +606 -0
  221. package/lib/scene-runtime/moqui-extractor.js +2029 -0
  222. package/lib/scene-runtime/plan-compiler.js +208 -0
  223. package/lib/scene-runtime/policy-gate.js +58 -0
  224. package/lib/scene-runtime/runtime-executor.js +358 -0
  225. package/lib/scene-runtime/scene-loader.js +96 -0
  226. package/lib/scene-runtime/scene-ontology.js +959 -0
  227. package/lib/scene-runtime/scene-template-linter.js +852 -0
  228. package/lib/scene-runtime/templates/scene-template-erp-query-v0.1.yaml +28 -0
  229. package/lib/scene-runtime/templates/scene-template-hybrid-shadow-v0.1.yaml +34 -0
  230. package/lib/spec/bootstrap/context-collector.js +48 -0
  231. package/lib/spec/bootstrap/draft-generator.js +158 -0
  232. package/lib/spec/bootstrap/questionnaire-engine.js +70 -0
  233. package/lib/spec/bootstrap/trace-emitter.js +59 -0
  234. package/lib/spec/multi-spec-orchestrate.js +93 -0
  235. package/lib/spec/pipeline/constants.js +6 -0
  236. package/lib/spec/pipeline/stage-adapters.js +118 -0
  237. package/lib/spec/pipeline/stage-runner.js +146 -0
  238. package/lib/spec/pipeline/state-store.js +119 -0
  239. package/lib/spec-gate/engine/gate-engine.js +165 -0
  240. package/lib/spec-gate/policy/default-policy.js +22 -0
  241. package/lib/spec-gate/policy/policy-loader.js +103 -0
  242. package/lib/spec-gate/result-emitter.js +81 -0
  243. package/lib/spec-gate/rules/default-rules.js +156 -0
  244. package/lib/spec-gate/rules/rule-registry.js +51 -0
  245. package/lib/steering/adoption-config.js +164 -0
  246. package/lib/steering/compliance-auto-fixer.js +204 -0
  247. package/lib/steering/compliance-cache.js +99 -0
  248. package/lib/steering/compliance-error-reporter.js +70 -0
  249. package/lib/steering/context-sync-manager.js +273 -0
  250. package/lib/steering/index.js +92 -0
  251. package/lib/steering/spec-steering.js +230 -0
  252. package/lib/steering/steering-compliance-checker.js +73 -0
  253. package/lib/steering/steering-loader.js +144 -0
  254. package/lib/steering/steering-manager.js +289 -0
  255. package/lib/task/index.js +12 -0
  256. package/lib/task/task-claimer.js +489 -0
  257. package/lib/task/task-status-store.js +418 -0
  258. package/lib/templates/cache-manager.js +440 -0
  259. package/lib/templates/content-generalizer.js +247 -0
  260. package/lib/templates/frontmatter-generator.js +128 -0
  261. package/lib/templates/git-handler.js +471 -0
  262. package/lib/templates/metadata-collector.js +328 -0
  263. package/lib/templates/path-utils.js +144 -0
  264. package/lib/templates/registry-parser.js +505 -0
  265. package/lib/templates/spec-reader.js +216 -0
  266. package/lib/templates/template-applicator.js +249 -0
  267. package/lib/templates/template-creator.js +256 -0
  268. package/lib/templates/template-error.js +143 -0
  269. package/lib/templates/template-exporter.js +502 -0
  270. package/lib/templates/template-manager.js +782 -0
  271. package/lib/templates/template-validator.js +361 -0
  272. package/lib/upgrade/migration-engine.js +382 -0
  273. package/lib/upgrade/migrations/.gitkeep +52 -0
  274. package/lib/upgrade/migrations/1.0.0-to-1.1.0.js +78 -0
  275. package/lib/utils/file-diff.js +177 -0
  276. package/lib/utils/fs-utils.js +274 -0
  277. package/lib/utils/tool-detector.js +383 -0
  278. package/lib/utils/validation.js +324 -0
  279. package/lib/value/gate-summary-emitter.js +99 -0
  280. package/lib/value/metric-contract-loader.js +210 -0
  281. package/lib/value/risk-evaluator.js +117 -0
  282. package/lib/value/weekly-snapshot-builder.js +61 -0
  283. package/lib/version/version-checker.js +156 -0
  284. package/lib/version/version-manager.js +327 -0
  285. package/lib/watch/action-executor.js +458 -0
  286. package/lib/watch/event-debouncer.js +323 -0
  287. package/lib/watch/execution-logger.js +550 -0
  288. package/lib/watch/file-watcher.js +499 -0
  289. package/lib/watch/presets.js +266 -0
  290. package/lib/watch/watch-manager.js +533 -0
  291. package/lib/workspace/multi/global-config.js +150 -0
  292. package/lib/workspace/multi/index.js +22 -0
  293. package/lib/workspace/multi/path-utils.js +173 -0
  294. package/lib/workspace/multi/workspace-context-resolver.js +244 -0
  295. package/lib/workspace/multi/workspace-registry.js +196 -0
  296. package/lib/workspace/multi/workspace-state-manager.js +537 -0
  297. package/lib/workspace/multi/workspace.js +90 -0
  298. package/lib/workspace/workspace-manager.js +370 -0
  299. package/lib/workspace/workspace-sync.js +356 -0
  300. package/locales/en.json +114 -0
  301. package/locales/zh.json +114 -0
  302. package/package.json +102 -0
  303. package/template/.kiro/README.md +247 -0
  304. package/template/.kiro/hooks/check-spec-on-create.kiro.hook +17 -0
  305. package/template/.kiro/hooks/run-tests-on-save.kiro.hook +13 -0
  306. package/template/.kiro/hooks/sync-tasks-on-edit.kiro.hook +16 -0
  307. package/template/.kiro/specs/SPEC_WORKFLOW_GUIDE.md +134 -0
  308. package/template/.kiro/steering/CORE_PRINCIPLES.md +133 -0
  309. package/template/.kiro/steering/CURRENT_CONTEXT.md +30 -0
  310. package/template/.kiro/steering/ENVIRONMENT.md +35 -0
  311. package/template/.kiro/steering/RULES_GUIDE.md +46 -0
  312. package/template/.kiro/templates/operations/default/change-impact.md +112 -0
  313. package/template/.kiro/templates/operations/default/deployment.md +91 -0
  314. package/template/.kiro/templates/operations/default/feedback-response.md +269 -0
  315. package/template/.kiro/templates/operations/default/migration-plan.md +172 -0
  316. package/template/.kiro/templates/operations/default/monitoring.md +135 -0
  317. package/template/.kiro/templates/operations/default/operations.md +135 -0
  318. package/template/.kiro/templates/operations/default/rollback.md +143 -0
  319. package/template/.kiro/templates/operations/default/tools.yaml +364 -0
  320. package/template/.kiro/templates/operations/default/troubleshooting.md +123 -0
  321. package/template/.kiro/tools/backup_manager.py +295 -0
  322. package/template/.kiro/tools/configuration_manager.py +218 -0
  323. package/template/.kiro/tools/document_evaluator.py +550 -0
  324. package/template/.kiro/tools/enhancement_logger.py +168 -0
  325. package/template/.kiro/tools/error_handler.py +335 -0
  326. package/template/.kiro/tools/improvement_identifier.py +444 -0
  327. package/template/.kiro/tools/modification_applicator.py +737 -0
  328. package/template/.kiro/tools/quality_gate_enforcer.py +207 -0
  329. package/template/.kiro/tools/quality_scorer.py +305 -0
  330. package/template/.kiro/tools/report_generator.py +154 -0
  331. package/template/.kiro/tools/ultrawork_enhancer.py +676 -0
  332. package/template/.kiro/tools/ultrawork_enhancer_refactored.py +0 -0
  333. package/template/.kiro/tools/ultrawork_enhancer_v2.py +463 -0
  334. package/template/.kiro/tools/ultrawork_enhancer_v3.py +606 -0
  335. package/template/.kiro/tools/workflow_quality_gate.py +100 -0
  336. package/template/README.md +111 -0
@@ -0,0 +1,519 @@
1
+ # Spec Workflow Guide
2
+
3
+ > Understanding the Spec-driven development workflow in kse
4
+
5
+ ---
6
+
7
+ **Version**: 1.42.0
8
+ **Last Updated**: 2026-02-11
9
+ **Audience**: Intermediate
10
+ **Estimated Time**: 10 minutes
11
+
12
+ ---
13
+
14
+ ## Overview
15
+
16
+ A **Spec** (specification) is the fundamental unit of work in kse. It's a structured description of a feature or component that guides both human developers and AI assistants through the implementation process.
17
+
18
+ Every Spec follows a three-stage workflow: **Requirements → Design → Tasks**
19
+
20
+ ---
21
+
22
+ ## Spec Naming and Numbering
23
+
24
+ Before creating a Spec, you need to choose a name following the format: `{major}-{minor}-{description}`
25
+
26
+ ### Quick Numbering Guide
27
+
28
+ **Format**: `XX-YY-feature-name`
29
+ - `XX` = Major number (01, 02, 03, ...)
30
+ - `YY` = Minor number (00, 01, 02, ...)
31
+ - `feature-name` = kebab-case description
32
+
33
+ **Common Strategies**:
34
+
35
+ 1. **Simple Projects** (recommended for most cases):
36
+ ```
37
+ 01-00-user-authentication
38
+ 02-00-payment-system
39
+ 03-00-notification-service
40
+ ```
41
+ Use major numbers only (minor always `00`) for independent features.
42
+
43
+ 2. **Complex Projects** (grouped by domain):
44
+ ```
45
+ 01-00-auth-foundation
46
+ 01-01-auth-add-oauth
47
+ 01-02-auth-add-2fa
48
+ 02-00-payment-mvp
49
+ 02-01-payment-subscriptions
50
+ ```
51
+ Group related features under the same major number.
52
+
53
+ 3. **Hybrid Approach** (flexible):
54
+ Start simple, add structure when needed. Use `XX-00` for independent features, introduce `XX-01+` when iterations are needed.
55
+
56
+ **Decision Tree**:
57
+ - First Spec? → Use `01-00-{name}`
58
+ - Related to existing Spec? → Same major, increment minor
59
+ - Independent feature? → Next major number with `-00`
60
+
61
+ 📖 **For detailed guidance, see**: [Spec Numbering Strategy Guide](spec-numbering-guide.md)
62
+
63
+ ---
64
+
65
+ ## The Spec Creation Workflow
66
+
67
+ ```mermaid
68
+ graph LR
69
+ A[Idea/Feature Request] --> B[Requirements]
70
+ B --> C[Design]
71
+ C --> D[Tasks]
72
+ D --> E[Implementation]
73
+ E --> F[Completion]
74
+ F --> G[Archive/Document]
75
+ ```
76
+
77
+ ### Stage Descriptions
78
+
79
+ 1. **Idea/Feature Request** - The initial concept or need
80
+ 2. **Requirements** - What you're building and why (user stories, acceptance criteria)
81
+ 3. **Design** - How you'll build it (architecture, APIs, components)
82
+ 4. **Tasks** - Step-by-step implementation plan
83
+ 5. **Implementation** - Actual coding (often AI-assisted)
84
+ 6. **Completion** - All tasks done, feature working
85
+ 7. **Archive/Document** - Spec serves as documentation
86
+
87
+ ---
88
+
89
+ ## Stage 1: Requirements
90
+
91
+ **Purpose:** Define WHAT you're building and WHY
92
+
93
+ **File:** `requirements.md`
94
+
95
+ **Key Components:**
96
+ - **Overview** - Brief description of the feature
97
+ - **User Stories** - "As a... I want... So that..."
98
+ - **Functional Requirements** - Specific capabilities the system must have
99
+ - **Acceptance Criteria** - "WHEN... THEN..." statements
100
+ - **Non-Functional Requirements** - Performance, security, usability
101
+
102
+ **Example Structure:**
103
+
104
+ ```markdown
105
+ # Feature Name
106
+
107
+ ## Overview
108
+ Brief description of what this feature does
109
+
110
+ ## User Stories
111
+ - As a [user type], I want to [action], so that [benefit]
112
+
113
+ ## Functional Requirements
114
+ ### FR-1: Requirement Name
115
+ Description of what the system must do
116
+
117
+ ## Acceptance Criteria
118
+ - WHEN [condition] THEN [expected result]
119
+
120
+ ## Non-Functional Requirements
121
+ - Performance: Response time < 500ms
122
+ - Security: Data encrypted at rest
123
+ ```
124
+
125
+ **Best Practices:**
126
+ - ✅ Write from user perspective
127
+ - ✅ Be specific and measurable
128
+ - ✅ Include edge cases
129
+ - ✅ Consider security and performance
130
+ - ❌ Don't include implementation details (that's for Design)
131
+
132
+ ---
133
+
134
+ ## Stage 2: Design
135
+
136
+ **Purpose:** Define HOW you'll build it
137
+
138
+ **File:** `design.md`
139
+
140
+ **Key Components:**
141
+ - **Architecture Overview** - High-level system structure
142
+ - **Component Design** - Individual components and their responsibilities
143
+ - **API Design** - Endpoints, request/response formats
144
+ - **Data Models** - Database schemas, data structures
145
+ - **Technology Stack** - Languages, frameworks, libraries
146
+ - **Requirements Traceability** - Map requirements to design components
147
+
148
+ **Example Structure:**
149
+
150
+ ```markdown
151
+ # Feature Name - Design
152
+
153
+ ## Architecture
154
+
155
+ ```mermaid
156
+ graph TD
157
+ A[Component A] --> B[Component B]
158
+ B --> C[Database]
159
+ ```
160
+
161
+ ## API Design
162
+ ### POST /api/endpoint
163
+ Request: { ... }
164
+ Response: { ... }
165
+
166
+ ## Component Design
167
+ ### ComponentName
168
+ **Responsibility:** What it does
169
+ **Methods:**
170
+ - method1() - Description
171
+ - method2() - Description
172
+
173
+ ## Data Models
174
+ ```javascript
175
+ {
176
+ field1: type,
177
+ field2: type
178
+ }
179
+ ```
180
+
181
+ ## Technology Stack
182
+ - Backend: Node.js + Express
183
+ - Database: PostgreSQL
184
+
185
+ ## Requirements Traceability
186
+ | Requirement | Design Component |
187
+ |-------------|------------------|
188
+ | FR-1 | ComponentA.method1() |
189
+ ```
190
+
191
+ **Best Practices:**
192
+ - ✅ Use diagrams to visualize architecture
193
+ - ✅ Define clear component responsibilities
194
+ - ✅ Specify all APIs and data formats
195
+ - ✅ Link back to requirements
196
+ - ❌ Don't skip the traceability section
197
+
198
+ ---
199
+
200
+ ## Stage 3: Tasks
201
+
202
+ **Purpose:** Break down implementation into actionable steps
203
+
204
+ **File:** `tasks.md`
205
+
206
+ **Key Components:**
207
+ - **Task List** - Checkbox list of implementation steps
208
+ - **Task Hierarchy** - Organized by phase or component
209
+ - **Task IDs** - Numbered for easy reference (1.1, 1.2, 2.1, etc.)
210
+ - **Dependencies** - Implicit through ordering
211
+
212
+ **Example Structure:**
213
+
214
+ ```markdown
215
+ # Feature Name - Tasks
216
+
217
+ ## Phase 1: Setup
218
+ - [ ] 1.1 Set up project structure
219
+ - [ ] 1.2 Install dependencies
220
+ - [ ] 1.3 Configure environment
221
+
222
+ ## Phase 2: Core Implementation
223
+ - [ ] 2.1 Implement ComponentA
224
+ - [ ] 2.1.1 Create class structure
225
+ - [ ] 2.1.2 Implement method1()
226
+ - [ ] 2.1.3 Write unit tests
227
+ - [ ] 2.2 Implement ComponentB
228
+
229
+ ## Phase 3: Integration
230
+ - [ ] 3.1 Connect components
231
+ - [ ] 3.2 Integration testing
232
+ - [ ] 3.3 End-to-end testing
233
+
234
+ ## Phase 4: Documentation
235
+ - [ ] 4.1 API documentation
236
+ - [ ] 4.2 User guide
237
+ ```
238
+
239
+ **Best Practices:**
240
+ - ✅ Break large tasks into subtasks
241
+ - ✅ Order tasks logically (dependencies first)
242
+ - ✅ Include testing tasks
243
+ - ✅ Be specific enough for AI to understand
244
+ - ❌ Don't make tasks too granular (not every line of code)
245
+
246
+ ---
247
+
248
+ ## The Complete Workflow in Action
249
+
250
+ ### Example: User Login Feature
251
+
252
+ **1. Create the Spec:**
253
+ ```bash
254
+ kse spec bootstrap --name 01-00-user-login --non-interactive
255
+ ```
256
+
257
+ **2. Write Requirements** (`.kiro/specs/01-00-user-login/requirements.md`):
258
+ ```markdown
259
+ # User Login
260
+
261
+ ## User Stories
262
+ - As a user, I want to log in with email and password
263
+
264
+ ## Acceptance Criteria
265
+ - WHEN user enters valid credentials THEN they are logged in
266
+ - WHEN user enters invalid credentials THEN they see an error
267
+ ```
268
+
269
+ **3. Write Design** (`.kiro/specs/01-00-user-login/design.md`):
270
+ ```markdown
271
+ # User Login - Design
272
+
273
+ ## API Design
274
+ POST /api/auth/login
275
+ Request: { email, password }
276
+ Response: { token } or { error }
277
+
278
+ ## Components
279
+ - AuthController - handles login requests
280
+ - AuthService - validates credentials
281
+ - UserRepository - database access
282
+ ```
283
+
284
+ **4. Write Tasks** (`.kiro/specs/01-00-user-login/tasks.md`):
285
+ ```markdown
286
+ - [ ] 1.1 Create AuthController
287
+ - [ ] 1.2 Create AuthService
288
+ - [ ] 1.3 Create UserRepository
289
+ - [ ] 1.4 Implement login endpoint
290
+ - [ ] 1.5 Write tests
291
+ ```
292
+
293
+ **5. Export Context:**
294
+ ```bash
295
+ kse context export 01-00-user-login
296
+ ```
297
+
298
+ **6. Implement with AI:**
299
+ - Provide context to your AI tool
300
+ - AI implements tasks based on your Spec
301
+ - Update task checkboxes as you complete them
302
+
303
+ **7. Track Progress:**
304
+ ```bash
305
+ kse status
306
+ ```
307
+
308
+ **8. Maintain Document Governance:**
309
+ ```bash
310
+ # Check for document violations
311
+ kse docs diagnose
312
+
313
+ # Clean up temporary files
314
+ kse docs cleanup --spec 01-00-user-login
315
+
316
+ # Organize artifacts (reports, scripts, etc.)
317
+ kse docs archive --spec 01-00-user-login
318
+
319
+ # Validate final structure
320
+ kse docs validate --spec 01-00-user-login
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Workflow Variations
326
+
327
+ ### Iterative Refinement
328
+
329
+ You don't have to complete all three stages before starting implementation:
330
+
331
+ ```mermaid
332
+ graph TD
333
+ A[Write Basic Requirements] --> B[Write Basic Design]
334
+ B --> C[Write First Tasks]
335
+ C --> D[Implement First Tasks]
336
+ D --> E{Need More Detail?}
337
+ E -->|Yes| F[Refine Requirements/Design]
338
+ F --> C
339
+ E -->|No| G[Continue Implementation]
340
+ ```
341
+
342
+ **When to use:**
343
+ - Exploring new features
344
+ - Prototyping
345
+ - Learning new technologies
346
+
347
+ ### Waterfall Approach
348
+
349
+ Complete each stage fully before moving to the next:
350
+
351
+ ```mermaid
352
+ graph TD
353
+ A[Complete Requirements] --> B[Review Requirements]
354
+ B --> C[Complete Design]
355
+ C --> D[Review Design]
356
+ D --> E[Complete Tasks]
357
+ E --> F[Begin Implementation]
358
+ ```
359
+
360
+ **When to use:**
361
+ - Well-understood features
362
+ - Critical systems
363
+ - Team collaboration (clear handoffs)
364
+
365
+ ---
366
+
367
+ ## Integration with AI Tools
368
+
369
+ ### Context Export Workflow
370
+
371
+ ```mermaid
372
+ sequenceDiagram
373
+ participant Dev as Developer
374
+ participant kse as kse
375
+ participant AI as AI Tool
376
+
377
+ Dev->>kse: Create Spec (requirements, design, tasks)
378
+ Dev->>kse: kse context export spec-name
379
+ kse->>Dev: context-export.md
380
+ Dev->>AI: Provide context
381
+ AI->>Dev: Generate code
382
+ Dev->>kse: Update task status
383
+ Dev->>kse: kse status (check progress)
384
+ ```
385
+
386
+ ### Automated Workflow (Windsurf/Cline)
387
+
388
+ ```mermaid
389
+ sequenceDiagram
390
+ participant Dev as Developer
391
+ participant AI as AI Tool
392
+ participant kse as kse
393
+
394
+ Dev->>AI: "Implement user login feature"
395
+ AI->>kse: kse context export 01-00-user-login
396
+ kse->>AI: Return context
397
+ AI->>AI: Generate code
398
+ AI->>kse: kse task claim 01-00-user-login 1.1
399
+ AI->>Dev: Code generated, task claimed
400
+ ```
401
+
402
+ ---
403
+
404
+ ## Best Practices
405
+
406
+ ### Requirements Stage
407
+ 1. **Start with user stories** - Understand the user's perspective
408
+ 2. **Use EARS format** for acceptance criteria (WHEN... THEN...)
409
+ 3. **Include non-functional requirements** - Don't forget performance, security
410
+ 4. **Think about edge cases** - What could go wrong?
411
+
412
+ ### Design Stage
413
+ 1. **Visualize with diagrams** - A picture is worth a thousand words
414
+ 2. **Define clear interfaces** - APIs, method signatures, data formats
415
+ 3. **Maintain traceability** - Link every design decision to a requirement
416
+ 4. **Choose appropriate technologies** - Document your tech stack
417
+
418
+ ### Tasks Stage
419
+ 1. **Break down logically** - Group related tasks into phases
420
+ 2. **Order by dependencies** - What needs to be done first?
421
+ 3. **Include testing** - Every feature needs tests
422
+ 4. **Be AI-friendly** - Tasks should be clear enough for AI to implement
423
+
424
+ ### Document Governance
425
+ 1. **Keep Specs clean** - Use `kse docs archive` to organize artifacts
426
+ 2. **Remove temporary files** - Use `kse docs cleanup` regularly
427
+ 3. **Validate structure** - Use `kse docs validate` before committing
428
+ 4. **Install Git hooks** - Use `kse docs hooks install` to prevent violations
429
+
430
+ ### Throughout
431
+ 1. **Keep it updated** - Specs are living documents
432
+ 2. **Use version control** - Commit Spec changes
433
+ 3. **Review regularly** - Ensure Spec matches implementation
434
+ 4. **Archive completed Specs** - They become documentation
435
+
436
+ ---
437
+
438
+ ## Common Pitfalls
439
+
440
+ ### ❌ Too Vague
441
+ **Bad:**
442
+ ```markdown
443
+ - [ ] Make login work
444
+ ```
445
+
446
+ **Good:**
447
+ ```markdown
448
+ - [ ] 1.1 Implement AuthController.login() method
449
+ - Accept email and password
450
+ - Validate inputs
451
+ - Return JWT token on success
452
+ - Return error message on failure
453
+ ```
454
+
455
+ ### ❌ Too Detailed
456
+ **Bad:**
457
+ ```markdown
458
+ - [ ] 1.1 Create variable named 'email'
459
+ - [ ] 1.2 Create variable named 'password'
460
+ - [ ] 1.3 Write if statement to check email
461
+ ```
462
+
463
+ **Good:**
464
+ ```markdown
465
+ - [ ] 1.1 Implement input validation
466
+ - Validate email format
467
+ - Validate password length
468
+ - Return validation errors
469
+ ```
470
+
471
+ ### ❌ Missing Traceability
472
+ **Bad:** Design with no connection to requirements
473
+
474
+ **Good:** Design with clear traceability table:
475
+ ```markdown
476
+ | Requirement | Design Component |
477
+ |-------------|------------------|
478
+ | FR-1: User can log in | AuthController.login() |
479
+ | FR-2: Validate inputs | ValidationService |
480
+ ```
481
+
482
+ ---
483
+
484
+ ## Related Documentation
485
+
486
+ - **[Quick Start Guide](quick-start.md)** - Get started with your first Spec
487
+ - **[Document Governance](document-governance.md)** - Keep your Specs clean and organized
488
+ - **[Integration Modes](integration-modes.md)** - How to use Specs with AI tools
489
+ - **[Command Reference](command-reference.md)** - All kse commands
490
+ - **[Examples](examples/)** - Complete example Specs
491
+
492
+ ---
493
+
494
+ ## Summary
495
+
496
+ The Spec workflow is:
497
+ 1. **Requirements** - Define WHAT and WHY
498
+ 2. **Design** - Define HOW
499
+ 3. **Tasks** - Define STEPS
500
+ 4. **Implementation** - Build it (with AI assistance)
501
+ 5. **Completion** - Verify and document
502
+
503
+ **Key Benefits:**
504
+ - ✅ Clear structure for features
505
+ - ✅ Better AI assistance (AI understands your intent)
506
+ - ✅ Built-in documentation
507
+ - ✅ Progress tracking
508
+ - ✅ Team collaboration
509
+
510
+ **Start your next Spec:** 🚀
511
+ ```bash
512
+ kse spec bootstrap --name 02-00-your-feature --non-interactive
513
+ ```
514
+
515
+ ---
516
+
517
+ **Version**: 1.42.0
518
+ **Last Updated**: 2026-02-11
519
+
@@ -0,0 +1,196 @@
1
+ # Steering Strategy Guide
2
+
3
+ ## Overview
4
+
5
+ When adopting kiro-spec-engine (kse) into a project that already has steering files in `.kiro/steering/`, you must choose a steering strategy. This is because Kiro IDE loads all files in the steering directory, and having both kse steering rules and your project's custom steering rules can cause conflicts.
6
+
7
+ ## Why Steering Exclusivity?
8
+
9
+ Kiro IDE automatically loads all Markdown files in `.kiro/steering/` as AI behavior rules. If you have both kse steering files and your project's custom steering files, the AI will try to follow both sets of rules, which can lead to:
10
+
11
+ - Conflicting instructions
12
+ - Unpredictable AI behavior
13
+ - Confusion about which rules take precedence
14
+
15
+ Therefore, you must choose **one** set of steering rules to use.
16
+
17
+ ## Steering Strategies
18
+
19
+ ### Strategy 1: Use kse Steering (Recommended for New Users)
20
+
21
+ **When to choose:**
22
+ - You're new to kse and want to use the recommended steering rules
23
+ - You don't have critical custom steering rules
24
+ - You want the full kse experience with optimized AI behavior
25
+
26
+ **What happens:**
27
+ 1. Your existing steering files are backed up to `.kiro/backups/steering-{timestamp}/`
28
+ 2. kse steering template files are installed to `.kiro/steering/`
29
+ 3. The backup ID is saved in `.kiro/adoption-config.json`
30
+ 4. You can rollback if needed
31
+
32
+ **Files installed:**
33
+ - `CORE_PRINCIPLES.md` - Core development principles and Spec workflow
34
+ - `ENVIRONMENT.md` - Project environment configuration
35
+ - `CURRENT_CONTEXT.md` - Current Spec context (updated per Spec)
36
+ - `RULES_GUIDE.md` - Index of steering rules
37
+
38
+ ### Strategy 2: Use Project Steering (Keep Existing)
39
+
40
+ **When to choose:**
41
+ - You have custom steering rules that are critical to your project
42
+ - You want to integrate kse without changing your AI behavior rules
43
+ - You're experienced with steering files and want full control
44
+
45
+ **What happens:**
46
+ 1. Your existing steering files are preserved
47
+ 2. kse steering files are **not** installed
48
+ 3. The choice is documented in `.kiro/adoption-config.json`
49
+ 4. You can manually integrate kse steering concepts if desired
50
+
51
+ **Trade-offs:**
52
+ - You won't get kse's optimized AI behavior out of the box
53
+ - You'll need to manually add kse-specific steering rules if needed
54
+ - Spec workflow may not work as smoothly without kse steering
55
+
56
+ ## Adoption Flow
57
+
58
+ ```
59
+ kse adopt
60
+
61
+ Detect existing steering files
62
+
63
+ ├─ No steering files → Install kse steering (default)
64
+
65
+ └─ Steering files found → Prompt for strategy
66
+
67
+ ├─ use-kse → Backup existing → Install kse steering
68
+
69
+ └─ use-project → Keep existing → Skip kse steering
70
+ ```
71
+
72
+ ## Rollback
73
+
74
+ If you chose "use-kse" and want to restore your original steering files:
75
+
76
+ ```bash
77
+ # List available backups
78
+ kse rollback --list
79
+
80
+ # Restore from backup
81
+ kse rollback {backup-id}
82
+ ```
83
+
84
+ Or manually restore from `.kiro/backups/steering-{timestamp}/`.
85
+
86
+ ## Manual Integration
87
+
88
+ If you chose "use-project" but want to incorporate kse steering concepts:
89
+
90
+ 1. Review kse steering templates in `template/.kiro/steering/`
91
+ 2. Identify useful concepts (Spec workflow, Ultrawork principles, etc.)
92
+ 3. Manually merge relevant sections into your steering files
93
+ 4. Test with a sample Spec to ensure compatibility
94
+
95
+ ## Configuration File
96
+
97
+ Your steering strategy choice is saved in `.kiro/adoption-config.json`:
98
+
99
+ ```json
100
+ {
101
+ "version": "1.0.0",
102
+ "adoptedAt": "2026-01-23T10:00:00.000Z",
103
+ "steeringStrategy": "use-kse",
104
+ "steeringBackupId": "steering-2026-01-23T10-00-00-000Z",
105
+ "multiUserMode": false,
106
+ "lastUpdated": "2026-01-23T10:00:00.000Z"
107
+ }
108
+ ```
109
+
110
+ ## Best Practices
111
+
112
+ ### For New kse Users
113
+
114
+ 1. **Choose "use-kse"** to get the full experience
115
+ 2. Review the installed steering files to understand kse workflow
116
+ 3. Customize `ENVIRONMENT.md` for your project specifics
117
+ 4. Update `CURRENT_CONTEXT.md` as you work on different Specs
118
+
119
+ ### For Experienced Users
120
+
121
+ 1. **Choose "use-project"** if you have mature steering rules
122
+ 2. Review kse steering templates for useful patterns
123
+ 3. Consider creating a hybrid approach:
124
+ - Keep your core steering rules
125
+ - Add kse-specific rules in separate files
126
+ - Use file naming to control load order (e.g., `00-core.md`, `10-kse.md`)
127
+
128
+ ### For Teams
129
+
130
+ 1. **Discuss strategy** with your team before adoption
131
+ 2. **Document the choice** in your project README
132
+ 3. **Version control** your steering files (if using custom rules)
133
+ 4. **Share backups** if team members need to rollback
134
+
135
+ ## Troubleshooting
136
+
137
+ ### Problem: AI behavior is inconsistent after adoption
138
+
139
+ **Solution:**
140
+ - Check which steering strategy you chose: `cat .kiro/adoption-config.json`
141
+ - If "use-kse", verify kse steering files are present
142
+ - If "use-project", ensure your steering files are compatible with kse
143
+
144
+ ### Problem: Want to switch strategies after adoption
145
+
146
+ **Solution:**
147
+ 1. If currently "use-kse":
148
+ ```bash
149
+ kse rollback {steering-backup-id}
150
+ ```
151
+
152
+ 2. If currently "use-project":
153
+ - Manually backup your steering files
154
+ - Copy kse templates from `template/.kiro/steering/`
155
+ - Update `.kiro/adoption-config.json`
156
+
157
+ ### Problem: Lost steering backup
158
+
159
+ **Solution:**
160
+ - Check `.kiro/backups/` for steering backups
161
+ - Backups are named `steering-{timestamp}`
162
+ - If no backup exists, you'll need to recreate your steering files
163
+
164
+ ## FAQ
165
+
166
+ **Q: Can I use both kse and project steering files?**
167
+
168
+ A: No, due to Kiro IDE's behavior. You must choose one set of rules.
169
+
170
+ **Q: Will my Specs work without kse steering?**
171
+
172
+ A: Yes, but the AI may not follow kse workflow conventions as closely.
173
+
174
+ **Q: Can I modify kse steering files after installation?**
175
+
176
+ A: Yes! kse steering files are templates. Customize them for your project.
177
+
178
+ **Q: What if I don't have any steering files?**
179
+
180
+ A: kse will automatically install its steering files (no choice needed).
181
+
182
+ **Q: Can I switch strategies later?**
183
+
184
+ A: Yes, but you'll need to manually manage the steering files and update the config.
185
+
186
+ ## Related Documentation
187
+
188
+ - [Adoption Guide](./adoption-guide.md) - Complete adoption workflow
189
+ - [Spec Workflow Guide](../.kiro/specs/SPEC_WORKFLOW_GUIDE.md) - How to use Specs
190
+ - [Steering Files](../.kiro/steering/) - kse steering templates
191
+
192
+ ---
193
+
194
+ **Version**: 1.42.0
195
+ **Last Updated**: 2026-02-11
196
+ **Spec**: 03-00-multi-user-and-cross-tool-support