cc-devflow 4.3.0 → 4.4.1
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/.claude/skills/cc-act/CHANGELOG.md +64 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
- package/.claude/skills/cc-act/SKILL.md +322 -0
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
- package/.claude/skills/cc-act/references/closure-contract.md +49 -0
- package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
- package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
- package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
- package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
- package/.claude/skills/cc-check/CHANGELOG.md +73 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
- package/.claude/skills/cc-check/SKILL.md +345 -0
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
- package/.claude/skills/cc-check/references/gate-contract.md +29 -0
- package/.claude/skills/cc-check/references/review-contract.md +45 -0
- package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
- package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
- package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
- package/.claude/skills/cc-do/CHANGELOG.md +49 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
- package/.claude/skills/cc-do/SKILL.md +216 -0
- package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
- package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
- package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
- package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
- package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
- package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
- package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
- package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
- package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
- package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
- package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
- package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
- package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
- package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
- package/.claude/skills/cc-investigate/SKILL.md +221 -0
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
- package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
- package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
- package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
- package/.claude/skills/cc-plan/SKILL.md +325 -0
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
- package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
- package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
- package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
- package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
- package/.claude/skills/cc-roadmap/SKILL.md +259 -0
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
- package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
- package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
- package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
- package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
- package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
- package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
- package/.claude/skills/cc-simplify/SKILL.md +55 -0
- package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
- package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
- package/.claude/skills/cc-spec-init/SKILL.md +127 -0
- package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
- package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
- package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
- package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
- package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
- package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
- package/CHANGELOG.md +61 -4
- package/README.md +120 -756
- package/README.zh-CN.md +119 -756
- package/bin/adapt.js +2 -6
- package/bin/cc-devflow-cli.js +72 -177
- package/config/distributable-skills.json +24 -0
- package/docs/CLAUDE.md +10 -6
- package/docs/commands/README.md +19 -46
- package/docs/commands/README.zh-CN.md +25 -48
- package/docs/examples/BY-ARTIFACT.md +7 -0
- package/docs/examples/README.md +38 -0
- package/docs/examples/START-HERE.md +149 -0
- package/docs/examples/example-bindings.json +38 -0
- package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
- package/docs/examples/full-design-blocked/README.md +55 -0
- package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
- package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
- package/docs/examples/local-handoff/BACKLOG.md +45 -0
- package/docs/examples/local-handoff/README.md +56 -0
- package/docs/examples/local-handoff/ROADMAP.md +45 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
- package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
- package/docs/examples/pdca-loop/BACKLOG.md +46 -0
- package/docs/examples/pdca-loop/README.md +58 -0
- package/docs/examples/pdca-loop/ROADMAP.md +133 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
- package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
- package/docs/examples/scripts/check-example-bindings.sh +116 -0
- package/docs/guides/getting-started.md +94 -129
- package/docs/guides/getting-started.zh-CN.md +103 -84
- package/docs/skill-runtime-migration.md +46 -0
- package/docs/v4.3.0-migration-guide.md +60 -225
- package/lib/compiler/CLAUDE.md +55 -84
- package/lib/compiler/__tests__/drift.test.js +1 -1
- package/lib/compiler/__tests__/errors.test.js +0 -1
- package/lib/compiler/__tests__/integration.test.js +49 -3
- package/lib/compiler/__tests__/manifest.test.js +0 -156
- package/lib/compiler/__tests__/parser.test.js +33 -104
- package/lib/compiler/__tests__/schemas.test.js +30 -34
- package/lib/compiler/__tests__/skills-registry.test.js +114 -0
- package/lib/compiler/__tests__/transformer.test.js +5 -9
- package/lib/compiler/emitters/antigravity-emitter.js +5 -213
- package/lib/compiler/emitters/base-emitter.js +3 -298
- package/lib/compiler/emitters/codex-emitter.js +4 -202
- package/lib/compiler/emitters/cursor-emitter.js +3 -287
- package/lib/compiler/emitters/qwen-emitter.js +4 -176
- package/lib/compiler/index.js +65 -345
- package/lib/compiler/manifest.js +6 -68
- package/lib/compiler/parser.js +31 -63
- package/lib/compiler/platforms.js +32 -277
- package/lib/compiler/resource-copier.js +176 -6
- package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
- package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
- package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
- package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
- package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
- package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
- package/lib/compiler/rules-emitters/index.js +6 -3
- package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
- package/lib/compiler/schemas.js +8 -4
- package/lib/compiler/skills-registry.js +213 -15
- package/lib/compiler/transformer.js +1 -1
- package/lib/skill-runtime/CLAUDE.md +19 -0
- package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
- package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
- package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
- package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
- package/lib/skill-runtime/__tests__/intent.test.js +219 -0
- package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
- package/lib/skill-runtime/__tests__/paths.test.js +42 -0
- package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
- package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
- package/lib/skill-runtime/__tests__/query.test.js +284 -0
- package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
- package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
- package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
- package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
- package/lib/skill-runtime/__tests__/worker.test.js +56 -0
- package/lib/skill-runtime/artifacts.js +93 -0
- package/lib/skill-runtime/delegation.js +533 -0
- package/lib/skill-runtime/index.js +34 -0
- package/lib/skill-runtime/intent.js +333 -0
- package/lib/skill-runtime/lifecycle.js +294 -0
- package/lib/skill-runtime/operations/CLAUDE.md +19 -0
- package/lib/skill-runtime/operations/approve.js +66 -0
- package/lib/skill-runtime/operations/autopilot-core.js +337 -0
- package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
- package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
- package/lib/skill-runtime/operations/autopilot.js +163 -0
- package/lib/skill-runtime/operations/dispatch.js +454 -0
- package/lib/skill-runtime/operations/init.js +64 -0
- package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
- package/lib/skill-runtime/operations/plan.js +59 -0
- package/lib/skill-runtime/operations/prepare-pr.js +25 -0
- package/lib/skill-runtime/operations/release.js +96 -0
- package/lib/skill-runtime/operations/resume.js +143 -0
- package/lib/skill-runtime/operations/snapshot.js +45 -0
- package/lib/skill-runtime/operations/verify.js +170 -0
- package/lib/skill-runtime/operations/worker-run.js +529 -0
- package/lib/skill-runtime/operations/worker.js +33 -0
- package/lib/skill-runtime/paths.js +213 -0
- package/lib/skill-runtime/planner.js +519 -0
- package/lib/skill-runtime/query.js +157 -0
- package/lib/skill-runtime/review.js +557 -0
- package/lib/skill-runtime/schemas.js +400 -0
- package/lib/{harness → skill-runtime}/store.js +45 -30
- package/lib/skill-runtime/team-state.js +122 -0
- package/package.json +13 -11
- package/.claude/CLAUDE.md +0 -125
- package/.claude/agents/architecture-designer.md +0 -443
- package/.claude/agents/bug-analyzer.md +0 -381
- package/.claude/agents/checklist-agent.md +0 -175
- package/.claude/agents/clarify-analyst.md +0 -50
- package/.claude/agents/code-quality-reviewer.md +0 -205
- package/.claude/agents/code-reviewer.md +0 -71
- package/.claude/agents/codex-analyzer.md +0 -39
- package/.claude/agents/compatibility-checker.md +0 -579
- package/.claude/agents/consistency-checker.md +0 -532
- package/.claude/agents/dev-implementer.md +0 -195
- package/.claude/agents/flow-researcher.md +0 -132
- package/.claude/agents/impact-analyzer.md +0 -440
- package/.claude/agents/planner.md +0 -230
- package/.claude/agents/prd-writer.md +0 -320
- package/.claude/agents/project-guidelines-generator.md +0 -1329
- package/.claude/agents/qa-tester.md +0 -313
- package/.claude/agents/release-manager.md +0 -295
- package/.claude/agents/security-reviewer.md +0 -314
- package/.claude/agents/spec-reviewer.md +0 -221
- package/.claude/agents/style-guide-generator.md +0 -458
- package/.claude/agents/tech-architect.md +0 -516
- package/.claude/agents/ui-designer.md +0 -485
- package/.claude/commands/core/architecture.md +0 -459
- package/.claude/commands/core/guidelines.md +0 -511
- package/.claude/commands/core/roadmap.md +0 -468
- package/.claude/commands/core/style.md +0 -83
- package/.claude/commands/flow/CLAUDE.md +0 -24
- package/.claude/commands/flow/archive.md +0 -280
- package/.claude/commands/flow/constitution.md +0 -82
- package/.claude/commands/flow/context.md +0 -150
- package/.claude/commands/flow/delta.md +0 -245
- package/.claude/commands/flow/dev.md +0 -40
- package/.claude/commands/flow/fix.md +0 -217
- package/.claude/commands/flow/ideate.md +0 -214
- package/.claude/commands/flow/init.md +0 -38
- package/.claude/commands/flow/release.md +0 -36
- package/.claude/commands/flow/restart.md +0 -97
- package/.claude/commands/flow/spec.md +0 -36
- package/.claude/commands/flow/status.md +0 -64
- package/.claude/commands/flow/update.md +0 -111
- package/.claude/commands/flow/upgrade.md +0 -115
- package/.claude/commands/flow/verify.md +0 -37
- package/.claude/commands/flow/workspace.md +0 -155
- package/.claude/commands/util/cancel-ralph.md +0 -60
- package/.claude/commands/util/code-review.md +0 -58
- package/.claude/commands/util/git-commit.md +0 -422
- package/.claude/commands/util/problem-analyzer.md +0 -60
- package/.claude/config/quality-gates.yml +0 -305
- package/.claude/config/quality-rules.yml +0 -161
- package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
- package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
- package/.claude/docs/design/intent-driven-input-design.md +0 -380
- package/.claude/docs/design/prd-version-management-design.md +0 -437
- package/.claude/docs/examples/design-inspiration-pool.md +0 -59
- package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
- package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
- package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
- package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
- package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
- package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
- package/.claude/docs/implementation-summary-v7.md +0 -449
- package/.claude/docs/spec-format-guide.md +0 -349
- package/.claude/docs/state-consolidation-design.md +0 -323
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
- package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
- package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
- package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
- package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
- package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
- package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
- package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
- package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
- package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
- package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
- package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
- package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
- package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
- package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
- package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
- package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
- package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
- package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
- package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
- package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
- package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
- package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
- package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
- package/.claude/docs/templates/context/dev.jsonl.template +0 -6
- package/.claude/docs/templates/context/epic.jsonl.template +0 -5
- package/.claude/docs/templates/context/prd.jsonl.template +0 -4
- package/.claude/docs/templates/context/research.jsonl.template +0 -4
- package/.claude/docs/templates/context/review.jsonl.template +0 -5
- package/.claude/docs/templates/context/tech.jsonl.template +0 -5
- package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
- package/.claude/guides/project-guidelines-system.md +0 -463
- package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
- package/.claude/guides/technical-guides/git-github-guide.md +0 -642
- package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
- package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
- package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
- package/.claude/hooks/CLAUDE.md +0 -342
- package/.claude/hooks/checklist-gate.js +0 -397
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -459
- package/.claude/hooks/hooks.json +0 -15
- package/.claude/hooks/inject-agent-context.ts +0 -480
- package/.claude/hooks/inject-skill-context.ts +0 -359
- package/.claude/hooks/post-tool-use-tracker.sh +0 -280
- package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
- package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
- package/.claude/hooks/ralph-loop.ts +0 -931
- package/.claude/hooks/ralph-stop-hook.sh +0 -190
- package/.claude/hooks/skill-activation-prompt.sh +0 -36
- package/.claude/hooks/skill-activation-prompt.ts +0 -214
- package/.claude/hooks/state/skills-used-test-guard.json +0 -3
- package/.claude/hooks/task-completed-hook.ts +0 -593
- package/.claude/hooks/teammate-idle-hook.ts +0 -690
- package/.claude/hooks/types/team-types.d.ts +0 -238
- package/.claude/rules/devflow-conventions.md +0 -286
- package/.claude/rules/project-constitution.md +0 -1002
- package/.claude/rules/rationalization-library.md +0 -282
- package/.claude/schemas/constitution.schema.json +0 -43
- package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
- package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
- package/.claude/scripts/CLAUDE.md +0 -76
- package/.claude/scripts/__tests__/openspec.test.js +0 -212
- package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
- package/.claude/scripts/archive-requirement.sh +0 -394
- package/.claude/scripts/calculate-checklist-completion.sh +0 -243
- package/.claude/scripts/calculate-quarter.sh +0 -206
- package/.claude/scripts/check-dependencies.sh +0 -409
- package/.claude/scripts/check-prerequisites.sh +0 -232
- package/.claude/scripts/check-task-status.sh +0 -288
- package/.claude/scripts/checklist-errors.sh +0 -131
- package/.claude/scripts/common.sh +0 -1102
- package/.claude/scripts/consolidate-research.sh +0 -182
- package/.claude/scripts/create-requirement.sh +0 -451
- package/.claude/scripts/delta-parser.ts +0 -637
- package/.claude/scripts/detect-file-conflicts.sh +0 -151
- package/.claude/scripts/export-contracts.sh +0 -117
- package/.claude/scripts/export-openspec.js +0 -222
- package/.claude/scripts/extract-data-model.sh +0 -78
- package/.claude/scripts/flow-context-add.sh +0 -134
- package/.claude/scripts/flow-context-init.sh +0 -133
- package/.claude/scripts/flow-context-validate.sh +0 -144
- package/.claude/scripts/flow-delta-apply.sh +0 -297
- package/.claude/scripts/flow-delta-archive.sh +0 -71
- package/.claude/scripts/flow-delta-create.sh +0 -202
- package/.claude/scripts/flow-delta-list.sh +0 -142
- package/.claude/scripts/flow-delta-status.sh +0 -235
- package/.claude/scripts/flow-quality-full.sh +0 -215
- package/.claude/scripts/flow-quality-quick.sh +0 -119
- package/.claude/scripts/flow-workspace-init.sh +0 -117
- package/.claude/scripts/flow-workspace-record.sh +0 -164
- package/.claude/scripts/generate-clarification-questions.sh +0 -377
- package/.claude/scripts/generate-clarification-report.sh +0 -463
- package/.claude/scripts/generate-quickstart.sh +0 -146
- package/.claude/scripts/generate-research-tasks.sh +0 -157
- package/.claude/scripts/generate-status-report.sh +0 -523
- package/.claude/scripts/generate-tech-analysis.sh +0 -46
- package/.claude/scripts/get-workflow-status.sh +0 -415
- package/.claude/scripts/import-openspec.js +0 -272
- package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
- package/.claude/scripts/manage-constitution.sh +0 -602
- package/.claude/scripts/mark-task-complete.sh +0 -198
- package/.claude/scripts/parse-task-dependencies.js +0 -334
- package/.claude/scripts/populate-research-tasks.sh +0 -284
- package/.claude/scripts/record-quality-error.sh +0 -165
- package/.claude/scripts/recover-workflow.sh +0 -463
- package/.claude/scripts/run-clarify-scan.sh +0 -601
- package/.claude/scripts/run-high-review.sh +0 -62
- package/.claude/scripts/run-problem-analysis.sh +0 -68
- package/.claude/scripts/run-quality-gates.sh +0 -242
- package/.claude/scripts/setup-epic.sh +0 -173
- package/.claude/scripts/setup-ralph-loop.sh +0 -155
- package/.claude/scripts/sync-roadmap-progress.sh +0 -300
- package/.claude/scripts/sync-task-marks.sh +0 -199
- package/.claude/scripts/team-dev-init.sh +0 -319
- package/.claude/scripts/team-state-recovery.sh +0 -229
- package/.claude/scripts/test-clarify-scan.sh +0 -515
- package/.claude/scripts/update-agent-context.sh +0 -806
- package/.claude/scripts/validate-constitution.sh +0 -567
- package/.claude/scripts/validate-hooks.sh +0 -487
- package/.claude/scripts/validate-research.sh +0 -332
- package/.claude/scripts/validate-scope-boundary.sh +0 -493
- package/.claude/scripts/validate-scope.sh +0 -200
- package/.claude/scripts/verify-gate.sh +0 -269
- package/.claude/scripts/verify-setup.sh +0 -37
- package/.claude/scripts/workflow-status.ts +0 -433
- package/.claude/settings.json +0 -95
- package/.claude/skills/_reference-implementations/README.md +0 -96
- package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
- package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
- package/.claude/skills/attention-refresh/SKILL.md +0 -170
- package/.claude/skills/brainstorming/SKILL.md +0 -161
- package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
- package/.claude/skills/constitution-guardian/SKILL.md +0 -306
- package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
- package/.claude/skills/debugging/SKILL.md +0 -221
- package/.claude/skills/file-standards/SKILL.md +0 -353
- package/.claude/skills/finishing-branch/SKILL.md +0 -189
- package/.claude/skills/flow-dev/CLAUDE.md +0 -16
- package/.claude/skills/flow-dev/SKILL.md +0 -94
- package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
- package/.claude/skills/flow-dev/context.jsonl +0 -4
- package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
- package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
- package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
- package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
- package/.claude/skills/flow-fix/SKILL.md +0 -105
- package/.claude/skills/flow-fix/context.jsonl +0 -6
- package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
- package/.claude/skills/flow-init/SKILL.md +0 -105
- package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/skills/flow-init/context.jsonl +0 -5
- package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
- package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
- package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
- package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
- package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
- package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
- package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
- package/.claude/skills/flow-quality/SKILL.md +0 -98
- package/.claude/skills/flow-quality/context.jsonl +0 -6
- package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
- package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
- package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
- package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
- package/.claude/skills/flow-release/SKILL.md +0 -60
- package/.claude/skills/flow-release/context.jsonl +0 -5
- package/.claude/skills/flow-release/references/release-manager.md +0 -295
- package/.claude/skills/flow-spec/CLAUDE.md +0 -17
- package/.claude/skills/flow-spec/SKILL.md +0 -102
- package/.claude/skills/flow-spec/context.jsonl +0 -5
- package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
- package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
- package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
- package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
- package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
- package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
- package/.claude/skills/flow-spec/team-config.json +0 -165
- package/.claude/skills/flow-verify/CLAUDE.md +0 -10
- package/.claude/skills/flow-verify/SKILL.md +0 -53
- package/.claude/skills/flow-verify/context.jsonl +0 -5
- package/.claude/skills/fractal-docs/SKILL.md +0 -45
- package/.claude/skills/journey-checker/SKILL.md +0 -199
- package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
- package/.claude/skills/receiving-review/SKILL.md +0 -153
- package/.claude/skills/skill-creator/LICENSE.txt +0 -202
- package/.claude/skills/skill-creator/SKILL.md +0 -356
- package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
- package/.claude/skills/skill-creator/references/workflows.md +0 -28
- package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
- package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
- package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
- package/.claude/skills/skill-rules.json +0 -359
- package/.claude/skills/tdd/SKILL.md +0 -218
- package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
- package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
- package/.claude/skills/utility/npm-release/SKILL.md +0 -379
- package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
- package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
- package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
- package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
- package/.claude/skills/verification/SKILL.md +0 -158
- package/.claude/skills/workflow.yaml +0 -219
- package/.claude/tests/README.md +0 -300
- package/.claude/tests/TODO.md +0 -69
- package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
- package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
- package/.claude/tests/constitution/test_article_coverage.sh +0 -201
- package/.claude/tests/constitution/test_template_completeness.sh +0 -150
- package/.claude/tests/constitution/test_version_consistency.sh +0 -120
- package/.claude/tests/fixtures/spec_delta_full.md +0 -16
- package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
- package/.claude/tests/run-all-tests.sh +0 -229
- package/.claude/tests/scripts/run.sh +0 -30
- package/.claude/tests/scripts/test-framework.sh +0 -128
- package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
- package/.claude/tests/scripts/test_check_task_status.sh +0 -499
- package/.claude/tests/scripts/test_common.sh +0 -244
- package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
- package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
- package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
- package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
- package/.claude/tests/scripts/test_setup_epic.sh +0 -437
- package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
- package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
- package/.claude/tests/scripts/test_validate_research.sh +0 -462
- package/.claude/tests/slugify.bats +0 -82
- package/.claude/tests/test-framework.sh +0 -732
- package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
- package/.claude/tests/test_consolidate_research.py +0 -48
- package/.claude/tests/test_export_contracts.py +0 -43
- package/.claude/tests/test_extract_data_model.py +0 -33
- package/.claude/tests/test_generate_quickstart.py +0 -50
- package/.claude/tests/test_generate_research_tasks.py +0 -52
- package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
- package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
- package/bin/harness.js +0 -22
- package/docs/commands/core-roadmap.md +0 -106
- package/docs/commands/core-roadmap.zh-CN.md +0 -102
- package/docs/commands/core-style.md +0 -53
- package/docs/commands/core-style.zh-CN.md +0 -53
- package/docs/commands/flow-init.md +0 -140
- package/docs/commands/flow-init.zh-CN.md +0 -169
- package/docs/commands/flow-new.md +0 -39
- package/docs/commands/flow-new.zh-CN.md +0 -39
- package/lib/compiler/__tests__/compile-regression.test.js +0 -103
- package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
- package/lib/compiler/__tests__/resource-copier.test.js +0 -26
- package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
- package/lib/compiler/context-expander.js +0 -179
- package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
- package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
- package/lib/compiler/skill-discovery.js +0 -68
- package/lib/harness/CLAUDE.md +0 -22
- package/lib/harness/__tests__/planner.tdd.test.js +0 -125
- package/lib/harness/cli.js +0 -208
- package/lib/harness/index.js +0 -18
- package/lib/harness/operations/dispatch.js +0 -298
- package/lib/harness/operations/init.js +0 -48
- package/lib/harness/operations/pack.js +0 -100
- package/lib/harness/operations/plan.js +0 -83
- package/lib/harness/operations/release.js +0 -170
- package/lib/harness/operations/resume.js +0 -44
- package/lib/harness/operations/verify.js +0 -177
- package/lib/harness/planner.js +0 -272
- package/lib/harness/query.js +0 -126
- package/lib/harness/schemas.js +0 -129
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
# Product Roadmap: {{PROJECT_NAME}}
|
|
2
|
-
|
|
3
|
-
**Version**: {{VERSION}}
|
|
4
|
-
**Created**: {{CREATED_DATE}} 北京时间
|
|
5
|
-
**Updated**: {{UPDATED_DATE}} 北京时间
|
|
6
|
-
**Planning Horizon**: {{PLANNING_HORIZON}}
|
|
7
|
-
**Status**: {{STATUS}}
|
|
8
|
-
|
|
9
|
-
**Input**:
|
|
10
|
-
- 6 阶段对话的结果(candidates, dependencies, timeline, velocity, quarter_info)
|
|
11
|
-
- devflow/requirements/ 已有需求分析
|
|
12
|
-
- 用户愿景声明
|
|
13
|
-
|
|
14
|
-
**Prerequisites**: core-roadmap 命令已完成 6 阶段对话,收集完整上下文
|
|
15
|
-
|
|
16
|
-
## Execution Flow (Roadmap 生成流程)
|
|
17
|
-
```
|
|
18
|
-
1. Load context from command
|
|
19
|
-
→ Parse JSON context (candidates, dependencies, timeline, velocity, quarter_info)
|
|
20
|
-
→ Validate all required fields present
|
|
21
|
-
→ If missing fields: ERROR "Incomplete context from command"
|
|
22
|
-
|
|
23
|
-
2. Load ROADMAP_TEMPLATE.md
|
|
24
|
-
→ Read template from .claude/docs/templates/ROADMAP_TEMPLATE.md
|
|
25
|
-
→ Prepare to fill all sections
|
|
26
|
-
|
|
27
|
-
3. Fill header metadata
|
|
28
|
-
→ Extract project name from devflow/project.md or command context
|
|
29
|
-
→ Set version (1.0.0 for new, increment for updates)
|
|
30
|
-
→ Set created/updated timestamps (Beijing time, ISO 8601)
|
|
31
|
-
→ Calculate planning horizon from quarter_info
|
|
32
|
-
→ Set status = "Active"
|
|
33
|
-
|
|
34
|
-
4. Fill Vision Statement
|
|
35
|
-
→ Use vision_statement from context
|
|
36
|
-
→ Format as clear, concise statement (1-2 paragraphs)
|
|
37
|
-
→ Include problem statement, target users, core value propositions
|
|
38
|
-
|
|
39
|
-
5. Generate Milestone Overview
|
|
40
|
-
→ Group candidates by quarter from timeline
|
|
41
|
-
→ For each quarter: generate milestone name, theme, success criteria
|
|
42
|
-
→ Format as markdown table
|
|
43
|
-
→ Status = "Planned" for all
|
|
44
|
-
|
|
45
|
-
6. Generate Quarterly Details
|
|
46
|
-
→ For each quarter in timeline:
|
|
47
|
-
• Create WBS section
|
|
48
|
-
• List all RM-IDs assigned to this quarter
|
|
49
|
-
• Extract descriptions from candidates
|
|
50
|
-
• Identify dependencies from dependencies list
|
|
51
|
-
• Calculate estimated effort (sum of effort_weeks)
|
|
52
|
-
• Generate success criteria based on candidate titles
|
|
53
|
-
|
|
54
|
-
7. Generate Dependency Graph
|
|
55
|
-
→ Convert dependencies array to Mermaid graph syntax
|
|
56
|
-
→ Include both REQ-to-RM and RM-to-RM dependencies
|
|
57
|
-
→ Color-code nodes:
|
|
58
|
-
• Completed REQs: #90EE90 (light green)
|
|
59
|
-
• In-progress REQs: #FFD700 (gold)
|
|
60
|
-
• Planned RMs: #D3D3D3 (light gray)
|
|
61
|
-
→ Validate Mermaid syntax
|
|
62
|
-
|
|
63
|
-
8. Fill Velocity Tracking
|
|
64
|
-
→ Extract metrics from velocity object
|
|
65
|
-
→ Format as markdown table
|
|
66
|
-
→ Include: completed_reqs, avg_days_per_req, quarterly_capacity
|
|
67
|
-
|
|
68
|
-
9. Generate Implementation Tracking
|
|
69
|
-
→ For each candidate:
|
|
70
|
-
• RM-ID
|
|
71
|
-
• Feature title
|
|
72
|
-
• Derived From (from candidate.derived_from)
|
|
73
|
-
• Status = "Planned"
|
|
74
|
-
• Mapped REQ = "-" (empty initially)
|
|
75
|
-
• Progress = "0%"
|
|
76
|
-
→ Format as markdown table
|
|
77
|
-
|
|
78
|
-
10. Constitution Check (Article VII, VIII, IX)
|
|
79
|
-
→ Simplicity Gate: Check if any milestone has >3 major projects
|
|
80
|
-
→ Anti-Abstraction Gate: Verify no premature infrastructure items
|
|
81
|
-
→ Integration-First Gate: Check if contract-first design mentioned in candidates
|
|
82
|
-
→ Document any violations with justification
|
|
83
|
-
|
|
84
|
-
11. Validate completeness
|
|
85
|
-
→ All sections filled (no {{PLACEHOLDER}} remaining)
|
|
86
|
-
→ All RM-IDs from context included
|
|
87
|
-
→ Dependencies correctly mapped
|
|
88
|
-
→ Mermaid syntax valid
|
|
89
|
-
→ If incomplete: ERROR "Complete missing sections"
|
|
90
|
-
|
|
91
|
-
12. Write devflow/ROADMAP.md
|
|
92
|
-
→ Write complete ROADMAP.md file
|
|
93
|
-
→ Use UTF-8 encoding
|
|
94
|
-
→ Ensure markdown formatting correct
|
|
95
|
-
|
|
96
|
-
13. Return: SUCCESS (ROADMAP.md generated)
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**重要**: 这是一个自执行模板。roadmap-planner agent 应该按照 Execution Flow 生成完整的 ROADMAP.md 文件。
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Vision Statement
|
|
104
|
-
|
|
105
|
-
{{VISION_STATEMENT}}
|
|
106
|
-
|
|
107
|
-
_示例:_
|
|
108
|
-
> 我们正在打造最好用的 AI 助手桌面应用。在接下来的 3 个月,我们将专注于提升用户体验和性能,通过增强输入框功能和优化系统性能,为用户提供更流畅、更高效的交互体验。同时,我们将扩展核心功能,支持多账号管理和数据分析能力,满足专业用户的需求。
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Milestone Overview
|
|
113
|
-
|
|
114
|
-
| Milestone | Quarter | Theme | Success Criteria | Status |
|
|
115
|
-
|-----------|---------|-------|------------------|--------|
|
|
116
|
-
| {{MILESTONE_ID_1}} | {{QUARTER_1}} | {{THEME_1}} | {{SUCCESS_CRITERIA_1}} | {{STATUS_1}} |
|
|
117
|
-
| {{MILESTONE_ID_2}} | {{QUARTER_2}} | {{THEME_2}} | {{SUCCESS_CRITERIA_2}} | {{STATUS_2}} |
|
|
118
|
-
| {{MILESTONE_ID_3}} | {{QUARTER_3}} | {{THEME_3}} | {{SUCCESS_CRITERIA_3}} | {{STATUS_3}} |
|
|
119
|
-
|
|
120
|
-
_填充规则:_
|
|
121
|
-
- Milestone ID 格式: `M{序号}-Q{季度}-{年份}` (例如: M1-Q1-2025)
|
|
122
|
-
- Theme: 该季度的核心主题(1-5 个字,如"用户体验增强")
|
|
123
|
-
- Success Criteria: 具体的成功标准(完成哪些 RM-IDs)
|
|
124
|
-
- Status: Planned | In Progress | Completed | Cancelled
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Q{{QUARTER_NUMBER}} {{YEAR}} Milestones
|
|
129
|
-
|
|
130
|
-
### {{MILESTONE_ID}}: {{MILESTONE_NAME}}
|
|
131
|
-
|
|
132
|
-
**Timeline**: {{START_DATE}} ~ {{END_DATE}}
|
|
133
|
-
**Theme**: {{THEME}}
|
|
134
|
-
|
|
135
|
-
**Success Criteria**:
|
|
136
|
-
- [ ] {{CRITERION_1}}
|
|
137
|
-
- [ ] {{CRITERION_2}}
|
|
138
|
-
- [ ] {{CRITERION_3}}
|
|
139
|
-
|
|
140
|
-
**Feature Cluster 1: {{CLUSTER_NAME_1}}**
|
|
141
|
-
- **{{RM_ID_1}}**: {{TITLE_1}} ({{DERIVED_FROM_1}})
|
|
142
|
-
- 描述: {{DESCRIPTION_1}}
|
|
143
|
-
- 优先级: {{PRIORITY_1}}
|
|
144
|
-
- 预计工作量: {{EFFORT_1}}
|
|
145
|
-
|
|
146
|
-
- **{{RM_ID_2}}**: {{TITLE_2}} ({{DERIVED_FROM_2}})
|
|
147
|
-
- 描述: {{DESCRIPTION_2}}
|
|
148
|
-
- 优先级: {{PRIORITY_2}}
|
|
149
|
-
- 预计工作量: {{EFFORT_2}}
|
|
150
|
-
|
|
151
|
-
**Feature Cluster 2: {{CLUSTER_NAME_2}}**
|
|
152
|
-
- **{{RM_ID_3}}**: {{TITLE_3}} ({{DERIVED_FROM_3}})
|
|
153
|
-
- 描述: {{DESCRIPTION_3}}
|
|
154
|
-
- 优先级: {{PRIORITY_3}}
|
|
155
|
-
- 预计工作量: {{EFFORT_3}}
|
|
156
|
-
|
|
157
|
-
**Dependencies**:
|
|
158
|
-
- **Blocks**: {{BLOCKED_RM_IDS}} (此里程碑完成后可以解锁的需求)
|
|
159
|
-
- **Depends on**: {{PREREQUISITE_REQ_IDS}} (此里程碑依赖的已完成需求)
|
|
160
|
-
|
|
161
|
-
**Risks**:
|
|
162
|
-
- **Risk 1**: {{RISK_DESCRIPTION_1}}
|
|
163
|
-
- **Mitigation**: {{MITIGATION_PLAN_1}}
|
|
164
|
-
|
|
165
|
-
- **Risk 2**: {{RISK_DESCRIPTION_2}}
|
|
166
|
-
- **Mitigation**: {{MITIGATION_PLAN_2}}
|
|
167
|
-
|
|
168
|
-
**Estimated Effort**: {{TOTAL_EFFORT}} ({{BREAKDOWN}})
|
|
169
|
-
|
|
170
|
-
_填充规则:_
|
|
171
|
-
- Feature Cluster: 将相关功能分组(例如: "用户管理升级", "数据处理模块")
|
|
172
|
-
- Derived From: 标注来源(例如: "REQ-009", "Tech Stack", "User Feedback")
|
|
173
|
-
- Risks: 基于依赖关系和技术复杂度识别风险
|
|
174
|
-
|
|
175
|
-
_重复此章节为每个季度创建详细规划_
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## Dependency Graph
|
|
180
|
-
|
|
181
|
-
```mermaid
|
|
182
|
-
graph TD
|
|
183
|
-
{{REQ_NODE_1}}[{{REQ_LABEL_1}}] --> {{RM_NODE_1}}[{{RM_LABEL_1}}]
|
|
184
|
-
{{REQ_NODE_2}}[{{REQ_LABEL_2}}] --> {{RM_NODE_2}}[{{RM_LABEL_2}}]
|
|
185
|
-
{{RM_NODE_1}} --> {{RM_NODE_3}}[{{RM_LABEL_3}}]
|
|
186
|
-
|
|
187
|
-
style {{REQ_NODE_1}} fill:#90EE90
|
|
188
|
-
style {{REQ_NODE_2}} fill:#FFD700
|
|
189
|
-
style {{RM_NODE_1}} fill:#D3D3D3
|
|
190
|
-
style {{RM_NODE_2}} fill:#D3D3D3
|
|
191
|
-
style {{RM_NODE_3}} fill:#D3D3D3
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
_填充规则:_
|
|
195
|
-
- Node ID 格式: REQ001, REQ010, RM001, RM002 (无破折号,用于 Mermaid 节点 ID)
|
|
196
|
-
- Node Label 格式: `REQ-001: 功能名称`, `RM-001: 功能名称`
|
|
197
|
-
- 颜色编码:
|
|
198
|
-
- #90EE90 (浅绿): 已完成的 REQ
|
|
199
|
-
- #FFD700 (金色): 进行中的 REQ
|
|
200
|
-
- #D3D3D3 (浅灰): 计划中的 RM
|
|
201
|
-
- 箭头方向: 依赖项 → 被依赖项 (例如: REQ-009 → RM-001 表示 RM-001 依赖 REQ-009)
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## Velocity Tracking
|
|
206
|
-
|
|
207
|
-
| Metric | Value | Source |
|
|
208
|
-
|--------|-------|--------|
|
|
209
|
-
| Completed REQs | {{COMPLETED_COUNT}} | devflow/requirements/ |
|
|
210
|
-
| Avg Time per REQ | {{AVG_DAYS}} days | EXECUTION_LOG.md analysis |
|
|
211
|
-
| Quarterly Capacity | {{CAPACITY}} REQs | Calculated (90 days / avg days) |
|
|
212
|
-
| Estimated REQs/Quarter | {{ESTIMATED_CAPACITY}} | Based on remaining days |
|
|
213
|
-
|
|
214
|
-
_填充规则:_
|
|
215
|
-
- Completed Count: 从 requirements/ 目录统计
|
|
216
|
-
- Avg Time: 从 EXECUTION_LOG.md 中提取 phase complete 时间戳计算
|
|
217
|
-
- Quarterly Capacity: 90 天 / 平均天数(标准季度容量)
|
|
218
|
-
- Estimated Capacity: 当前季度剩余天数 / 平均天数(当前季度预估容量)
|
|
219
|
-
|
|
220
|
-
_说明: 此表用于追踪项目速度,帮助评估时间线的合理性_
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Implementation Tracking
|
|
225
|
-
|
|
226
|
-
| RM-ID | Feature | Derived From | Status | Mapped REQ | Progress |
|
|
227
|
-
|-------|---------|--------------|--------|------------|----------|
|
|
228
|
-
| {{RM_ID_1}} | {{FEATURE_1}} | {{SOURCE_1}} | {{STATUS_1}} | {{REQ_ID_1}} | {{PROGRESS_1}} |
|
|
229
|
-
| {{RM_ID_2}} | {{FEATURE_2}} | {{SOURCE_2}} | {{STATUS_2}} | {{REQ_ID_2}} | {{PROGRESS_2}} |
|
|
230
|
-
| {{RM_ID_3}} | {{FEATURE_3}} | {{SOURCE_3}} | {{STATUS_3}} | {{REQ_ID_3}} | {{PROGRESS_3}} |
|
|
231
|
-
|
|
232
|
-
_填充规则:_
|
|
233
|
-
- RM-ID: 路线图项目标识符 (RM-001, RM-002, ...)
|
|
234
|
-
- Feature: 功能简短标题
|
|
235
|
-
- Derived From: 来源需求 ID (REQ-001) 或其他来源 (Tech Stack, User Feedback)
|
|
236
|
-
- Status: Planned | In Progress | Completed | Blocked | Cancelled
|
|
237
|
-
- Mapped REQ: 关联的正式需求 ID(初始为 "-",运行 /flow:init 后填充)
|
|
238
|
-
- Progress: 完成百分比 (0%, 20%, 80%, 100%)
|
|
239
|
-
|
|
240
|
-
_说明: 此表用于追踪路线图项到正式需求的映射,以及进度同步_
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## Constitution Check (Phase -1 Gates)
|
|
245
|
-
|
|
246
|
-
### Simplicity Gate (Article VII)
|
|
247
|
-
- [ ] 每个里程碑 ≤3 个主要项目
|
|
248
|
-
- **检查结果**: {{GATE_RESULT_SIMPLICITY}}
|
|
249
|
-
|
|
250
|
-
### Anti-Abstraction Gate (Article VIII)
|
|
251
|
-
- [ ] 无过早基础设施建设
|
|
252
|
-
- **检查结果**: {{GATE_RESULT_ANTI_ABSTRACTION}}
|
|
253
|
-
|
|
254
|
-
### Integration-First Gate (Article IX)
|
|
255
|
-
- [ ] 采用契约优先设计方法
|
|
256
|
-
- **检查结果**: {{GATE_RESULT_INTEGRATION_FIRST}}
|
|
257
|
-
|
|
258
|
-
### Complexity Tracking
|
|
259
|
-
| Potential Violation | Justification | Approved? |
|
|
260
|
-
|---------------------|---------------|-----------|
|
|
261
|
-
| {{VIOLATION_1}} | {{JUSTIFICATION_1}} | {{APPROVED_1}} |
|
|
262
|
-
| {{VIOLATION_2}} | {{JUSTIFICATION_2}} | {{APPROVED_2}} |
|
|
263
|
-
|
|
264
|
-
_填充规则:_
|
|
265
|
-
- Gate Result: ✅ PASS | ⚠️ WARNING | ❌ FAIL
|
|
266
|
-
- Violations: 记录任何宪法违规及其理由
|
|
267
|
-
- Approved: YES (经用户批准) | NO (需要调整)
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## Validation Checklist
|
|
272
|
-
|
|
273
|
-
验证此路线图是否完整:
|
|
274
|
-
|
|
275
|
-
- [ ] 愿景声明清晰且可操作
|
|
276
|
-
- [ ] 所有里程碑有明确的成功标准
|
|
277
|
-
- [ ] 所有意向需求已分配优先级 (P1/P2/P3)
|
|
278
|
-
- [ ] 依赖关系已映射并可视化
|
|
279
|
-
- [ ] 基于历史速度的现实时间线
|
|
280
|
-
- [ ] Constitution Check 通过
|
|
281
|
-
- [ ] 无循环依赖
|
|
282
|
-
- [ ] 风险缓解计划已制定
|
|
283
|
-
|
|
284
|
-
**Ready for Stakeholder Review**: {{READY_STATUS}}
|
|
285
|
-
|
|
286
|
-
_填充规则:_
|
|
287
|
-
- 每个 checkbox 应被标记为 `[x]` 或 `[ ]`
|
|
288
|
-
- Ready Status: YES | NO (with reasons)
|
|
289
|
-
- 如果任何 critical item 未完成,Status 应为 NO
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
## Appendix: Terminology
|
|
294
|
-
|
|
295
|
-
- **RM-ID**: Roadmap Item ID,路线图意向项标识符(如 RM-001)
|
|
296
|
-
- **REQ-ID**: Requirement ID,正式需求标识符(如 REQ-010)
|
|
297
|
-
- **Derived From**: 来源,标注该意向项从哪个已有需求或来源延伸而来
|
|
298
|
-
- **Mapped REQ**: 映射需求,当意向项通过 /flow:init 正式创建为需求后,记录其 REQ-ID
|
|
299
|
-
- **Feature Cluster**: 功能集群,将相关的意向项分组便于理解和管理
|
|
300
|
-
- **Milestone**: 里程碑,一个季度内要完成的一组功能集群
|
|
301
|
-
- **Velocity**: 速度,团队完成需求的平均速率(天数/需求)
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
**生成说明**:
|
|
306
|
-
1. 所有 `{{PLACEHOLDER}}` 必须被实际内容替换
|
|
307
|
-
2. Mermaid 代码必须语法正确
|
|
308
|
-
3. 所有日期使用北京时间 + ISO 8601 格式
|
|
309
|
-
4. 进度百分比应准确反映实际状态
|
|
310
|
-
5. 依赖关系应与 BACKLOG.md 保持一致
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
# spec.md Template - Delta (Requirement Level)
|
|
2
|
-
|
|
3
|
-
> **Purpose**: 需求级 Delta spec.md 模板,只包含变更
|
|
4
|
-
> **Location**: `devflow/requirements/${REQ_ID}/specs/{module}/spec.md`
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
```markdown
|
|
9
|
-
---
|
|
10
|
-
delta_id: "${REQ_ID}"
|
|
11
|
-
module: "${MODULE_NAME}"
|
|
12
|
-
title: "${CHANGE_TITLE}"
|
|
13
|
-
created_at: "${CREATED_AT}"
|
|
14
|
-
status: "draft"
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# Delta: ${变更标题}
|
|
18
|
-
|
|
19
|
-
## Summary
|
|
20
|
-
${为什么需要这个变更?简短说明}
|
|
21
|
-
|
|
22
|
-
## ADDED Requirements
|
|
23
|
-
|
|
24
|
-
### Requirement: ${New Requirement Name}
|
|
25
|
-
The system ${SHALL|MUST|SHOULD|MAY} ${new behavior}.
|
|
26
|
-
|
|
27
|
-
#### Scenario: ${New Scenario}
|
|
28
|
-
- GIVEN ${precondition}
|
|
29
|
-
- WHEN ${action}
|
|
30
|
-
- THEN ${expected result}
|
|
31
|
-
- AND ${additional assertion}
|
|
32
|
-
|
|
33
|
-
## MODIFIED Requirements
|
|
34
|
-
|
|
35
|
-
### Requirement: ${Existing Requirement Name}
|
|
36
|
-
The system ${SHALL|MUST|SHOULD|MAY} ${modified behavior}.
|
|
37
|
-
(Previously: ${old behavior})
|
|
38
|
-
|
|
39
|
-
**Rationale**: ${说明为什么修改}
|
|
40
|
-
|
|
41
|
-
## REMOVED Requirements
|
|
42
|
-
|
|
43
|
-
### Requirement: ${Removed Requirement Name}
|
|
44
|
-
**Rationale**: ${说明为什么移除}
|
|
45
|
-
|
|
46
|
-
## RENAMED Requirements
|
|
47
|
-
|
|
48
|
-
### Requirement: ${Old Name} → ${New Name}
|
|
49
|
-
**Rationale**: ${说明为什么重命名}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Delta Operations
|
|
55
|
-
|
|
56
|
-
| Operation | Description | When to Use |
|
|
57
|
-
|-----------|-------------|-------------|
|
|
58
|
-
| **ADDED** | 新增需求 | 添加新功能、新场景 |
|
|
59
|
-
| **MODIFIED** | 修改现有需求 | 改变行为、更新约束 |
|
|
60
|
-
| **REMOVED** | 删除需求 | 废弃功能、移除特性 |
|
|
61
|
-
| **RENAMED** | 重命名需求 | 改进命名、统一术语 |
|
|
62
|
-
|
|
63
|
-
## Status Values
|
|
64
|
-
|
|
65
|
-
- `draft` - 草稿状态,等待审批
|
|
66
|
-
- `approved` - 已审批,等待实施
|
|
67
|
-
- `applied` - 已应用到项目级 spec
|
|
68
|
-
|
|
69
|
-
## Merge Rules
|
|
70
|
-
|
|
71
|
-
归档时 (`/flow:release`),`delta-parser.ts` 自动执行:
|
|
72
|
-
|
|
73
|
-
1. **ADDED**: 追加到项目级 spec.md 的 Requirements 章节
|
|
74
|
-
2. **MODIFIED**: 替换项目级 spec.md 中对应的 Requirement
|
|
75
|
-
3. **REMOVED**: 从项目级 spec.md 中删除对应的 Requirement
|
|
76
|
-
4. **RENAMED**: 重命名项目级 spec.md 中的 Requirement 标题
|
|
77
|
-
5. **Version Bump**: 更新项目级 spec.md 的 version 字段
|
|
78
|
-
|
|
79
|
-
## Version Bump Strategy
|
|
80
|
-
|
|
81
|
-
- **ADDED** 新功能 → MINOR +1 (1.0.0 → 1.1.0)
|
|
82
|
-
- **MODIFIED** 现有功能 → PATCH +1 (1.0.0 → 1.0.1)
|
|
83
|
-
- **REMOVED** 功能 → MAJOR +1 (1.0.0 → 2.0.0) - 破坏性变更
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Example
|
|
88
|
-
|
|
89
|
-
```markdown
|
|
90
|
-
---
|
|
91
|
-
delta_id: "REQ-123"
|
|
92
|
-
module: "auth"
|
|
93
|
-
title: "添加 2FA 支持"
|
|
94
|
-
created_at: "2026-03-12T10:00:00Z"
|
|
95
|
-
status: "draft"
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
# Delta: 添加 2FA 支持
|
|
99
|
-
|
|
100
|
-
## Summary
|
|
101
|
-
为提高安全性,添加两因素认证支持。用户可选择启用 2FA,登录时需要输入 OTP 验证码。
|
|
102
|
-
|
|
103
|
-
## ADDED Requirements
|
|
104
|
-
|
|
105
|
-
### Requirement: Two-Factor Authentication
|
|
106
|
-
The system MUST require a second factor during login for users with 2FA enabled.
|
|
107
|
-
|
|
108
|
-
#### Scenario: OTP required
|
|
109
|
-
- GIVEN a user with 2FA enabled
|
|
110
|
-
- WHEN the user submits valid credentials
|
|
111
|
-
- THEN an OTP challenge is presented
|
|
112
|
-
- AND the user must enter a valid OTP code
|
|
113
|
-
|
|
114
|
-
#### Scenario: OTP validation
|
|
115
|
-
- GIVEN a user has entered valid credentials
|
|
116
|
-
- WHEN the user submits a valid OTP code
|
|
117
|
-
- THEN a JWT token is issued
|
|
118
|
-
- AND the user is redirected to dashboard
|
|
119
|
-
|
|
120
|
-
## MODIFIED Requirements
|
|
121
|
-
|
|
122
|
-
### Requirement: Session Management
|
|
123
|
-
The system SHALL expire sessions after 30 minutes of inactivity.
|
|
124
|
-
(Previously: 60 minutes)
|
|
125
|
-
|
|
126
|
-
**Rationale**: 缩短超时时间以提高安全性,配合 2FA 使用。
|
|
127
|
-
|
|
128
|
-
## REMOVED Requirements
|
|
129
|
-
|
|
130
|
-
None
|
|
131
|
-
|
|
132
|
-
## RENAMED Requirements
|
|
133
|
-
|
|
134
|
-
None
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
**Version**: v4.3.0
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# spec.md Template - Project Level
|
|
2
|
-
|
|
3
|
-
> **Purpose**: 项目级 spec.md 模板,描述当前系统状态
|
|
4
|
-
> **Location**: `devflow/specs/{module}/spec.md`
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
```markdown
|
|
9
|
-
---
|
|
10
|
-
module: "${MODULE_NAME}"
|
|
11
|
-
created_at: "${CREATED_AT}"
|
|
12
|
-
updated_at: "${UPDATED_AT}"
|
|
13
|
-
version: "1.0.0"
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# ${Module Name}
|
|
17
|
-
|
|
18
|
-
## Purpose
|
|
19
|
-
${高层描述:这个模块是干什么的}
|
|
20
|
-
|
|
21
|
-
## Requirements
|
|
22
|
-
|
|
23
|
-
### Requirement: ${Requirement Name}
|
|
24
|
-
The system ${SHALL|MUST|SHOULD|MAY} ${behavior description}.
|
|
25
|
-
|
|
26
|
-
#### Scenario: ${Scenario Name}
|
|
27
|
-
- GIVEN ${precondition}
|
|
28
|
-
- WHEN ${action}
|
|
29
|
-
- THEN ${expected result}
|
|
30
|
-
- AND ${additional assertion}
|
|
31
|
-
|
|
32
|
-
### Requirement: ${Another Requirement}
|
|
33
|
-
The system ${SHALL|MUST|SHOULD|MAY} ${behavior description}.
|
|
34
|
-
|
|
35
|
-
#### Scenario: ${Another Scenario}
|
|
36
|
-
- GIVEN ${precondition}
|
|
37
|
-
- WHEN ${action}
|
|
38
|
-
- THEN ${expected result}
|
|
39
|
-
|
|
40
|
-
## Implementation
|
|
41
|
-
|
|
42
|
-
### API Endpoints
|
|
43
|
-
- ${METHOD} ${PATH}
|
|
44
|
-
- ${METHOD} ${PATH}
|
|
45
|
-
|
|
46
|
-
### Data Model
|
|
47
|
-
\`\`\`sql
|
|
48
|
-
CREATE TABLE ${table_name} (
|
|
49
|
-
id UUID PRIMARY KEY,
|
|
50
|
-
${field_name} ${field_type} ${constraints}
|
|
51
|
-
);
|
|
52
|
-
\`\`\`
|
|
53
|
-
|
|
54
|
-
### Files
|
|
55
|
-
- \`${file_path}\`
|
|
56
|
-
- \`${file_path}\`
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
**Note**: This spec describes the current state of the system.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Field Descriptions
|
|
66
|
-
|
|
67
|
-
| Field | Description | Example |
|
|
68
|
-
|-------|-------------|---------|
|
|
69
|
-
| `module` | 模块名称 | "auth", "payments", "ui" |
|
|
70
|
-
| `created_at` | 创建时间 (ISO 8601) | "2026-01-01T10:00:00Z" |
|
|
71
|
-
| `updated_at` | 最后更新时间 | "2026-03-12T15:30:00Z" |
|
|
72
|
-
| `version` | 语义化版本号 | "2.1.0" |
|
|
73
|
-
|
|
74
|
-
## RFC 2119 Keywords
|
|
75
|
-
|
|
76
|
-
- **SHALL**: 必须实现(核心功能)
|
|
77
|
-
- **MUST**: 强制要求(安全/合规)
|
|
78
|
-
- **SHOULD**: 推荐实现(最佳实践)
|
|
79
|
-
- **MAY**: 可选实现(增强功能)
|
|
80
|
-
|
|
81
|
-
## BDD Scenario Format
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
#### Scenario: {场景名称}
|
|
85
|
-
- GIVEN {前置条件}
|
|
86
|
-
- WHEN {触发动作}
|
|
87
|
-
- THEN {预期结果}
|
|
88
|
-
- AND {额外断言}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
**Version**: v4.3.0
|