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.
- package/CHANGELOG.md +2513 -0
- package/LICENSE +21 -0
- package/README.md +765 -0
- package/README.zh.md +630 -0
- package/bin/kiro-spec-engine.js +796 -0
- package/bin/kse.js +3 -0
- package/bin/sce.js +3 -0
- package/bin/sco.js +3 -0
- package/docs/331-poc-adaptation-roadmap.md +156 -0
- package/docs/331-poc-dual-track-integration-guide.md +120 -0
- package/docs/331-poc-weekly-delivery-checklist.md +52 -0
- package/docs/OFFLINE_INSTALL.md +96 -0
- package/docs/README.md +279 -0
- package/docs/adopt-migration-guide.md +599 -0
- package/docs/adoption-guide.md +616 -0
- package/docs/agent-hooks-analysis.md +815 -0
- package/docs/architecture.md +733 -0
- package/docs/articles/ai-driven-development-philosophy-and-practice-review.md +208 -0
- package/docs/articles/ai-driven-development-philosophy-and-practice.en.md +459 -0
- package/docs/articles/ai-driven-development-philosophy-and-practice.md +492 -0
- package/docs/autonomous-control-guide.md +851 -0
- package/docs/command-reference.md +1368 -0
- package/docs/community.md +115 -0
- package/docs/cross-tool-guide.md +555 -0
- package/docs/developer-guide.md +619 -0
- package/docs/document-governance.md +865 -0
- package/docs/environment-management-guide.md +526 -0
- package/docs/examples/add-export-command/design.md +194 -0
- package/docs/examples/add-export-command/requirements.md +110 -0
- package/docs/examples/add-export-command/tasks.md +88 -0
- package/docs/examples/add-rest-api/design.md +855 -0
- package/docs/examples/add-rest-api/requirements.md +323 -0
- package/docs/examples/add-rest-api/tasks.md +355 -0
- package/docs/examples/add-user-dashboard/design.md +192 -0
- package/docs/examples/add-user-dashboard/requirements.md +143 -0
- package/docs/examples/add-user-dashboard/tasks.md +91 -0
- package/docs/faq.md +697 -0
- package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.json +156 -0
- package/docs/handoffs/evidence/ontology/moqui-template-baseline-2026-02-17-232922.md +24 -0
- package/docs/images/wechat-qr.png +0 -0
- package/docs/integration-modes.md +529 -0
- package/docs/integration-philosophy.md +313 -0
- package/docs/knowledge-management-guide.md +263 -0
- package/docs/manual-workflows-guide.md +418 -0
- package/docs/moqui-capability-matrix.md +73 -0
- package/docs/moqui-template-core-library-playbook.md +109 -0
- package/docs/multi-agent-coordination-guide.md +553 -0
- package/docs/multi-repo-management-guide.md +1344 -0
- package/docs/quick-start-with-ai-tools.md +375 -0
- package/docs/quick-start.md +146 -0
- package/docs/release-checklist.md +121 -0
- package/docs/releases/README.md +13 -0
- package/docs/releases/v1.46.2-validation.md +45 -0
- package/docs/releases/v1.46.2.md +50 -0
- package/docs/scene-runtime-guide.md +347 -0
- package/docs/spec-collaboration-guide.md +369 -0
- package/docs/spec-locking-guide.md +225 -0
- package/docs/spec-numbering-guide.md +348 -0
- package/docs/spec-workflow.md +519 -0
- package/docs/steering-strategy-guide.md +196 -0
- package/docs/team-collaboration-guide.md +465 -0
- package/docs/testing-strategy.md +272 -0
- package/docs/tools/claude-guide.md +654 -0
- package/docs/tools/cursor-guide.md +706 -0
- package/docs/tools/generic-guide.md +446 -0
- package/docs/tools/kiro-guide.md +308 -0
- package/docs/tools/vscode-guide.md +445 -0
- package/docs/tools/windsurf-guide.md +391 -0
- package/docs/troubleshooting.md +1135 -0
- package/docs/upgrade-guide.md +639 -0
- package/docs/value-observability-guide.md +127 -0
- package/docs/zh/README.md +341 -0
- package/docs/zh/quick-start.md +764 -0
- package/docs/zh/release-checklist.md +121 -0
- package/docs/zh/releases/README.md +13 -0
- package/docs/zh/releases/v1.46.2-validation.md +45 -0
- package/docs/zh/releases/v1.46.2.md +50 -0
- package/docs/zh/spec-numbering-guide.md +348 -0
- package/docs/zh/tools/claude-guide.md +349 -0
- package/docs/zh/tools/cursor-guide.md +281 -0
- package/docs/zh/tools/generic-guide.md +499 -0
- package/docs/zh/tools/kiro-guide.md +342 -0
- package/docs/zh/tools/vscode-guide.md +449 -0
- package/docs/zh/tools/windsurf-guide.md +378 -0
- package/docs/zh/value-observability-guide.md +127 -0
- package/docs//344/272/244/344/273/230/346/270/205/345/215/225.md +75 -0
- package/lib/adoption/adoption-logger.js +487 -0
- package/lib/adoption/adoption-strategy.js +538 -0
- package/lib/adoption/backup-manager.js +420 -0
- package/lib/adoption/conflict-resolver.js +410 -0
- package/lib/adoption/detection-engine.js +275 -0
- package/lib/adoption/diff-viewer.js +226 -0
- package/lib/adoption/error-formatter.js +509 -0
- package/lib/adoption/file-classifier.js +385 -0
- package/lib/adoption/progress-reporter.js +534 -0
- package/lib/adoption/smart-orchestrator.js +470 -0
- package/lib/adoption/strategy-selector.js +218 -0
- package/lib/adoption/summary-generator.js +493 -0
- package/lib/adoption/template-sync.js +605 -0
- package/lib/auto/autonomous-engine.js +485 -0
- package/lib/auto/checkpoint-manager.js +300 -0
- package/lib/auto/close-loop-runner.js +2476 -0
- package/lib/auto/config-schema.js +176 -0
- package/lib/auto/decision-engine.js +344 -0
- package/lib/auto/error-recovery-manager.js +580 -0
- package/lib/auto/goal-decomposer.js +278 -0
- package/lib/auto/progress-tracker.js +502 -0
- package/lib/auto/safety-manager.js +186 -0
- package/lib/auto/semantic-decomposer.js +137 -0
- package/lib/auto/state-manager.js +126 -0
- package/lib/auto/task-queue-manager.js +340 -0
- package/lib/backup/backup-system.js +372 -0
- package/lib/backup/selective-backup.js +207 -0
- package/lib/collab/agent-registry.js +240 -0
- package/lib/collab/collab-manager.js +285 -0
- package/lib/collab/contract-manager.js +320 -0
- package/lib/collab/coordinator.js +370 -0
- package/lib/collab/dependency-manager.js +280 -0
- package/lib/collab/index.js +20 -0
- package/lib/collab/integration-manager.js +202 -0
- package/lib/collab/merge-coordinator.js +252 -0
- package/lib/collab/metadata-manager.js +233 -0
- package/lib/collab/multi-agent-config.js +120 -0
- package/lib/collab/spec-lifecycle-manager.js +304 -0
- package/lib/collab/sync-barrier.js +88 -0
- package/lib/collab/visualizer.js +208 -0
- package/lib/commands/adopt.js +749 -0
- package/lib/commands/auto.js +19559 -0
- package/lib/commands/collab.js +275 -0
- package/lib/commands/context.js +99 -0
- package/lib/commands/docs.js +808 -0
- package/lib/commands/doctor.js +273 -0
- package/lib/commands/env.js +420 -0
- package/lib/commands/knowledge.js +309 -0
- package/lib/commands/lock.js +235 -0
- package/lib/commands/ops.js +409 -0
- package/lib/commands/orchestrate.js +446 -0
- package/lib/commands/prompt.js +105 -0
- package/lib/commands/repo.js +118 -0
- package/lib/commands/rollback.js +219 -0
- package/lib/commands/scene.js +15549 -0
- package/lib/commands/spec-bootstrap.js +147 -0
- package/lib/commands/spec-gate.js +157 -0
- package/lib/commands/spec-pipeline.js +205 -0
- package/lib/commands/status.js +321 -0
- package/lib/commands/task.js +199 -0
- package/lib/commands/templates.js +654 -0
- package/lib/commands/upgrade.js +231 -0
- package/lib/commands/value.js +569 -0
- package/lib/commands/watch.js +684 -0
- package/lib/commands/workflows.js +240 -0
- package/lib/commands/workspace-multi.js +325 -0
- package/lib/commands/workspace.js +189 -0
- package/lib/context/context-exporter.js +378 -0
- package/lib/context/prompt-generator.js +482 -0
- package/lib/data/moqui-capability-lexicon.json +45 -0
- package/lib/environment/backup-system.js +189 -0
- package/lib/environment/environment-manager.js +379 -0
- package/lib/environment/environment-registry.js +168 -0
- package/lib/gitignore/gitignore-backup.js +229 -0
- package/lib/gitignore/gitignore-detector.js +239 -0
- package/lib/gitignore/gitignore-integration.js +267 -0
- package/lib/gitignore/gitignore-transformer.js +193 -0
- package/lib/gitignore/layered-rules-template.js +42 -0
- package/lib/governance/archive-tool.js +284 -0
- package/lib/governance/cleanup-tool.js +237 -0
- package/lib/governance/config-manager.js +186 -0
- package/lib/governance/diagnostic-engine.js +271 -0
- package/lib/governance/doc-reference-checker.js +200 -0
- package/lib/governance/execution-logger.js +243 -0
- package/lib/governance/file-scanner.js +285 -0
- package/lib/governance/hooks-manager.js +333 -0
- package/lib/governance/reporter.js +337 -0
- package/lib/governance/validation-engine.js +181 -0
- package/lib/i18n.js +79 -0
- package/lib/knowledge/entry-manager.js +208 -0
- package/lib/knowledge/index-manager.js +261 -0
- package/lib/knowledge/knowledge-manager.js +273 -0
- package/lib/knowledge/template-manager.js +191 -0
- package/lib/lock/index.js +21 -0
- package/lib/lock/lock-file.js +192 -0
- package/lib/lock/lock-manager.js +321 -0
- package/lib/lock/machine-identifier.js +135 -0
- package/lib/lock/steering-file-lock.js +207 -0
- package/lib/lock/task-lock-manager.js +345 -0
- package/lib/operations/audit-logger.js +293 -0
- package/lib/operations/feedback-manager.js +1147 -0
- package/lib/operations/index.js +23 -0
- package/lib/operations/models/index.js +170 -0
- package/lib/operations/operations-manager.js +151 -0
- package/lib/operations/operations-validator.js +280 -0
- package/lib/operations/permission-manager.js +354 -0
- package/lib/operations/template-loader.js +143 -0
- package/lib/orchestrator/agent-spawner.js +629 -0
- package/lib/orchestrator/bootstrap-prompt-builder.js +236 -0
- package/lib/orchestrator/index.js +19 -0
- package/lib/orchestrator/orchestration-engine.js +1270 -0
- package/lib/orchestrator/orchestrator-config.js +173 -0
- package/lib/orchestrator/status-monitor.js +591 -0
- package/lib/python-checker.js +209 -0
- package/lib/repo/config-manager.js +580 -0
- package/lib/repo/errors/config-error.js +13 -0
- package/lib/repo/errors/git-error.js +15 -0
- package/lib/repo/errors/repo-error.js +14 -0
- package/lib/repo/git-operations.js +181 -0
- package/lib/repo/handlers/.gitkeep +1 -0
- package/lib/repo/handlers/exec-handler.js +155 -0
- package/lib/repo/handlers/health-handler.js +169 -0
- package/lib/repo/handlers/init-handler.js +197 -0
- package/lib/repo/handlers/status-handler.js +176 -0
- package/lib/repo/output-formatter.js +184 -0
- package/lib/repo/path-resolver.js +178 -0
- package/lib/repo/repo-manager.js +514 -0
- package/lib/scene-runtime/audit-emitter.js +59 -0
- package/lib/scene-runtime/binding-plugin-loader.js +351 -0
- package/lib/scene-runtime/binding-registry.js +349 -0
- package/lib/scene-runtime/eval-bridge.js +44 -0
- package/lib/scene-runtime/index.js +19 -0
- package/lib/scene-runtime/moqui-adapter.js +620 -0
- package/lib/scene-runtime/moqui-client.js +606 -0
- package/lib/scene-runtime/moqui-extractor.js +2029 -0
- package/lib/scene-runtime/plan-compiler.js +208 -0
- package/lib/scene-runtime/policy-gate.js +58 -0
- package/lib/scene-runtime/runtime-executor.js +358 -0
- package/lib/scene-runtime/scene-loader.js +96 -0
- package/lib/scene-runtime/scene-ontology.js +959 -0
- package/lib/scene-runtime/scene-template-linter.js +852 -0
- package/lib/scene-runtime/templates/scene-template-erp-query-v0.1.yaml +28 -0
- package/lib/scene-runtime/templates/scene-template-hybrid-shadow-v0.1.yaml +34 -0
- package/lib/spec/bootstrap/context-collector.js +48 -0
- package/lib/spec/bootstrap/draft-generator.js +158 -0
- package/lib/spec/bootstrap/questionnaire-engine.js +70 -0
- package/lib/spec/bootstrap/trace-emitter.js +59 -0
- package/lib/spec/multi-spec-orchestrate.js +93 -0
- package/lib/spec/pipeline/constants.js +6 -0
- package/lib/spec/pipeline/stage-adapters.js +118 -0
- package/lib/spec/pipeline/stage-runner.js +146 -0
- package/lib/spec/pipeline/state-store.js +119 -0
- package/lib/spec-gate/engine/gate-engine.js +165 -0
- package/lib/spec-gate/policy/default-policy.js +22 -0
- package/lib/spec-gate/policy/policy-loader.js +103 -0
- package/lib/spec-gate/result-emitter.js +81 -0
- package/lib/spec-gate/rules/default-rules.js +156 -0
- package/lib/spec-gate/rules/rule-registry.js +51 -0
- package/lib/steering/adoption-config.js +164 -0
- package/lib/steering/compliance-auto-fixer.js +204 -0
- package/lib/steering/compliance-cache.js +99 -0
- package/lib/steering/compliance-error-reporter.js +70 -0
- package/lib/steering/context-sync-manager.js +273 -0
- package/lib/steering/index.js +92 -0
- package/lib/steering/spec-steering.js +230 -0
- package/lib/steering/steering-compliance-checker.js +73 -0
- package/lib/steering/steering-loader.js +144 -0
- package/lib/steering/steering-manager.js +289 -0
- package/lib/task/index.js +12 -0
- package/lib/task/task-claimer.js +489 -0
- package/lib/task/task-status-store.js +418 -0
- package/lib/templates/cache-manager.js +440 -0
- package/lib/templates/content-generalizer.js +247 -0
- package/lib/templates/frontmatter-generator.js +128 -0
- package/lib/templates/git-handler.js +471 -0
- package/lib/templates/metadata-collector.js +328 -0
- package/lib/templates/path-utils.js +144 -0
- package/lib/templates/registry-parser.js +505 -0
- package/lib/templates/spec-reader.js +216 -0
- package/lib/templates/template-applicator.js +249 -0
- package/lib/templates/template-creator.js +256 -0
- package/lib/templates/template-error.js +143 -0
- package/lib/templates/template-exporter.js +502 -0
- package/lib/templates/template-manager.js +782 -0
- package/lib/templates/template-validator.js +361 -0
- package/lib/upgrade/migration-engine.js +382 -0
- package/lib/upgrade/migrations/.gitkeep +52 -0
- package/lib/upgrade/migrations/1.0.0-to-1.1.0.js +78 -0
- package/lib/utils/file-diff.js +177 -0
- package/lib/utils/fs-utils.js +274 -0
- package/lib/utils/tool-detector.js +383 -0
- package/lib/utils/validation.js +324 -0
- package/lib/value/gate-summary-emitter.js +99 -0
- package/lib/value/metric-contract-loader.js +210 -0
- package/lib/value/risk-evaluator.js +117 -0
- package/lib/value/weekly-snapshot-builder.js +61 -0
- package/lib/version/version-checker.js +156 -0
- package/lib/version/version-manager.js +327 -0
- package/lib/watch/action-executor.js +458 -0
- package/lib/watch/event-debouncer.js +323 -0
- package/lib/watch/execution-logger.js +550 -0
- package/lib/watch/file-watcher.js +499 -0
- package/lib/watch/presets.js +266 -0
- package/lib/watch/watch-manager.js +533 -0
- package/lib/workspace/multi/global-config.js +150 -0
- package/lib/workspace/multi/index.js +22 -0
- package/lib/workspace/multi/path-utils.js +173 -0
- package/lib/workspace/multi/workspace-context-resolver.js +244 -0
- package/lib/workspace/multi/workspace-registry.js +196 -0
- package/lib/workspace/multi/workspace-state-manager.js +537 -0
- package/lib/workspace/multi/workspace.js +90 -0
- package/lib/workspace/workspace-manager.js +370 -0
- package/lib/workspace/workspace-sync.js +356 -0
- package/locales/en.json +114 -0
- package/locales/zh.json +114 -0
- package/package.json +102 -0
- package/template/.kiro/README.md +247 -0
- package/template/.kiro/hooks/check-spec-on-create.kiro.hook +17 -0
- package/template/.kiro/hooks/run-tests-on-save.kiro.hook +13 -0
- package/template/.kiro/hooks/sync-tasks-on-edit.kiro.hook +16 -0
- package/template/.kiro/specs/SPEC_WORKFLOW_GUIDE.md +134 -0
- package/template/.kiro/steering/CORE_PRINCIPLES.md +133 -0
- package/template/.kiro/steering/CURRENT_CONTEXT.md +30 -0
- package/template/.kiro/steering/ENVIRONMENT.md +35 -0
- package/template/.kiro/steering/RULES_GUIDE.md +46 -0
- package/template/.kiro/templates/operations/default/change-impact.md +112 -0
- package/template/.kiro/templates/operations/default/deployment.md +91 -0
- package/template/.kiro/templates/operations/default/feedback-response.md +269 -0
- package/template/.kiro/templates/operations/default/migration-plan.md +172 -0
- package/template/.kiro/templates/operations/default/monitoring.md +135 -0
- package/template/.kiro/templates/operations/default/operations.md +135 -0
- package/template/.kiro/templates/operations/default/rollback.md +143 -0
- package/template/.kiro/templates/operations/default/tools.yaml +364 -0
- package/template/.kiro/templates/operations/default/troubleshooting.md +123 -0
- package/template/.kiro/tools/backup_manager.py +295 -0
- package/template/.kiro/tools/configuration_manager.py +218 -0
- package/template/.kiro/tools/document_evaluator.py +550 -0
- package/template/.kiro/tools/enhancement_logger.py +168 -0
- package/template/.kiro/tools/error_handler.py +335 -0
- package/template/.kiro/tools/improvement_identifier.py +444 -0
- package/template/.kiro/tools/modification_applicator.py +737 -0
- package/template/.kiro/tools/quality_gate_enforcer.py +207 -0
- package/template/.kiro/tools/quality_scorer.py +305 -0
- package/template/.kiro/tools/report_generator.py +154 -0
- package/template/.kiro/tools/ultrawork_enhancer.py +676 -0
- package/template/.kiro/tools/ultrawork_enhancer_refactored.py +0 -0
- package/template/.kiro/tools/ultrawork_enhancer_v2.py +463 -0
- package/template/.kiro/tools/ultrawork_enhancer_v3.py +606 -0
- package/template/.kiro/tools/workflow_quality_gate.py +100 -0
- package/template/README.md +111 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
# Spec Numbering Strategy Guide
|
|
2
|
+
|
|
3
|
+
> A comprehensive guide to choosing the right numbering strategy for your Specs
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Kiro Spec Engine uses a two-part numbering system: `{major}-{minor}-{description}`
|
|
8
|
+
|
|
9
|
+
- **Major number**: Represents a feature domain or theme (01, 02, 03, ...)
|
|
10
|
+
- **Minor number**: Represents iterations or sub-features within that domain (00, 01, 02, ...)
|
|
11
|
+
- **Description**: A kebab-case description of the Spec
|
|
12
|
+
|
|
13
|
+
**Examples**:
|
|
14
|
+
- `01-00-user-authentication`
|
|
15
|
+
- `01-01-add-oauth-support`
|
|
16
|
+
- `02-00-payment-system`
|
|
17
|
+
|
|
18
|
+
## When to Use Major vs Minor Numbers
|
|
19
|
+
|
|
20
|
+
### Strategy 1: Simple Projects (Recommended for Most Cases)
|
|
21
|
+
|
|
22
|
+
**Use Case**: Projects with < 20 independent features
|
|
23
|
+
|
|
24
|
+
**Approach**: Use only major numbers with minor always as `00`
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
01-00-user-authentication
|
|
28
|
+
02-00-payment-integration
|
|
29
|
+
03-00-notification-system
|
|
30
|
+
04-00-reporting-dashboard
|
|
31
|
+
05-00-api-gateway
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Advantages**:
|
|
35
|
+
- ✅ Simple and clear
|
|
36
|
+
- ✅ Easy to understand at a glance
|
|
37
|
+
- ✅ No need to plan groupings upfront
|
|
38
|
+
- ✅ Works well for independent features
|
|
39
|
+
|
|
40
|
+
**When to use**:
|
|
41
|
+
- Building a tool or library
|
|
42
|
+
- Features are relatively independent
|
|
43
|
+
- Project is in early stages
|
|
44
|
+
- Team is small (< 5 people)
|
|
45
|
+
|
|
46
|
+
### Strategy 2: Complex Projects with Themes
|
|
47
|
+
|
|
48
|
+
**Use Case**: Large projects with clear feature domains
|
|
49
|
+
|
|
50
|
+
**Approach**: Group related Specs under the same major number
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
# User Management Domain (01-xx)
|
|
54
|
+
01-00-user-authentication-foundation
|
|
55
|
+
01-01-add-oauth-support
|
|
56
|
+
01-02-add-two-factor-auth
|
|
57
|
+
01-03-add-sso-integration
|
|
58
|
+
|
|
59
|
+
# Payment Domain (02-xx)
|
|
60
|
+
02-00-payment-system-mvp
|
|
61
|
+
02-01-add-subscription-billing
|
|
62
|
+
02-02-add-invoice-generation
|
|
63
|
+
02-03-add-refund-workflow
|
|
64
|
+
|
|
65
|
+
# Notification Domain (03-xx)
|
|
66
|
+
03-00-notification-email
|
|
67
|
+
03-01-notification-sms
|
|
68
|
+
03-02-notification-push
|
|
69
|
+
03-03-notification-in-app
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Advantages**:
|
|
73
|
+
- ✅ Clear thematic grouping
|
|
74
|
+
- ✅ Easy to track evolution of a feature
|
|
75
|
+
- ✅ Shows relationships between Specs
|
|
76
|
+
- ✅ Scales well for large projects
|
|
77
|
+
|
|
78
|
+
**When to use**:
|
|
79
|
+
- Building a complex application
|
|
80
|
+
- Features have clear domains (user, payment, notification, etc.)
|
|
81
|
+
- Multiple iterations expected per domain
|
|
82
|
+
- Large team with domain ownership
|
|
83
|
+
|
|
84
|
+
### Strategy 3: Hybrid Approach (Flexible)
|
|
85
|
+
|
|
86
|
+
**Use Case**: Start simple, add structure as needed
|
|
87
|
+
|
|
88
|
+
**Approach**: Begin with major numbers only, introduce minor numbers when needed
|
|
89
|
+
|
|
90
|
+
**Phase 1 - Early Development**:
|
|
91
|
+
```
|
|
92
|
+
01-00-mvp-core-features
|
|
93
|
+
02-00-user-management
|
|
94
|
+
03-00-data-storage
|
|
95
|
+
04-00-api-gateway
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Phase 2 - Iteration Needed**:
|
|
99
|
+
```
|
|
100
|
+
01-00-mvp-core-features
|
|
101
|
+
02-00-user-management
|
|
102
|
+
03-00-data-storage-basic
|
|
103
|
+
03-01-data-storage-add-caching ← Added iteration
|
|
104
|
+
03-02-data-storage-add-replication ← Added iteration
|
|
105
|
+
04-00-api-gateway
|
|
106
|
+
05-00-monitoring-system
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Advantages**:
|
|
110
|
+
- ✅ Start simple, grow as needed
|
|
111
|
+
- ✅ No premature planning required
|
|
112
|
+
- ✅ Adapts to project evolution
|
|
113
|
+
- ✅ Best of both worlds
|
|
114
|
+
|
|
115
|
+
**When to use**:
|
|
116
|
+
- Uncertain about project scope
|
|
117
|
+
- Want flexibility
|
|
118
|
+
- Agile development approach
|
|
119
|
+
- Learning the Spec workflow
|
|
120
|
+
|
|
121
|
+
## Semantic Numbering Rules
|
|
122
|
+
|
|
123
|
+
### Rule 1: XX-00 for First or Independent Specs
|
|
124
|
+
|
|
125
|
+
Use `XX-00` for:
|
|
126
|
+
- The first Spec in a domain
|
|
127
|
+
- Independent features that don't need iterations
|
|
128
|
+
- Standalone functionality
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
01-00-authentication-system # First in domain
|
|
132
|
+
02-00-payment-integration # Independent feature
|
|
133
|
+
03-00-email-notifications # Standalone
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Rule 2: XX-01+ for Iterations and Enhancements
|
|
137
|
+
|
|
138
|
+
Use `XX-01`, `XX-02`, etc. for:
|
|
139
|
+
- Bug fixes related to a previous Spec
|
|
140
|
+
- Feature enhancements
|
|
141
|
+
- Iterations on the same theme
|
|
142
|
+
- Related functionality
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
01-00-authentication-system
|
|
146
|
+
01-01-fix-session-timeout-bug # Bug fix
|
|
147
|
+
01-02-add-remember-me-feature # Enhancement
|
|
148
|
+
01-03-add-password-reset # Related feature
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Rule 3: Keep Related Specs Together
|
|
152
|
+
|
|
153
|
+
Group Specs that:
|
|
154
|
+
- Share the same codebase area
|
|
155
|
+
- Have dependencies on each other
|
|
156
|
+
- Belong to the same feature domain
|
|
157
|
+
- Will be maintained by the same team
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
# Good: Related notification features grouped
|
|
161
|
+
03-00-notification-email
|
|
162
|
+
03-01-notification-sms
|
|
163
|
+
03-02-notification-push
|
|
164
|
+
|
|
165
|
+
# Avoid: Unrelated features under same major number
|
|
166
|
+
03-00-notification-email
|
|
167
|
+
03-01-payment-refunds # ❌ Not related to notifications
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Practical Examples
|
|
171
|
+
|
|
172
|
+
### Example 1: Tool/Library Project (kiro-spec-engine)
|
|
173
|
+
|
|
174
|
+
**Project Type**: CLI tool with independent features
|
|
175
|
+
|
|
176
|
+
**Strategy**: Simple numbering (XX-00)
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
01-00-user-space-diagnosis
|
|
180
|
+
02-00-oauth-api-upgrade
|
|
181
|
+
03-00-multi-user-collaboration
|
|
182
|
+
04-00-watch-mode-automation
|
|
183
|
+
05-00-agent-hooks-and-automation
|
|
184
|
+
06-00-test-stability-and-reliability
|
|
185
|
+
07-00-user-onboarding-and-documentation
|
|
186
|
+
08-00-document-lifecycle-management
|
|
187
|
+
09-00-document-governance-automation
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Why**: Each feature is independent and complete
|
|
191
|
+
|
|
192
|
+
### Example 2: E-commerce Platform
|
|
193
|
+
|
|
194
|
+
**Project Type**: Complex web application
|
|
195
|
+
|
|
196
|
+
**Strategy**: Thematic grouping
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
# User Domain
|
|
200
|
+
01-00-user-registration-and-login
|
|
201
|
+
01-01-user-profile-management
|
|
202
|
+
01-02-user-preferences-and-settings
|
|
203
|
+
|
|
204
|
+
# Product Domain
|
|
205
|
+
02-00-product-catalog-foundation
|
|
206
|
+
02-01-product-search-and-filters
|
|
207
|
+
02-02-product-recommendations
|
|
208
|
+
|
|
209
|
+
# Order Domain
|
|
210
|
+
03-00-shopping-cart-system
|
|
211
|
+
03-01-checkout-process
|
|
212
|
+
03-02-order-tracking
|
|
213
|
+
03-03-order-history
|
|
214
|
+
|
|
215
|
+
# Payment Domain
|
|
216
|
+
04-00-payment-gateway-integration
|
|
217
|
+
04-01-multiple-payment-methods
|
|
218
|
+
04-02-payment-security-enhancements
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Why**: Clear domains with multiple related features
|
|
222
|
+
|
|
223
|
+
### Example 3: SaaS Application
|
|
224
|
+
|
|
225
|
+
**Project Type**: Multi-tenant SaaS
|
|
226
|
+
|
|
227
|
+
**Strategy**: Hybrid approach
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
# Core Features (Independent)
|
|
231
|
+
01-00-tenant-management
|
|
232
|
+
02-00-user-authentication
|
|
233
|
+
03-00-billing-system
|
|
234
|
+
|
|
235
|
+
# Analytics Domain (Grouped)
|
|
236
|
+
04-00-analytics-foundation
|
|
237
|
+
04-01-analytics-custom-dashboards
|
|
238
|
+
04-02-analytics-export-reports
|
|
239
|
+
|
|
240
|
+
# Integration Domain (Grouped)
|
|
241
|
+
05-00-api-gateway
|
|
242
|
+
05-01-webhook-system
|
|
243
|
+
05-02-third-party-integrations
|
|
244
|
+
|
|
245
|
+
# More Independent Features
|
|
246
|
+
06-00-email-templates
|
|
247
|
+
07-00-notification-center
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Why**: Mix of independent features and grouped domains
|
|
251
|
+
|
|
252
|
+
## Decision Tree
|
|
253
|
+
|
|
254
|
+
Use this flowchart to decide your numbering strategy:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
Is this your first Spec?
|
|
258
|
+
├─ Yes → Use 01-00-{description}
|
|
259
|
+
└─ No → Continue...
|
|
260
|
+
|
|
261
|
+
Is this related to an existing Spec?
|
|
262
|
+
├─ Yes → Use same major number, increment minor
|
|
263
|
+
│ Example: 01-00 exists → use 01-01
|
|
264
|
+
└─ No → Continue...
|
|
265
|
+
|
|
266
|
+
Do you expect multiple iterations in this domain?
|
|
267
|
+
├─ Yes → Plan major number for the domain
|
|
268
|
+
│ Example: 03-00, 03-01, 03-02 for notifications
|
|
269
|
+
└─ No → Use next available major number with -00
|
|
270
|
+
Example: 05-00-new-feature
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## Best Practices
|
|
274
|
+
|
|
275
|
+
### ✅ Do
|
|
276
|
+
|
|
277
|
+
1. **Start simple**: Use XX-00 until you need complexity
|
|
278
|
+
2. **Be consistent**: Stick to one strategy per project
|
|
279
|
+
3. **Document your approach**: Add a note in your project README
|
|
280
|
+
4. **Use descriptive names**: Make the description clear
|
|
281
|
+
5. **Reserve major numbers**: If planning domains, reserve ranges
|
|
282
|
+
|
|
283
|
+
### ❌ Don't
|
|
284
|
+
|
|
285
|
+
1. **Don't over-plan**: Don't create 50 major numbers upfront
|
|
286
|
+
2. **Don't mix unrelated features**: Keep major numbers thematic
|
|
287
|
+
3. **Don't skip numbers**: Use sequential numbering
|
|
288
|
+
4. **Don't change strategy mid-project**: Stick to your approach
|
|
289
|
+
5. **Don't stress**: The numbering is for organization, not perfection
|
|
290
|
+
|
|
291
|
+
## Migration Between Strategies
|
|
292
|
+
|
|
293
|
+
### From Simple to Thematic
|
|
294
|
+
|
|
295
|
+
If you started with simple numbering and need to add structure:
|
|
296
|
+
|
|
297
|
+
**Before**:
|
|
298
|
+
```
|
|
299
|
+
01-00-user-auth
|
|
300
|
+
02-00-user-profile
|
|
301
|
+
03-00-payment-basic
|
|
302
|
+
04-00-payment-subscriptions
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**After** (optional reorganization):
|
|
306
|
+
```
|
|
307
|
+
01-00-user-auth
|
|
308
|
+
01-01-user-profile # Grouped with auth
|
|
309
|
+
02-00-payment-basic
|
|
310
|
+
02-01-payment-subscriptions # Grouped with payment
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Note**: Renaming existing Specs is optional. You can keep old numbers and use new strategy going forward.
|
|
314
|
+
|
|
315
|
+
## Tool Support
|
|
316
|
+
|
|
317
|
+
Kiro Spec Engine provides commands to help with numbering:
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# List all Specs with their numbers
|
|
321
|
+
kse status
|
|
322
|
+
|
|
323
|
+
# View Specs grouped by major number
|
|
324
|
+
kse workflows
|
|
325
|
+
|
|
326
|
+
# Get next available number suggestion
|
|
327
|
+
kse workflows --suggest-next
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
## Summary
|
|
331
|
+
|
|
332
|
+
**Choose your strategy based on project complexity**:
|
|
333
|
+
|
|
334
|
+
- **Simple projects**: Use `XX-00` for everything
|
|
335
|
+
- **Complex projects**: Group by domain with `XX-YY`
|
|
336
|
+
- **Uncertain**: Start simple, add structure later
|
|
337
|
+
|
|
338
|
+
**Remember**: The goal is organization and clarity, not perfection. Choose what works for your team and project.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
**Related Documentation**:
|
|
343
|
+
- [Spec Workflow Guide](./spec-workflow.md)
|
|
344
|
+
- [Quick Start Guide](./quick-start.md)
|
|
345
|
+
- [FAQ](./faq.md)
|
|
346
|
+
|
|
347
|
+
**Version**: 1.42.0
|
|
348
|
+
**Last Updated**: 2026-01-24
|