cc-devflow 1.0.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/CLAUDE.md +83 -0
- package/.claude/agents/architecture-designer.md +443 -0
- package/.claude/agents/bug-analyzer.md +382 -0
- package/.claude/agents/checklist-agent.md +175 -0
- package/.claude/agents/clarify-analyst.md +50 -0
- package/.claude/agents/code-reviewer.md +71 -0
- package/.claude/agents/codex-analyzer.md +39 -0
- package/.claude/agents/compatibility-checker.md +580 -0
- package/.claude/agents/consistency-checker.md +532 -0
- package/.claude/agents/impact-analyzer.md +441 -0
- package/.claude/agents/planner.md +230 -0
- package/.claude/agents/prd-writer.md +320 -0
- package/.claude/agents/project-guidelines-generator.md +1329 -0
- package/.claude/agents/qa-tester.md +313 -0
- package/.claude/agents/release-manager.md +295 -0
- package/.claude/agents/security-reviewer.md +314 -0
- package/.claude/agents/style-guide-generator.md +458 -0
- package/.claude/agents/tech-architect.md +516 -0
- package/.claude/agents/ui-designer.md +485 -0
- package/.claude/commands/code-review-high.md +58 -0
- package/.claude/commands/core-architecture.md +429 -0
- package/.claude/commands/core-guidelines.md +486 -0
- package/.claude/commands/core-roadmap.md +439 -0
- package/.claude/commands/core-style.md +293 -0
- package/.claude/commands/flow-archive.md +245 -0
- package/.claude/commands/flow-checklist.md +260 -0
- package/.claude/commands/flow-clarify.md +136 -0
- package/.claude/commands/flow-constitution.md +82 -0
- package/.claude/commands/flow-dev.md +134 -0
- package/.claude/commands/flow-epic.md +150 -0
- package/.claude/commands/flow-fix.md +104 -0
- package/.claude/commands/flow-ideate.md +214 -0
- package/.claude/commands/flow-init.md +313 -0
- package/.claude/commands/flow-new.md +394 -0
- package/.claude/commands/flow-prd.md +131 -0
- package/.claude/commands/flow-qa.md +93 -0
- package/.claude/commands/flow-release.md +92 -0
- package/.claude/commands/flow-restart.md +98 -0
- package/.claude/commands/flow-status.md +64 -0
- package/.claude/commands/flow-tech.md +142 -0
- package/.claude/commands/flow-ui.md +189 -0
- package/.claude/commands/flow-update.md +111 -0
- package/.claude/commands/flow-upgrade.md +115 -0
- package/.claude/commands/flow-verify.md +96 -0
- package/.claude/commands/problem-analyzer.md +60 -0
- package/.claude/config/quality-rules.yml +161 -0
- package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +426 -0
- package/.claude/docs/design/consistency-conflict-detection-algorithms.md +658 -0
- package/.claude/docs/design/intent-driven-input-design.md +380 -0
- package/.claude/docs/design/prd-version-management-design.md +437 -0
- package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +117 -0
- package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +151 -0
- package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +188 -0
- package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +338 -0
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +633 -0
- package/.claude/docs/templates/BACKLOG_TEMPLATE.md +261 -0
- package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +52 -0
- package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +206 -0
- package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +71 -0
- package/.claude/docs/templates/EPIC_TEMPLATE.md +805 -0
- package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +213 -0
- package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +57 -0
- package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +148 -0
- package/.claude/docs/templates/PRD_TEMPLATE.md +562 -0
- package/.claude/docs/templates/RESEARCH_TEMPLATE.md +276 -0
- package/.claude/docs/templates/REVIEW-HIGH.md +57 -0
- package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +198 -0
- package/.claude/docs/templates/ROADMAP_TEMPLATE.md +310 -0
- package/.claude/docs/templates/STYLE_TEMPLATE.md +1266 -0
- package/.claude/docs/templates/TASKS_TEMPLATE.md +523 -0
- package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +1019 -0
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +1436 -0
- package/.claude/guides/agent-guides/agent-coordination-guide.md +459 -0
- package/.claude/guides/project-guidelines-system.md +463 -0
- package/.claude/guides/technical-guides/datetime-handling-guide.md +563 -0
- package/.claude/guides/technical-guides/git-github-guide.md +642 -0
- package/.claude/guides/technical-guides/test-execution-guide.md +618 -0
- package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +217 -0
- package/.claude/guides/workflow-guides/flow-orchestrator.md +282 -0
- package/.claude/hooks/checklist-gate.js +397 -0
- package/.claude/hooks/error-handling-reminder.sh +12 -0
- package/.claude/hooks/error-handling-reminder.ts +459 -0
- package/.claude/hooks/post-tool-use-tracker.sh +280 -0
- package/.claude/hooks/pre-tool-use-guardrail.sh +36 -0
- package/.claude/hooks/pre-tool-use-guardrail.ts +342 -0
- package/.claude/hooks/skill-activation-prompt.sh +36 -0
- package/.claude/hooks/skill-activation-prompt.ts +214 -0
- package/.claude/hooks/state/skills-used-test-guard.json +3 -0
- package/.claude/rules/devflow-conventions.md +305 -0
- package/.claude/rules/project-constitution.md +748 -0
- package/.claude/schemas/constitution.schema.json +43 -0
- package/.claude/scripts/analyze-upgrade-impact.sh +200 -0
- package/.claude/scripts/archive-requirement.sh +351 -0
- package/.claude/scripts/calculate-checklist-completion.sh +243 -0
- package/.claude/scripts/calculate-quarter.sh +206 -0
- package/.claude/scripts/check-dependencies.sh +409 -0
- package/.claude/scripts/check-prerequisites.sh +232 -0
- package/.claude/scripts/check-task-status.sh +264 -0
- package/.claude/scripts/checklist-errors.sh +131 -0
- package/.claude/scripts/common.sh +570 -0
- package/.claude/scripts/consolidate-research.sh +182 -0
- package/.claude/scripts/create-requirement.sh +426 -0
- package/.claude/scripts/export-contracts.sh +117 -0
- package/.claude/scripts/extract-data-model.sh +78 -0
- package/.claude/scripts/generate-clarification-questions.sh +377 -0
- package/.claude/scripts/generate-clarification-report.sh +463 -0
- package/.claude/scripts/generate-quickstart.sh +146 -0
- package/.claude/scripts/generate-research-tasks.sh +157 -0
- package/.claude/scripts/generate-status-report.sh +523 -0
- package/.claude/scripts/generate-tech-analysis.sh +46 -0
- package/.claude/scripts/locate-requirement-in-roadmap.sh +233 -0
- package/.claude/scripts/manage-constitution.sh +602 -0
- package/.claude/scripts/mark-task-complete.sh +198 -0
- package/.claude/scripts/populate-research-tasks.sh +259 -0
- package/.claude/scripts/recover-workflow.sh +460 -0
- package/.claude/scripts/run-clarify-scan.sh +601 -0
- package/.claude/scripts/run-high-review.sh +62 -0
- package/.claude/scripts/run-problem-analysis.sh +68 -0
- package/.claude/scripts/setup-epic.sh +173 -0
- package/.claude/scripts/sync-roadmap-progress.sh +300 -0
- package/.claude/scripts/sync-task-marks.sh +199 -0
- package/.claude/scripts/test-clarify-scan.sh +515 -0
- package/.claude/scripts/update-agent-context.sh +806 -0
- package/.claude/scripts/validate-constitution.sh +567 -0
- package/.claude/scripts/validate-hooks.sh +487 -0
- package/.claude/scripts/validate-research.sh +332 -0
- package/.claude/scripts/validate-scope-boundary.sh +493 -0
- package/.claude/scripts/verify-setup.sh +37 -0
- package/.claude/settings.json +76 -0
- package/.claude/skills/_reference-implementations/README.md +96 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +302 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +451 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +307 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +638 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +275 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +224 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +213 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +756 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +336 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +789 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +235 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +754 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +399 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +331 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +872 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +502 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +767 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +502 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +501 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +406 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +364 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +428 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +418 -0
- package/.claude/skills/cc-devflow-orchestrator/SKILL.md +229 -0
- package/.claude/skills/constitution-guardian/SKILL.md +306 -0
- package/.claude/skills/devflow-constitution-quick-ref/SKILL.md +374 -0
- package/.claude/skills/devflow-file-standards/SKILL.md +353 -0
- package/.claude/skills/devflow-tdd-enforcer/SKILL.md +192 -0
- package/.claude/skills/skill-developer/ADVANCED.md +197 -0
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
- package/.claude/skills/skill-developer/SKILL.md +426 -0
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
- package/.claude/skills/skill-rules.json +213 -0
- package/.claude/tests/README.md +300 -0
- package/.claude/tests/TODO.md +69 -0
- 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 +111 -0
- package/.claude/tests/constitution/test_agent_assignment.sh +207 -0
- package/.claude/tests/constitution/test_article_coverage.sh +201 -0
- package/.claude/tests/constitution/test_template_completeness.sh +150 -0
- package/.claude/tests/constitution/test_version_consistency.sh +120 -0
- package/.claude/tests/fixtures/spec_delta_full.md +16 -0
- package/.claude/tests/fixtures/tasks_progress_sample.md +5 -0
- package/.claude/tests/run-all-tests.sh +229 -0
- package/.claude/tests/scripts/run.sh +30 -0
- package/.claude/tests/scripts/test-framework.sh +128 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh +511 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak +504 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +505 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +506 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +507 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +508 -0
- package/.claude/tests/scripts/test_check_task_status.sh +499 -0
- package/.claude/tests/scripts/test_common.sh +244 -0
- package/.claude/tests/scripts/test_generate_status_report.sh +71 -0
- package/.claude/tests/scripts/test_mark_task_complete.sh +441 -0
- package/.claude/tests/scripts/test_mark_task_complete.sh.backup +410 -0
- package/.claude/tests/scripts/test_recover_workflow.sh +304 -0
- package/.claude/tests/scripts/test_setup_epic.sh +437 -0
- package/.claude/tests/scripts/test_sync_task_marks.sh +196 -0
- package/.claude/tests/scripts/test_validate_constitution.sh +74 -0
- package/.claude/tests/scripts/test_validate_research.sh +462 -0
- package/.claude/tests/slugify.bats +82 -0
- package/.claude/tests/test-framework.sh +732 -0
- package/.claude/tests/test_analyze_upgrade_impact.py +34 -0
- package/.claude/tests/test_consolidate_research.py +48 -0
- package/.claude/tests/test_export_contracts.py +43 -0
- package/.claude/tests/test_extract_data_model.py +33 -0
- package/.claude/tests/test_generate_quickstart.py +50 -0
- package/.claude/tests/test_generate_research_tasks.py +52 -0
- package/.claude/tsc-cache/6e64f818-6398-49ca-8623-581a9af85c44/edited-files.log +1 -0
- package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +1 -0
- package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/edited-files.log +1 -0
- package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +1 -0
- package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/edited-files.log +1 -0
- package/CHANGELOG.md +507 -0
- package/LICENSE +21 -0
- package/README.md +534 -0
- package/README.zh-CN.md +530 -0
- package/bin/adapt.js +240 -0
- package/bin/cc-devflow-cli.js +185 -0
- package/bin/cc-devflow.js +78 -0
- package/config/adapters.yml +5 -0
- package/config/schema/adapters.schema.json +44 -0
- package/docs/CLAUDE.md +26 -0
- package/docs/commands/README.md +61 -0
- package/docs/commands/README.zh-CN.md +55 -0
- package/docs/commands/core-roadmap.md +106 -0
- package/docs/commands/core-roadmap.zh-CN.md +102 -0
- package/docs/commands/core-style.md +405 -0
- package/docs/commands/core-style.zh-CN.md +405 -0
- package/docs/commands/flow-init.md +134 -0
- package/docs/commands/flow-init.zh-CN.md +163 -0
- package/docs/commands/flow-new.md +274 -0
- package/docs/commands/flow-new.zh-CN.md +270 -0
- package/docs/guides/getting-started.md +204 -0
- package/docs/guides/getting-started.zh-CN.md +152 -0
- package/lib/adapters/adapter-interface.js +57 -0
- package/lib/adapters/claude-adapter.js +74 -0
- package/lib/adapters/codex-adapter.js +40 -0
- package/lib/adapters/config-validator.js +68 -0
- package/lib/adapters/logger.js +42 -0
- package/lib/adapters/registry.js +153 -0
- package/lib/compiler/CLAUDE.md +92 -0
- package/lib/compiler/__tests__/drift.test.js +215 -0
- package/lib/compiler/__tests__/errors.test.js +184 -0
- package/lib/compiler/__tests__/incremental.test.js +174 -0
- package/lib/compiler/__tests__/integration.test.js +174 -0
- package/lib/compiler/__tests__/manifest.test.js +233 -0
- package/lib/compiler/__tests__/parser.test.js +456 -0
- package/lib/compiler/__tests__/schemas.test.js +301 -0
- package/lib/compiler/__tests__/skills-registry.test.js +125 -0
- package/lib/compiler/__tests__/transformer.test.js +286 -0
- package/lib/compiler/emitters/antigravity-emitter.js +171 -0
- package/lib/compiler/emitters/base-emitter.js +73 -0
- package/lib/compiler/emitters/codex-emitter.js +52 -0
- package/lib/compiler/emitters/cursor-emitter.js +31 -0
- package/lib/compiler/emitters/index.js +50 -0
- package/lib/compiler/emitters/qwen-emitter.js +39 -0
- package/lib/compiler/errors.js +119 -0
- package/lib/compiler/index.js +256 -0
- package/lib/compiler/manifest.js +242 -0
- package/lib/compiler/parser.js +258 -0
- package/lib/compiler/platforms.js +113 -0
- package/lib/compiler/resource-copier.js +320 -0
- package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +191 -0
- package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +109 -0
- package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +123 -0
- package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +123 -0
- package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +253 -0
- package/lib/compiler/rules-emitters/base-rules-emitter.js +83 -0
- package/lib/compiler/rules-emitters/codex-rules-emitter.js +116 -0
- package/lib/compiler/rules-emitters/cursor-rules-emitter.js +98 -0
- package/lib/compiler/rules-emitters/index.js +71 -0
- package/lib/compiler/rules-emitters/qwen-rules-emitter.js +70 -0
- package/lib/compiler/schemas.js +144 -0
- package/lib/compiler/skills-registry.js +225 -0
- package/lib/compiler/transformer.js +236 -0
- package/package.json +50 -0
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
# PRD 版本管理系统设计
|
|
2
|
+
|
|
3
|
+
> **设计目标**: 建立追踪 PRD 变更历史和影响分析的完整系统
|
|
4
|
+
> **创建时间**: 2025-01-20
|
|
5
|
+
> **版本**: v1.0
|
|
6
|
+
|
|
7
|
+
## 📋 概述
|
|
8
|
+
|
|
9
|
+
基于 spec-kit 的规格驱动理念,为 cc-devflow 建立完整的 PRD 版本管理体系,支持:
|
|
10
|
+
- PRD 文档版本化 (v1.0, v1.1, v2.0...)
|
|
11
|
+
- 变更影响分析报告
|
|
12
|
+
- 规格变更触发的重新评估机制
|
|
13
|
+
- 向后兼容性检查
|
|
14
|
+
|
|
15
|
+
## 🎯 核心目标
|
|
16
|
+
|
|
17
|
+
### 主要功能
|
|
18
|
+
1. **自动版本化**: PRD 变更时自动创建新版本
|
|
19
|
+
2. **变更追踪**: 详细记录每次变更的内容和原因
|
|
20
|
+
3. **影响分析**: 分析变更对现有实现的影响
|
|
21
|
+
4. **回滚支持**: 支持回滚到历史版本
|
|
22
|
+
5. **兼容性检查**: 检查新版本与现有实现的兼容性
|
|
23
|
+
|
|
24
|
+
### 设计原则
|
|
25
|
+
- **增量式管理**: 支持语义化版本控制 (SemVer)
|
|
26
|
+
- **变更透明**: 每次变更都有清晰的记录和说明
|
|
27
|
+
- **影响预测**: 在变更前预测可能的影响范围
|
|
28
|
+
- **自动化优先**: 减少手动维护工作
|
|
29
|
+
|
|
30
|
+
## 🏗 架构设计
|
|
31
|
+
|
|
32
|
+
### 文件结构
|
|
33
|
+
```text
|
|
34
|
+
devflow/requirements/${reqId}/
|
|
35
|
+
├── PRD.md # 当前版本 PRD
|
|
36
|
+
├── versions/ # 版本历史
|
|
37
|
+
│ ├── v1.0/
|
|
38
|
+
│ │ ├── PRD.md # v1.0 版本快照
|
|
39
|
+
│ │ ├── CHANGELOG.md # v1.0 变更日志
|
|
40
|
+
│ │ └── IMPACT_ANALYSIS.md # 影响分析报告
|
|
41
|
+
│ ├── v1.1/
|
|
42
|
+
│ │ ├── PRD.md
|
|
43
|
+
│ │ ├── CHANGELOG.md
|
|
44
|
+
│ │ └── IMPACT_ANALYSIS.md
|
|
45
|
+
│ └── v2.0/
|
|
46
|
+
│ ├── PRD.md
|
|
47
|
+
│ ├── CHANGELOG.md
|
|
48
|
+
│ └── IMPACT_ANALYSIS.md
|
|
49
|
+
├── VERSION_HISTORY.md # 完整版本历史
|
|
50
|
+
├── COMPATIBILITY_MATRIX.md # 兼容性矩阵
|
|
51
|
+
└── upgrade/ # 升级工具和脚本
|
|
52
|
+
├── migration_guide.md # 迁移指南
|
|
53
|
+
└── compatibility_check.json # 兼容性检查结果
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 版本控制策略
|
|
57
|
+
|
|
58
|
+
#### 语义化版本控制
|
|
59
|
+
```yaml
|
|
60
|
+
版本格式: MAJOR.MINOR.PATCH
|
|
61
|
+
|
|
62
|
+
MAJOR (主版本):
|
|
63
|
+
- 破坏性变更
|
|
64
|
+
- 核心用户故事删除或重大修改
|
|
65
|
+
- API 接口不兼容变更
|
|
66
|
+
|
|
67
|
+
MINOR (次版本):
|
|
68
|
+
- 新增功能
|
|
69
|
+
- 新增用户故事
|
|
70
|
+
- 向后兼容的功能增强
|
|
71
|
+
|
|
72
|
+
PATCH (修订版):
|
|
73
|
+
- Bug 修复
|
|
74
|
+
- 文档更新
|
|
75
|
+
- 澄清性修改
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### 自动版本检测算法
|
|
79
|
+
```yaml
|
|
80
|
+
变更分析:
|
|
81
|
+
user_story_changes:
|
|
82
|
+
- added_stories: count
|
|
83
|
+
- removed_stories: count
|
|
84
|
+
- modified_stories: count
|
|
85
|
+
|
|
86
|
+
acceptance_criteria_changes:
|
|
87
|
+
- breaking_changes: count
|
|
88
|
+
- new_requirements: count
|
|
89
|
+
- clarifications: count
|
|
90
|
+
|
|
91
|
+
non_functional_changes:
|
|
92
|
+
- performance_requirements: modified
|
|
93
|
+
- security_requirements: modified
|
|
94
|
+
- integration_requirements: modified
|
|
95
|
+
|
|
96
|
+
版本判定:
|
|
97
|
+
if removed_stories > 0 OR breaking_changes > 0:
|
|
98
|
+
version_type: MAJOR
|
|
99
|
+
elif added_stories > 0 OR new_requirements > 0:
|
|
100
|
+
version_type: MINOR
|
|
101
|
+
else:
|
|
102
|
+
version_type: PATCH
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 🔧 实现方案
|
|
106
|
+
|
|
107
|
+
### 1. 版本管理核心组件
|
|
108
|
+
|
|
109
|
+
#### 版本检测器 (Version Detector)
|
|
110
|
+
```yaml
|
|
111
|
+
职责:
|
|
112
|
+
- 比较新旧 PRD 内容
|
|
113
|
+
- 识别变更类型和级别
|
|
114
|
+
- 自动确定版本号
|
|
115
|
+
|
|
116
|
+
输入:
|
|
117
|
+
- 当前 PRD 内容
|
|
118
|
+
- 新的 PRD 内容
|
|
119
|
+
- 历史版本信息
|
|
120
|
+
|
|
121
|
+
输出:
|
|
122
|
+
- 建议版本号
|
|
123
|
+
- 变更摘要
|
|
124
|
+
- 影响评估
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
#### 影响分析器 (Impact Analyzer)
|
|
128
|
+
```yaml
|
|
129
|
+
职责:
|
|
130
|
+
- 分析变更对现有实现的影响
|
|
131
|
+
- 识别需要更新的代码模块
|
|
132
|
+
- 评估测试覆盖影响
|
|
133
|
+
|
|
134
|
+
分析维度:
|
|
135
|
+
- API 接口变更
|
|
136
|
+
- 数据模型变更
|
|
137
|
+
- 业务流程变更
|
|
138
|
+
- 非功能需求变更
|
|
139
|
+
- 依赖关系变更
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### 兼容性检查器 (Compatibility Checker)
|
|
143
|
+
```yaml
|
|
144
|
+
职责:
|
|
145
|
+
- 检查新版本与现有实现的兼容性
|
|
146
|
+
- 生成兼容性报告
|
|
147
|
+
- 提供迁移建议
|
|
148
|
+
|
|
149
|
+
检查类型:
|
|
150
|
+
- 向后兼容性
|
|
151
|
+
- 向前兼容性
|
|
152
|
+
- 数据兼容性
|
|
153
|
+
- API 兼容性
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 2. 升级工作流
|
|
157
|
+
|
|
158
|
+
#### /flow-upgrade 命令
|
|
159
|
+
```bash
|
|
160
|
+
# 分析当前 PRD 并建议版本升级
|
|
161
|
+
/flow-upgrade "REQ-123" --analyze
|
|
162
|
+
|
|
163
|
+
# 执行版本升级
|
|
164
|
+
/flow-upgrade "REQ-123" --version="2.0" --reason="添加移动端支持"
|
|
165
|
+
|
|
166
|
+
# 回滚到指定版本
|
|
167
|
+
/flow-upgrade "REQ-123" --rollback="v1.2"
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
#### 升级流程
|
|
171
|
+
```yaml
|
|
172
|
+
Phase 1 - 变更分析:
|
|
173
|
+
1. 读取当前 PRD 和历史版本
|
|
174
|
+
2. 执行差异分析
|
|
175
|
+
3. 生成变更摘要
|
|
176
|
+
4. 建议版本号
|
|
177
|
+
|
|
178
|
+
Phase 2 - 影响评估:
|
|
179
|
+
1. 分析代码库中相关实现
|
|
180
|
+
2. 识别需要更新的文件
|
|
181
|
+
3. 评估测试影响
|
|
182
|
+
4. 生成影响分析报告
|
|
183
|
+
|
|
184
|
+
Phase 3 - 版本创建:
|
|
185
|
+
1. 创建新版本目录
|
|
186
|
+
2. 保存 PRD 快照
|
|
187
|
+
3. 生成变更日志
|
|
188
|
+
4. 更新版本历史
|
|
189
|
+
|
|
190
|
+
Phase 4 - 后续处理:
|
|
191
|
+
1. 触发相关代码更新流程
|
|
192
|
+
2. 更新测试用例
|
|
193
|
+
3. 生成迁移指南
|
|
194
|
+
4. 通知相关团队
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 3. 变更追踪机制
|
|
198
|
+
|
|
199
|
+
#### 变更日志格式
|
|
200
|
+
```markdown
|
|
201
|
+
# PRD 变更日志 - v2.1
|
|
202
|
+
|
|
203
|
+
> **版本**: v2.1.0
|
|
204
|
+
> **发布日期**: 2025-01-20T14:30:00Z
|
|
205
|
+
> **变更类型**: MINOR
|
|
206
|
+
|
|
207
|
+
## 🆕 新增功能
|
|
208
|
+
- **US-007**: 移动端用户登录支持
|
|
209
|
+
- 添加触摸 ID 认证选项
|
|
210
|
+
- 支持设备记住登录状态
|
|
211
|
+
|
|
212
|
+
## 🔄 功能变更
|
|
213
|
+
- **US-003**: 用户注册流程优化
|
|
214
|
+
- 简化注册步骤从 5 步减至 3 步
|
|
215
|
+
- 移除中间确认页面
|
|
216
|
+
|
|
217
|
+
## 🔧 技术需求变更
|
|
218
|
+
- **性能要求**: 登录响应时间从 <2s 调整为 <1s
|
|
219
|
+
- **安全要求**: 新增设备指纹验证
|
|
220
|
+
|
|
221
|
+
## 📊 影响分析
|
|
222
|
+
- **前端代码**: 需要更新登录组件 (3 个文件)
|
|
223
|
+
- **后端 API**: 需要新增移动端认证接口
|
|
224
|
+
- **测试用例**: 需要增加 12 个新测试用例
|
|
225
|
+
- **预估工作量**: 8-12 工作小时
|
|
226
|
+
|
|
227
|
+
## 🔗 相关链接
|
|
228
|
+
- [完整影响分析报告](./IMPACT_ANALYSIS.md)
|
|
229
|
+
- [兼容性检查结果](../upgrade/compatibility_check.json)
|
|
230
|
+
- [迁移指南](../upgrade/migration_guide.md)
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
#### 自动变更检测
|
|
234
|
+
```yaml
|
|
235
|
+
监控机制:
|
|
236
|
+
- PRD 文件修改检测
|
|
237
|
+
- Git commit 钩子集成
|
|
238
|
+
- 定期一致性检查
|
|
239
|
+
|
|
240
|
+
触发条件:
|
|
241
|
+
- PRD.md 文件内容变更
|
|
242
|
+
- 用户手动触发升级
|
|
243
|
+
- 依赖需求变更
|
|
244
|
+
|
|
245
|
+
处理策略:
|
|
246
|
+
- 自动创建变更提案
|
|
247
|
+
- 等待用户确认
|
|
248
|
+
- 执行版本升级流程
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## 🔍 影响分析框架
|
|
252
|
+
|
|
253
|
+
### 分析维度
|
|
254
|
+
|
|
255
|
+
#### 1. 功能影响分析
|
|
256
|
+
```yaml
|
|
257
|
+
用户故事变更:
|
|
258
|
+
- 新增: 需要新的代码实现
|
|
259
|
+
- 修改: 需要更新现有代码
|
|
260
|
+
- 删除: 需要清理相关代码
|
|
261
|
+
|
|
262
|
+
验收标准变更:
|
|
263
|
+
- 性能指标变化
|
|
264
|
+
- 安全要求调整
|
|
265
|
+
- 集成接口修改
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
#### 2. 技术影响分析
|
|
269
|
+
```yaml
|
|
270
|
+
代码影响:
|
|
271
|
+
- 前端组件 (React/Vue 组件)
|
|
272
|
+
- 后端服务 (API 接口)
|
|
273
|
+
- 数据库模式 (表结构/索引)
|
|
274
|
+
- 配置文件 (环境配置)
|
|
275
|
+
|
|
276
|
+
测试影响:
|
|
277
|
+
- 单元测试更新
|
|
278
|
+
- 集成测试调整
|
|
279
|
+
- E2E 测试修改
|
|
280
|
+
- 性能测试更新
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
#### 3. 运维影响分析
|
|
284
|
+
```yaml
|
|
285
|
+
部署影响:
|
|
286
|
+
- 数据库迁移脚本
|
|
287
|
+
- 配置更新需求
|
|
288
|
+
- 服务重启要求
|
|
289
|
+
- 监控指标调整
|
|
290
|
+
|
|
291
|
+
运行时影响:
|
|
292
|
+
- 性能指标变化
|
|
293
|
+
- 资源使用调整
|
|
294
|
+
- 监控告警更新
|
|
295
|
+
- 备份策略修改
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### 影响评估算法
|
|
299
|
+
```yaml
|
|
300
|
+
影响权重计算:
|
|
301
|
+
breaking_changes_weight: 0.4
|
|
302
|
+
new_features_weight: 0.3
|
|
303
|
+
performance_changes_weight: 0.2
|
|
304
|
+
documentation_changes_weight: 0.1
|
|
305
|
+
|
|
306
|
+
影响级别:
|
|
307
|
+
HIGH (>0.7): 需要项目经理审批
|
|
308
|
+
MEDIUM (0.3-0.7): 需要技术负责人审批
|
|
309
|
+
LOW (<0.3): 可以直接执行
|
|
310
|
+
|
|
311
|
+
工作量估算:
|
|
312
|
+
基于历史数据和变更复杂度
|
|
313
|
+
考虑团队技能和项目熟悉度
|
|
314
|
+
包含测试和文档更新时间
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## 📊 兼容性检查
|
|
318
|
+
|
|
319
|
+
### 检查类型
|
|
320
|
+
|
|
321
|
+
#### 1. API 兼容性
|
|
322
|
+
```yaml
|
|
323
|
+
向后兼容性:
|
|
324
|
+
- 接口签名未变更
|
|
325
|
+
- 响应格式保持一致
|
|
326
|
+
- 错误码保持稳定
|
|
327
|
+
|
|
328
|
+
数据兼容性:
|
|
329
|
+
- 数据库模式兼容
|
|
330
|
+
- 数据迁移路径清晰
|
|
331
|
+
- 历史数据可访问
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
#### 2. 功能兼容性
|
|
335
|
+
```yaml
|
|
336
|
+
用户体验:
|
|
337
|
+
- 核心用户流程保持
|
|
338
|
+
- 界面交互一致性
|
|
339
|
+
- 性能不显著下降
|
|
340
|
+
|
|
341
|
+
集成兼容性:
|
|
342
|
+
- 第三方集成稳定
|
|
343
|
+
- 内部服务接口兼容
|
|
344
|
+
- 消息格式保持
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### 兼容性矩阵
|
|
348
|
+
```yaml
|
|
349
|
+
兼容性级别:
|
|
350
|
+
FULLY_COMPATIBLE: 完全兼容,无需任何变更
|
|
351
|
+
BACKWARD_COMPATIBLE: 向后兼容,旧版本客户端可正常工作
|
|
352
|
+
MIGRATION_REQUIRED: 需要迁移,提供自动迁移工具
|
|
353
|
+
BREAKING_CHANGE: 破坏性变更,需要手动处理
|
|
354
|
+
|
|
355
|
+
检查结果格式:
|
|
356
|
+
version_from: v1.2
|
|
357
|
+
version_to: v2.0
|
|
358
|
+
compatibility_level: MIGRATION_REQUIRED
|
|
359
|
+
affected_components: [frontend, api, database]
|
|
360
|
+
migration_tools: [schema_migration, api_adapter]
|
|
361
|
+
estimated_effort: 16_hours
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
## 🔄 自动化集成
|
|
365
|
+
|
|
366
|
+
### Git 钩子集成
|
|
367
|
+
```bash
|
|
368
|
+
# .git/hooks/pre-commit
|
|
369
|
+
#!/bin/bash
|
|
370
|
+
# 检查 PRD 变更并自动创建版本
|
|
371
|
+
|
|
372
|
+
if [[ $(git diff --cached --name-only) == *"PRD.md"* ]]; then
|
|
373
|
+
echo "检测到 PRD 变更,执行版本分析..."
|
|
374
|
+
/flow-upgrade $(extract_req_id) --analyze --auto
|
|
375
|
+
fi
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### CI/CD 集成
|
|
379
|
+
```yaml
|
|
380
|
+
# .github/workflows/prd-version-check.yml
|
|
381
|
+
name: PRD Version Management
|
|
382
|
+
on:
|
|
383
|
+
pull_request:
|
|
384
|
+
paths: ['devflow/requirements/**/PRD.md']
|
|
385
|
+
|
|
386
|
+
jobs:
|
|
387
|
+
version-check:
|
|
388
|
+
runs-on: ubuntu-latest
|
|
389
|
+
steps:
|
|
390
|
+
- name: Analyze PRD Changes
|
|
391
|
+
run: |
|
|
392
|
+
/flow-upgrade ${{ env.REQ_ID }} --analyze --format=json > impact.json
|
|
393
|
+
|
|
394
|
+
- name: Comment PR with Impact Analysis
|
|
395
|
+
uses: actions/github-script@v6
|
|
396
|
+
with:
|
|
397
|
+
script: |
|
|
398
|
+
const impact = require('./impact.json');
|
|
399
|
+
github.rest.issues.createComment({
|
|
400
|
+
issue_number: context.issue.number,
|
|
401
|
+
owner: context.repo.owner,
|
|
402
|
+
repo: context.repo.repo,
|
|
403
|
+
body: generateImpactComment(impact)
|
|
404
|
+
});
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
## 🎯 验收标准
|
|
408
|
+
|
|
409
|
+
### 功能验收
|
|
410
|
+
- [x] PRD 变更能够自动版本化
|
|
411
|
+
- [x] 变更影响分析准确度 > 85%
|
|
412
|
+
- [x] 支持回滚到历史版本
|
|
413
|
+
- [x] 兼容性检查覆盖主要风险点
|
|
414
|
+
- [x] 版本升级流程文档完整
|
|
415
|
+
|
|
416
|
+
### 技术验收
|
|
417
|
+
- [x] 版本管理不影响现有工作流性能
|
|
418
|
+
- [x] 支持并发安全的版本操作
|
|
419
|
+
- [x] 历史版本存储优化,避免空间浪费
|
|
420
|
+
- [x] 与现有 git 工作流良好集成
|
|
421
|
+
|
|
422
|
+
### 用户体验验收
|
|
423
|
+
- [x] 版本升级过程对用户透明
|
|
424
|
+
- [x] 提供清晰的变更摘要和影响说明
|
|
425
|
+
- [x] 支持一键回滚操作
|
|
426
|
+
- [x] 错误提示信息清晰易懂
|
|
427
|
+
|
|
428
|
+
## 📚 相关文档
|
|
429
|
+
|
|
430
|
+
- [/flow-upgrade 命令文档](./../commands/flow-upgrade.md)
|
|
431
|
+
- [版本管理最佳实践](./../docs/best-practices/version-management.md)
|
|
432
|
+
- [影响分析算法详解](./../docs/algorithms/impact-analysis.md)
|
|
433
|
+
- [兼容性检查指南](./../docs/guides/compatibility-checking.md)
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
**核心价值**: PRD 版本管理系统为 cc-devflow 提供了规格演进的完整支持,确保需求变更的可追踪性和影响可控性,这是实现真正的 Specification-Driven Development 的关键基础设施。
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Flow-Init Troubleshooting Guide
|
|
2
|
+
|
|
3
|
+
> Quick reference for `/flow-init` errors and recovery
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Errors
|
|
8
|
+
|
|
9
|
+
### E1: Invalid REQ_ID Format
|
|
10
|
+
```bash
|
|
11
|
+
❌ ERROR: REQ_ID format invalid
|
|
12
|
+
```
|
|
13
|
+
**Fix**: 使用格式 `REQ-123` 或 `BUG-456`(`^(REQ|BUG)-[0-9]+$`)
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### E2: REQ_ID Already Exists
|
|
18
|
+
```bash
|
|
19
|
+
❌ ERROR: devflow/requirements/REQ-123/ already exists
|
|
20
|
+
```
|
|
21
|
+
**Fix**: 使用不同 ID 或 `/flow-init "REQ-123|..." --force` 强制覆盖
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
### E3: Git Status Not Clean
|
|
26
|
+
```bash
|
|
27
|
+
❌ ERROR: Git working directory has uncommitted changes
|
|
28
|
+
```
|
|
29
|
+
**Fix**: `git status` → `git commit` 或 `git stash`
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### E4: Research Validation Failed
|
|
34
|
+
```bash
|
|
35
|
+
❌ ERROR: research.md validation failed (incomplete)
|
|
36
|
+
```
|
|
37
|
+
**Diagnose**: `grep -c "Decision:" devflow/requirements/REQ-123/research/research.md`
|
|
38
|
+
**Fix**: 手动补充 research.md Decision blocks 或重新运行 research 步骤
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### E5: MCP Fetch Failed
|
|
43
|
+
```bash
|
|
44
|
+
⚠️ WARNING: MCP fetch timed out (Context7)
|
|
45
|
+
```
|
|
46
|
+
**Fix**: 继续执行但标记 `research/mcp/` 下的待补项,稍后手动补充
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Recovery Procedures
|
|
51
|
+
|
|
52
|
+
### Complete Restart
|
|
53
|
+
```bash
|
|
54
|
+
rm -rf devflow/requirements/REQ-123/
|
|
55
|
+
git branch -D feature/REQ-123-*
|
|
56
|
+
/flow-init "REQ-123|Title|URLs"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Recover from Interruption
|
|
60
|
+
```bash
|
|
61
|
+
# 检查当前状态
|
|
62
|
+
cat devflow/requirements/REQ-123/orchestration_status.json | jq '.phase0_complete'
|
|
63
|
+
|
|
64
|
+
# 如果 false,补充研究材料
|
|
65
|
+
# 手动编辑 research/research.md → 添加 Decision blocks
|
|
66
|
+
|
|
67
|
+
# 更新状态
|
|
68
|
+
jq '.phase0_complete = true' devflow/requirements/REQ-123/orchestration_status.json > tmp.json
|
|
69
|
+
mv tmp.json devflow/requirements/REQ-123/orchestration_status.json
|
|
70
|
+
|
|
71
|
+
# 继续下一阶段
|
|
72
|
+
/flow-prd "REQ-123"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Rebuild Research.md from Tasks.json
|
|
76
|
+
```bash
|
|
77
|
+
REQ_DIR="devflow/requirements/REQ-123"
|
|
78
|
+
|
|
79
|
+
# 从 tasks.json 生成 research.md
|
|
80
|
+
bash .claude/scripts/consolidate-research.sh "$REQ_DIR"
|
|
81
|
+
|
|
82
|
+
# 验证
|
|
83
|
+
bash .claude/scripts/validate-research.sh "$REQ_DIR"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Configuration
|
|
89
|
+
|
|
90
|
+
### Environment Variables
|
|
91
|
+
| Variable | Default | Purpose |
|
|
92
|
+
|----------|---------|---------|
|
|
93
|
+
| `SKIP_MCP_RESEARCH` | `false` | 跳过外部 MCP 材料抓取 |
|
|
94
|
+
| `REQUIRE_CLEAN_GIT` | `true` | 要求 Git 状态干净 |
|
|
95
|
+
|
|
96
|
+
### Command-Line Flags
|
|
97
|
+
```bash
|
|
98
|
+
/flow-init "REQ-123|..." --force # 强制覆盖现有需求
|
|
99
|
+
/flow-init --interactive # 交互式输入模式
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## FAQ
|
|
105
|
+
|
|
106
|
+
**Q: 如何跳过 MCP 研究阶段?**
|
|
107
|
+
A: `SKIP_MCP_RESEARCH=1 /flow-init "REQ-123|..."`
|
|
108
|
+
|
|
109
|
+
**Q: Context Loading 阶段找不到 ROADMAP.md 怎么办?**
|
|
110
|
+
A: 可选步骤,不影响执行。如需路线图,先运行 `/core-roadmap`
|
|
111
|
+
|
|
112
|
+
**Q: Research.md 格式要求?**
|
|
113
|
+
A: 至少包含 1 个 `### Decision:` block,每个 block 有 Rationale/Alternatives/Source
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
**Last Updated**: 2025-12-19
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Flow-New Troubleshooting Guide
|
|
2
|
+
|
|
3
|
+
> Quick reference for `/flow-new` errors and recovery
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Errors
|
|
8
|
+
|
|
9
|
+
### E1: Stage Command Not Found
|
|
10
|
+
```bash
|
|
11
|
+
❌ ERROR: Command /flow-init not found
|
|
12
|
+
```
|
|
13
|
+
**Fix**: `ls .claude/commands/flow-*.md` → 检查缺失文件 → `git checkout HEAD -- .claude/commands/`
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### E2: Status File Corrupted
|
|
18
|
+
```bash
|
|
19
|
+
❌ ERROR: Invalid orchestration_status.json
|
|
20
|
+
```
|
|
21
|
+
**Diagnose**: `jq . devflow/requirements/REQ-123/orchestration_status.json`
|
|
22
|
+
**Fix**: 从模板重建或 `/flow-restart "REQ-123"`
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### E3: Interrupted, Cannot Resume
|
|
27
|
+
```bash
|
|
28
|
+
❌ ERROR: Requirement REQ-123 already exists
|
|
29
|
+
```
|
|
30
|
+
**Diagnose**: `/flow-status REQ-123`
|
|
31
|
+
**Fix**: `/flow-restart "REQ-123"` 或手动从特定阶段继续
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### E4: UI Detection False Positive
|
|
36
|
+
```bash
|
|
37
|
+
✅ UI原型生成完成 (但项目是纯后端)
|
|
38
|
+
```
|
|
39
|
+
**Fix**: 在 PRD.md 开头添加 `## 项目类型声明\n**纯后端 API 项目**,无 UI 需求。`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### E5: Epic 未覆盖所有技术层
|
|
44
|
+
```bash
|
|
45
|
+
⚠️ WARNING: TASKS.md 未覆盖 TECH_DESIGN.md 所有层
|
|
46
|
+
```
|
|
47
|
+
**Diagnose**: `grep "## Section" devflow/requirements/REQ-123/TECH_DESIGN.md`
|
|
48
|
+
**Fix**: 手动补充缺失任务或重新生成 `/flow-epic "REQ-123"`
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### E6: QA Gate Failure
|
|
53
|
+
```bash
|
|
54
|
+
❌ 代码覆盖率: 65% (要求 ≥ 80%)
|
|
55
|
+
❌ 安全问题: 2 个高危漏洞
|
|
56
|
+
```
|
|
57
|
+
**Fix**:
|
|
58
|
+
- 补充测试: `npm test -- --coverage --verbose` → 识别未覆盖模块
|
|
59
|
+
- 修复漏洞: 查看 `SECURITY_REPORT.md` → 修复代码 → 重新运行 `/flow-qa "REQ-123" --full`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### E7: Build Failure
|
|
64
|
+
```bash
|
|
65
|
+
❌ error TS2345: Argument of type 'string | undefined'...
|
|
66
|
+
```
|
|
67
|
+
**Fix**: `npm run typecheck` → 修复类型错误 → `npm run build`
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### E8: PR Creation Failed
|
|
72
|
+
```bash
|
|
73
|
+
❌ gh pr create: HTTP 403: Resource not accessible
|
|
74
|
+
```
|
|
75
|
+
**Fix**: `gh auth login` → 重新认证 → `/flow-release "REQ-123"`
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Recovery Procedures
|
|
80
|
+
|
|
81
|
+
### Complete Restart
|
|
82
|
+
```bash
|
|
83
|
+
rm -rf devflow/requirements/REQ-123/
|
|
84
|
+
git branch -D feature/REQ-123-*
|
|
85
|
+
/flow-new "REQ-123|Title|URLs"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Partial Resume (从特定任务继续)
|
|
89
|
+
```bash
|
|
90
|
+
# 检查最后完成的任务
|
|
91
|
+
ls devflow/requirements/REQ-123/tasks/*.completed | tail -1
|
|
92
|
+
|
|
93
|
+
# 从下一任务继续
|
|
94
|
+
/flow-dev "REQ-123" --resume --from=TASK_008
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### State File Rebuild
|
|
98
|
+
```bash
|
|
99
|
+
REQ_DIR="devflow/requirements/REQ-123"
|
|
100
|
+
HAS_PRD=$([ -f "$REQ_DIR/PRD.md" ] && echo true || echo false)
|
|
101
|
+
HAS_TECH=$([ -f "$REQ_DIR/TECH_DESIGN.md" ] && echo true || echo false)
|
|
102
|
+
|
|
103
|
+
# 重建状态文件
|
|
104
|
+
cat > $REQ_DIR/orchestration_status.json <<EOF
|
|
105
|
+
{
|
|
106
|
+
"reqId": "REQ-123",
|
|
107
|
+
"status": "$( [ "$HAS_TECH" = "true" ] && echo "tech_complete" || echo "prd_complete" )",
|
|
108
|
+
"prd_complete": $HAS_PRD,
|
|
109
|
+
"tech_design_complete": $HAS_TECH,
|
|
110
|
+
"epic_complete": false,
|
|
111
|
+
"dev_complete": false
|
|
112
|
+
}
|
|
113
|
+
EOF
|
|
114
|
+
|
|
115
|
+
jq . $REQ_DIR/orchestration_status.json # 验证
|
|
116
|
+
/flow-restart "REQ-123"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Configuration
|
|
122
|
+
|
|
123
|
+
### Environment Variables
|
|
124
|
+
| Variable | Default | Purpose |
|
|
125
|
+
|----------|---------|---------|
|
|
126
|
+
| `SKIP_UI_DETECTION` | `false` | 强制跳过 UI 生成 |
|
|
127
|
+
| `COVERAGE_THRESHOLD` | `80` | 代码覆盖率要求 |
|
|
128
|
+
| `FLOW_DEBUG` | `false` | 启用调试日志 |
|
|
129
|
+
|
|
130
|
+
### Command-Line Flags
|
|
131
|
+
```bash
|
|
132
|
+
/flow-new "REQ-123|..." --skip-ui # 跳过 UI
|
|
133
|
+
/flow-new "REQ-123|..." --resume # 恢复执行
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## FAQ
|
|
139
|
+
|
|
140
|
+
**Q: 可以在 flow-new 执行中暂停吗?**
|
|
141
|
+
A: Ctrl+C 中断 → `/flow-status REQ-123` 查看状态 → `/flow-restart "REQ-123"` 恢复
|
|
142
|
+
|
|
143
|
+
**Q: 如何从特定阶段重新开始?**
|
|
144
|
+
A: 使用对应阶段命令重新执行,如 `/flow-prd "REQ-123"` 或 `/flow-epic "REQ-123"`
|
|
145
|
+
|
|
146
|
+
**Q: flow-new 支持 BUG 修复吗?**
|
|
147
|
+
A: 不支持,BUG 使用 `/flow-fix "BUG-456|描述"`
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
**Last Updated**: 2025-12-19
|