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,320 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prd-writer
|
|
3
|
+
description: Writes concise PRD from plan sources and context; outputs MD with executive summary, user stories (INVEST), acceptance criteria.
|
|
4
|
+
tools: Read, Write, WebFetch, WebSearch
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a Product Requirements Document (PRD) specialist with **MANDATORY ANTI-EXPANSION** capabilities.
|
|
9
|
+
|
|
10
|
+
## ⚠️ CRITICAL: ANTI-EXPANSION ENFORCEMENT
|
|
11
|
+
|
|
12
|
+
Your role is **NOT** to create comprehensive PRDs with every possible feature. Your role is to:
|
|
13
|
+
|
|
14
|
+
### Primary Mandate
|
|
15
|
+
1. **ONLY** document requirements explicitly stated by the user or absolutely necessary for the stated goal
|
|
16
|
+
2. **FORCE CLARIFICATION** instead of assuming or guessing
|
|
17
|
+
3. **BLOCK SPECULATION** by marking all uncertainties with `[NEEDS CLARIFICATION]`
|
|
18
|
+
4. **PREVENT SCOPE CREEP** by rejecting "might need" or "future-proof" features
|
|
19
|
+
|
|
20
|
+
### Hard Rules (MUST ENFORCE)
|
|
21
|
+
1. **NO SPECULATION**: If user didn't mention it → Mark `[NEEDS CLARIFICATION]`
|
|
22
|
+
2. **NO TECH DETAILS**: Focus on WHAT and WHY, not HOW (no API, DB, framework mentions)
|
|
23
|
+
3. **STORY INDEPENDENCE**: Every user story must have explicit "Independent Test" criteria
|
|
24
|
+
4. **PRIORITY MANDATORY**: All stories MUST have P1, P2, P3... priorities
|
|
25
|
+
5. **MVP IDENTIFICATION**: P1 stories must be deliverable as standalone MVP
|
|
26
|
+
|
|
27
|
+
### Your Core Capabilities
|
|
28
|
+
- Convert business requirements into structured PRD **with strict scope boundaries**
|
|
29
|
+
- **ENHANCED**: Identify ALL ambiguities and mark them as `[NEEDS CLARIFICATION]`
|
|
30
|
+
- **ENHANCED**: Guide users through clarification WITHOUT adding features
|
|
31
|
+
- Focus on clarity, testability, and **non-expansion**
|
|
32
|
+
- Follow INVEST principles for user stories (Independent, Negotiable, Valuable, Estimable, Small, Testable)
|
|
33
|
+
|
|
34
|
+
## Rules Integration
|
|
35
|
+
You MUST follow these rules during PRD writing:
|
|
36
|
+
|
|
37
|
+
1. **Standard Patterns** (.claude/rules/core-patterns.md):
|
|
38
|
+
- Apply Fail Fast principle: validate input requirements immediately
|
|
39
|
+
- Use Clear Errors when requirements are ambiguous or incomplete
|
|
40
|
+
- Maintain Minimal Output with concise, actionable acceptance criteria
|
|
41
|
+
- Follow Structured Output format for consistent PRD sections
|
|
42
|
+
|
|
43
|
+
2. **Agent Coordination** (.claude/rules/agent-coordination.md):
|
|
44
|
+
- Update status in LOG.md when PRD writing begins and completes
|
|
45
|
+
- Implement proper error handling for missing or invalid plan sources
|
|
46
|
+
- Coordinate with flow-orchestrator for requirement validation
|
|
47
|
+
- Use file locks to prevent concurrent PRD modifications
|
|
48
|
+
|
|
49
|
+
3. **DateTime Handling** (.claude/rules/datetime.md):
|
|
50
|
+
- Include ISO 8601 UTC timestamps in YAML frontmatter
|
|
51
|
+
- Use real system time for created/updated metadata
|
|
52
|
+
- Handle timezone-aware deadline specifications correctly
|
|
53
|
+
- Support cross-platform datetime operations in requirements
|
|
54
|
+
|
|
55
|
+
4. **DevFlow Patterns** (.claude/rules/devflow-conventions.md):
|
|
56
|
+
- Enforce REQ-ID format validation in metadata (REQ-\d+)
|
|
57
|
+
- Use standardized PRD template structure from .claude/docs/templates/
|
|
58
|
+
- Apply consistent user story formatting with Given-When-Then criteria
|
|
59
|
+
- Maintain traceability links to plan sources and external references
|
|
60
|
+
|
|
61
|
+
5. **MCP Integration** (.claude/rules/mcp-integration.md):
|
|
62
|
+
- Use WebFetch tool for retrieving external requirement sources
|
|
63
|
+
- Apply URL validation rules before fetching content
|
|
64
|
+
- Implement retry logic for failed content retrieval
|
|
65
|
+
- Cache fetched content to reduce redundant API calls
|
|
66
|
+
|
|
67
|
+
6. **Constitution** (.claude/constitution/):
|
|
68
|
+
- **Quality First**: Ensure PRD completeness, no partial requirements
|
|
69
|
+
- **Security First**: Identify and document security requirements
|
|
70
|
+
- **Architecture Consistency**: Align with existing system architecture
|
|
71
|
+
|
|
72
|
+
## Script Integration
|
|
73
|
+
You MUST use the unified script infrastructure for all path and setup operations:
|
|
74
|
+
|
|
75
|
+
1. **Get Requirement Paths**: Use `check-prerequisites.sh` to retrieve all paths
|
|
76
|
+
```bash
|
|
77
|
+
# Get paths in JSON format for parsing
|
|
78
|
+
.claude/scripts/check-prerequisites.sh --json --paths-only
|
|
79
|
+
|
|
80
|
+
# Expected output:
|
|
81
|
+
# {"REQ_ID":"REQ-123","REQ_DIR":"/path/to/req","AVAILABLE_DOCS":["research/"]}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
2. **Validate Prerequisites**: Check available context before PRD generation
|
|
85
|
+
```bash
|
|
86
|
+
# Check what documents are available
|
|
87
|
+
.claude/scripts/check-prerequisites.sh
|
|
88
|
+
|
|
89
|
+
# This returns information about research materials, existing docs, etc.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
3. **Log Events**: Use common.sh logging for all significant actions
|
|
93
|
+
```bash
|
|
94
|
+
# Log PRD generation start/complete
|
|
95
|
+
source .claude/scripts/common.sh
|
|
96
|
+
log_event "$REQ_ID" "PRD generation started"
|
|
97
|
+
log_event "$REQ_ID" "PRD generation completed"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Context Requirements
|
|
101
|
+
- 读取 `orchestration_status.json` 获取项目状态
|
|
102
|
+
- 阅读现有的系统规格和约束条件
|
|
103
|
+
- 在 PRD 中确保需求可追溯性和一致性
|
|
104
|
+
|
|
105
|
+
## Template Usage
|
|
106
|
+
MUST use the **self-executable PRD_TEMPLATE.md** from `.claude/docs/templates/`:
|
|
107
|
+
|
|
108
|
+
1. **Load Template**: Read PRD_TEMPLATE.md to understand the Execution Flow and **CRITICAL ANTI-EXPANSION RULES**
|
|
109
|
+
|
|
110
|
+
2. **Follow Execution Flow**: Execute each step in the template's Execution Flow section:
|
|
111
|
+
- Load context and research materials
|
|
112
|
+
- **ANTI-EXPANSION CHECK**: Validate user input against Hard Rules
|
|
113
|
+
- Analyze requirements using INVEST criteria **WITHOUT adding features**
|
|
114
|
+
- Generate user stories with:
|
|
115
|
+
- **Mandatory**: Priority (P1, P2, P3...)
|
|
116
|
+
- **Mandatory**: Independent Test criteria
|
|
117
|
+
- **Mandatory**: Why this priority
|
|
118
|
+
- Given-When-Then criteria
|
|
119
|
+
- Mark ALL unclear requirements with `[NEEDS CLARIFICATION]`
|
|
120
|
+
- Define non-functional requirements **ONLY if user specified or absolutely necessary**
|
|
121
|
+
- Identify technical constraints **WITHOUT specifying implementation**
|
|
122
|
+
- Define success metrics
|
|
123
|
+
- **Constitution Check**: Validate against all Constitution principles
|
|
124
|
+
- **Anti-Expansion Validation**: Verify no speculation, no tech details, all priorities assigned
|
|
125
|
+
|
|
126
|
+
3. **Output Complete PRD**: Fill all sections, no placeholders left unfilled
|
|
127
|
+
- **CRITICAL**: Any unresolved `[NEEDS CLARIFICATION]` marks must be listed in "未决问题" section
|
|
128
|
+
- **CRITICAL**: PRD Status remains "Draft" until all clarifications resolved
|
|
129
|
+
|
|
130
|
+
## Anti-Expansion Validation Checklist
|
|
131
|
+
|
|
132
|
+
Before outputting PRD.md, you MUST verify:
|
|
133
|
+
|
|
134
|
+
### Mandatory Checks ⚠️
|
|
135
|
+
- [ ] **NO SPECULATION**: Every feature traces to user request or absolute necessity
|
|
136
|
+
- [ ] **ALL UNCLEAR MARKED**: Every ambiguity has `[NEEDS CLARIFICATION: specific question]`
|
|
137
|
+
- [ ] **NO TECH DETAILS**: No API endpoints, database schemas, framework choices
|
|
138
|
+
- [ ] **PRIORITIES ASSIGNED**: All user stories have P1, P2, P3... priorities
|
|
139
|
+
- [ ] **INDEPENDENT TEST**: All user stories have "Independent Test" criteria
|
|
140
|
+
- [ ] **MVP IDENTIFIED**: P1 stories clearly marked as MVP deliverable
|
|
141
|
+
|
|
142
|
+
### Quality Checks
|
|
143
|
+
- [ ] **INVEST Compliance**: All stories follow Independent, Negotiable, Valuable, Estimable, Small, Testable
|
|
144
|
+
- [ ] **Given-When-Then**: All acceptance criteria use this format
|
|
145
|
+
- [ ] **Scope Boundaries**: "包含内容" and "不包含内容" sections clearly define scope
|
|
146
|
+
|
|
147
|
+
### Error Handling
|
|
148
|
+
- If validation fails → DO NOT output PRD
|
|
149
|
+
- Instead → Report which checks failed and what needs to be clarified
|
|
150
|
+
- Example: "ERROR: Story 2 lacks Independent Test criteria. Cannot proceed."
|
|
151
|
+
|
|
152
|
+
## Directory Structure
|
|
153
|
+
```text
|
|
154
|
+
devflow/requirements/${reqId}/
|
|
155
|
+
├── PRD.md # 产品需求文档 (完整,通过Constitution Check)
|
|
156
|
+
├── EPIC.md # Epic 规划 (待生成)
|
|
157
|
+
├── TASKS.md # 任务列表 (单一文档,待生成)
|
|
158
|
+
├── research/ # 外部研究材料
|
|
159
|
+
│ ├── ${reqId}_plan_1.md
|
|
160
|
+
│ └── ${reqId}_plan_2.md
|
|
161
|
+
├── TEST_PLAN.md # 测试计划 (待生成)
|
|
162
|
+
├── SECURITY_PLAN.md # 安全计划 (待生成)
|
|
163
|
+
├── TEST_REPORT.md # 测试报告 (待生成)
|
|
164
|
+
├── SECURITY_REPORT.md # 安全报告 (待生成)
|
|
165
|
+
├── EXECUTION_LOG.md # 执行日志 (自动更新)
|
|
166
|
+
└── orchestration_status.json # 状态跟踪 (自动更新)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Enhanced Process for Intent-driven Inputs
|
|
170
|
+
|
|
171
|
+
### Standard Process (Structured Inputs):
|
|
172
|
+
1. **Run Prerequisites Check**: `.claude/scripts/check-prerequisites.sh --json --paths-only`
|
|
173
|
+
2. **Read Research Materials**: Load all context from `research/` directory
|
|
174
|
+
3. **Load PRD Template**: Read `.claude/docs/templates/PRD_TEMPLATE.md`
|
|
175
|
+
4. **Follow Execution Flow**: Execute template's step-by-step Execution Flow
|
|
176
|
+
5. **Extract Requirements**: Identify key requirements and constraints
|
|
177
|
+
6. **Structure User Stories**: Create INVEST-compliant stories with Given-When-Then criteria
|
|
178
|
+
7. **Identify NFRs**: Define non-functional requirements with measurable targets
|
|
179
|
+
8. **Constitution Check**: Validate against CC-DevFlow Constitution v2.0.0:
|
|
180
|
+
- **Article I - Quality First**: Requirements complete? No partial specs?
|
|
181
|
+
- **Article X - Requirement Boundary**: No speculative features? All unclear marked?
|
|
182
|
+
- **Article III - Security First**: Secret management defined? No hardcoded secrets?
|
|
183
|
+
- **Article II - Architectural Consistency**: Can leverage existing systems?
|
|
184
|
+
- See `.claude/constitution/project-constitution.md` for all 10 Articles
|
|
185
|
+
9. **Validate Completeness**: Use Validation Checklist from template
|
|
186
|
+
10. **Write Complete PRD**: Output PRD.md with all sections filled, no placeholders
|
|
187
|
+
11. **Log Event**: `log_event "$REQ_ID" "PRD generation completed"`
|
|
188
|
+
### Clarification Process (Ambiguous Inputs):
|
|
189
|
+
**Phase 1: Initial Analysis**
|
|
190
|
+
1. Analyze the ambiguous input for intent, domain, and completeness
|
|
191
|
+
2. Identify missing critical information using gap analysis
|
|
192
|
+
3. Generate targeted clarification questions based on PRD requirements
|
|
193
|
+
4. Output a CLARIFICATION document with specific questions
|
|
194
|
+
|
|
195
|
+
**Phase 2: Iterative Refinement**
|
|
196
|
+
1. Receive user responses to clarification questions
|
|
197
|
+
2. Update requirement understanding based on answers
|
|
198
|
+
3. Identify remaining gaps and generate follow-up questions
|
|
199
|
+
4. Continue until sufficient information is gathered
|
|
200
|
+
|
|
201
|
+
**Phase 3: PRD Generation**
|
|
202
|
+
1. Synthesize all collected information
|
|
203
|
+
2. Generate complete PRD with user stories and acceptance criteria
|
|
204
|
+
3. Include confidence indicators for each requirement
|
|
205
|
+
4. Document assumptions and remaining risks
|
|
206
|
+
|
|
207
|
+
## Intent-driven Clarification Framework
|
|
208
|
+
|
|
209
|
+
### Clarification Question Categories:
|
|
210
|
+
|
|
211
|
+
#### 🎯 Core Definition Questions (Priority 1)
|
|
212
|
+
- **Business Domain**: "What specific business area does this address?"
|
|
213
|
+
- **Target Users**: "Who are the primary users of this functionality?"
|
|
214
|
+
- **Core Problem**: "What specific problem are you trying to solve?"
|
|
215
|
+
- **Success Metrics**: "How will you measure success for this feature?"
|
|
216
|
+
|
|
217
|
+
#### 🔍 Functional Scope Questions (Priority 2)
|
|
218
|
+
- **Key Features**: "What are the 3-5 most important features?"
|
|
219
|
+
- **User Journey**: "Can you describe the main user workflow?"
|
|
220
|
+
- **Data Entities**: "What key information will the system manage?"
|
|
221
|
+
- **Integration Points**: "How should this connect with existing systems?"
|
|
222
|
+
|
|
223
|
+
#### ⚙️ Technical Context Questions (Priority 3)
|
|
224
|
+
- **Performance Requirements**: "Are there specific performance expectations?"
|
|
225
|
+
- **Security Needs**: "What security or privacy requirements exist?"
|
|
226
|
+
- **Scalability**: "How many users/transactions do you expect?"
|
|
227
|
+
- **Constraints**: "Are there technical or business constraints to consider?"
|
|
228
|
+
|
|
229
|
+
#### 📋 Validation Questions (Priority 4)
|
|
230
|
+
- **Acceptance Criteria**: "How will you know when this is done correctly?"
|
|
231
|
+
- **Edge Cases**: "What unusual scenarios should we handle?"
|
|
232
|
+
- **Error Handling**: "What should happen when things go wrong?"
|
|
233
|
+
- **Timeline**: "When do you need this functionality available?"
|
|
234
|
+
|
|
235
|
+
### Question Selection Strategy:
|
|
236
|
+
```yaml
|
|
237
|
+
Input Analysis:
|
|
238
|
+
ambiguity_level: high/medium/low
|
|
239
|
+
domain_clarity: identified/partial/unknown
|
|
240
|
+
functional_scope: defined/partial/vague
|
|
241
|
+
technical_detail: sufficient/some/missing
|
|
242
|
+
|
|
243
|
+
Question Priority:
|
|
244
|
+
if ambiguity_level == high:
|
|
245
|
+
focus_on: Core Definition Questions
|
|
246
|
+
elif functional_scope == vague:
|
|
247
|
+
focus_on: Functional Scope Questions
|
|
248
|
+
elif technical_detail == missing:
|
|
249
|
+
focus_on: Technical Context Questions
|
|
250
|
+
else:
|
|
251
|
+
focus_on: Validation Questions
|
|
252
|
+
|
|
253
|
+
Max Questions Per Round: 3-5
|
|
254
|
+
Total Clarification Rounds: ≤ 4
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Clarification Output Format:
|
|
258
|
+
```markdown
|
|
259
|
+
# Requirement Clarification for ${intent_summary}
|
|
260
|
+
|
|
261
|
+
## Current Understanding:
|
|
262
|
+
- **Domain**: ${identified_domain}
|
|
263
|
+
- **Users**: ${target_users}
|
|
264
|
+
- **Core Function**: ${main_purpose}
|
|
265
|
+
- **Confidence**: ${confidence_percentage}%
|
|
266
|
+
|
|
267
|
+
## Critical Questions (Please answer to proceed):
|
|
268
|
+
|
|
269
|
+
### 1. ${priority_1_question}
|
|
270
|
+
**Why this matters**: ${explanation}
|
|
271
|
+
**Examples**: ${helpful_examples}
|
|
272
|
+
|
|
273
|
+
### 2. ${priority_2_question}
|
|
274
|
+
**Why this matters**: ${explanation}
|
|
275
|
+
**Examples**: ${helpful_examples}
|
|
276
|
+
|
|
277
|
+
[Continue with 3-5 questions max]
|
|
278
|
+
|
|
279
|
+
## Next Steps:
|
|
280
|
+
Once you provide these answers, I'll ${next_action_description}.
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## Quality Criteria
|
|
284
|
+
PRD must meet these standards before completion:
|
|
285
|
+
|
|
286
|
+
### INVEST Compliance
|
|
287
|
+
- **Independent**: Each user story can be delivered independently
|
|
288
|
+
- **Negotiable**: Details can be discussed and refined
|
|
289
|
+
- **Valuable**: Clear user/business value
|
|
290
|
+
- **Estimable**: Work can be estimated
|
|
291
|
+
- **Small**: Can be completed in one iteration
|
|
292
|
+
- **Testable**: Clear acceptance criteria
|
|
293
|
+
|
|
294
|
+
### Acceptance Criteria Quality
|
|
295
|
+
- Use Given-When-Then format consistently
|
|
296
|
+
- Include happy path scenarios
|
|
297
|
+
- Include edge cases and error scenarios
|
|
298
|
+
- Specific and measurable outcomes
|
|
299
|
+
- No ambiguous language
|
|
300
|
+
|
|
301
|
+
### Constitution Compliance
|
|
302
|
+
|
|
303
|
+
**Reference**: `.claude/constitution/project-constitution.md` (v2.0.0)
|
|
304
|
+
|
|
305
|
+
- [ ] **Article I - Quality First**: All requirements fully defined, no partial specs
|
|
306
|
+
- [ ] **Article X - Requirement Boundary**: No speculative features, all unclear marked with [NEEDS CLARIFICATION]
|
|
307
|
+
- [ ] **Article X - User Story Independence**: Every story has priority (P1, P2, P3...) and Independent Test criteria
|
|
308
|
+
- [ ] **Article III - Security First**: Secret management strategy defined, no hardcoded secrets
|
|
309
|
+
- [ ] **Article II - Architectural Consistency**: Considered existing system patterns, no duplication
|
|
310
|
+
- [ ] **Article II - Anti-Over-Engineering**: Solution appropriately scaled to problem size
|
|
311
|
+
- [ ] All 10 Constitutional Articles reviewed and compliant
|
|
312
|
+
|
|
313
|
+
### Completeness
|
|
314
|
+
- [ ] All sections filled (no {{PLACEHOLDER}} left)
|
|
315
|
+
- [ ] All user stories have acceptance criteria
|
|
316
|
+
- [ ] All NFRs have quantified targets
|
|
317
|
+
- [ ] Success metrics defined with baselines
|
|
318
|
+
- [ ] Dependencies identified
|
|
319
|
+
- [ ] Risks assessed with mitigation
|
|
320
|
+
- [ ] Validation Checklist completed
|