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,353 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devflow-file-standards
|
|
3
|
+
description: File naming conventions, directory structure, and YAML frontmatter standards for CC-DevFlow. Consolidates shared conventions from all agents.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevFlow File Standards
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
Consolidate file naming, directory structure, and format conventions that are shared across multiple agents and commands. This skill does NOT duplicate agent-specific standards.
|
|
10
|
+
|
|
11
|
+
## Requirement IDs
|
|
12
|
+
|
|
13
|
+
### Format
|
|
14
|
+
```
|
|
15
|
+
REQ-\d{3} # e.g., REQ-001, REQ-042, REQ-123
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Usage
|
|
19
|
+
- **Flow commands**: All `/flow-*` commands accept REQ-ID as argument
|
|
20
|
+
- **Git branches**: `feature/REQ-XXX-{slug-title}`
|
|
21
|
+
- **Directory paths**: `devflow/requirements/REQ-XXX/`
|
|
22
|
+
- **Status tracking**: `orchestration_status.json` contains `reqId` field
|
|
23
|
+
|
|
24
|
+
### Source
|
|
25
|
+
- Enforced by: All 13 agents
|
|
26
|
+
- Validated by: `.claude/scripts/check-prerequisites.sh`
|
|
27
|
+
|
|
28
|
+
## Task IDs
|
|
29
|
+
|
|
30
|
+
### Format
|
|
31
|
+
```
|
|
32
|
+
T\d{3} # e.g., T001, T042, T123
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Usage in TASKS.md
|
|
36
|
+
```markdown
|
|
37
|
+
- [ ] **T001** [P] Task description
|
|
38
|
+
- [ ] **T010** [US1] User story 1 task
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Labels
|
|
42
|
+
- `[P]`: Parallel execution possible
|
|
43
|
+
- `[US#]`: User story number (e.g., [US1], [US2])
|
|
44
|
+
|
|
45
|
+
### Source
|
|
46
|
+
- Generated by: planner agent
|
|
47
|
+
- Format defined in: `.claude/docs/templates/TASKS_TEMPLATE.md`
|
|
48
|
+
|
|
49
|
+
## Directory Structure
|
|
50
|
+
|
|
51
|
+
### Requirements
|
|
52
|
+
```
|
|
53
|
+
devflow/requirements/REQ-XXX/
|
|
54
|
+
├── research/ # /flow-init 输出
|
|
55
|
+
│ ├── research.md # consolidate-research.sh 生成
|
|
56
|
+
│ ├── tasks.json # generate-research-tasks.sh 生成
|
|
57
|
+
│ ├── internal/
|
|
58
|
+
│ │ └── codebase-overview.md
|
|
59
|
+
│ ├── mcp/ # MCP 服务器调查(可选)
|
|
60
|
+
│ └── codebase-tech-analysis.md # /flow-tech 输出
|
|
61
|
+
├── PRD.md # /flow-prd 输出 (prd-writer agent)
|
|
62
|
+
├── TECH_DESIGN.md # /flow-tech 输出 (tech-architect agent)
|
|
63
|
+
├── data-model.md # /flow-tech 输出 (extract-data-model.sh)
|
|
64
|
+
├── contracts/ # /flow-tech 输出 (export-contracts.sh)
|
|
65
|
+
│ ├── api-users.yaml # OpenAPI contracts
|
|
66
|
+
│ └── api-auth.yaml
|
|
67
|
+
├── quickstart.md # /flow-tech 输出 (generate-quickstart.sh)
|
|
68
|
+
├── UI_PROTOTYPE.html # /flow-ui 输出 (ui-designer agent, 可选)
|
|
69
|
+
├── EPIC.md # /flow-epic 输出 (planner agent)
|
|
70
|
+
├── TASKS.md # /flow-epic 输出 (planner agent)
|
|
71
|
+
├── reviews/ # /flow-qa 输出
|
|
72
|
+
│ ├── TEST_PLAN.md # qa-tester agent
|
|
73
|
+
│ ├── TEST_REPORT.md # qa-tester agent
|
|
74
|
+
│ └── SECURITY_REPORT.md # security-reviewer agent
|
|
75
|
+
├── EXECUTION_LOG.md # 事件日志 (所有 flow 命令追加)
|
|
76
|
+
├── orchestration_status.json # 状态跟踪 (所有 flow 命令更新)
|
|
77
|
+
└── README.md # 工作流指南
|
|
78
|
+
|
|
79
|
+
### Bugs
|
|
80
|
+
```
|
|
81
|
+
devflow/bugs/BUG-XXX/
|
|
82
|
+
├── BUG_ANALYSIS.md # /flow-fix 输出 (bug-analyzer agent)
|
|
83
|
+
├── PLAN.md # /flow-fix 输出 (planner agent)
|
|
84
|
+
├── TASKS.md # /flow-fix 输出 (planner agent)
|
|
85
|
+
├── EXECUTION_LOG.md
|
|
86
|
+
└── status.json # 类似 orchestration_status.json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Source
|
|
90
|
+
- Created by: `.claude/scripts/create-requirement.sh`
|
|
91
|
+
- Template: `.claude/docs/templates/` 目录
|
|
92
|
+
- Enforced by: All flow commands
|
|
93
|
+
|
|
94
|
+
## YAML Frontmatter
|
|
95
|
+
|
|
96
|
+
### Document Types
|
|
97
|
+
|
|
98
|
+
#### PRD.md
|
|
99
|
+
```yaml
|
|
100
|
+
---
|
|
101
|
+
reqId: REQ-123
|
|
102
|
+
title: User Authentication
|
|
103
|
+
version: 1.0.0
|
|
104
|
+
createdAt: 2025-10-31T12:34:56Z
|
|
105
|
+
updatedAt: 2025-10-31T15:20:30Z
|
|
106
|
+
status: approved
|
|
107
|
+
author: prd-writer agent
|
|
108
|
+
---
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### TECH_DESIGN.md
|
|
112
|
+
```yaml
|
|
113
|
+
---
|
|
114
|
+
reqId: REQ-123
|
|
115
|
+
version: 1.0.0
|
|
116
|
+
architecture: Microservices
|
|
117
|
+
techStack:
|
|
118
|
+
- Node.js
|
|
119
|
+
- PostgreSQL
|
|
120
|
+
- Redis
|
|
121
|
+
createdAt: 2025-10-31T14:10:00Z
|
|
122
|
+
author: tech-architect agent
|
|
123
|
+
---
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### EPIC.md
|
|
127
|
+
```yaml
|
|
128
|
+
---
|
|
129
|
+
reqId: REQ-123
|
|
130
|
+
title: User Authentication Epic
|
|
131
|
+
version: 1.0.0
|
|
132
|
+
estimatedEffort: 5 days
|
|
133
|
+
createdAt: 2025-10-31T16:00:00Z
|
|
134
|
+
author: planner agent
|
|
135
|
+
---
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### TASKS.md
|
|
139
|
+
```yaml
|
|
140
|
+
---
|
|
141
|
+
reqId: REQ-123
|
|
142
|
+
totalTasks: 25
|
|
143
|
+
completedTasks: 0
|
|
144
|
+
version: 1.0.0
|
|
145
|
+
createdAt: 2025-10-31T16:30:00Z
|
|
146
|
+
updatedAt: 2025-10-31T16:30:00Z
|
|
147
|
+
author: planner agent
|
|
148
|
+
---
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Source
|
|
152
|
+
- Enforced by: prd-writer, tech-architect, planner agents
|
|
153
|
+
- Parsed by: `.claude/scripts/check-prerequisites.sh`, `.claude/scripts/generate-status-report.sh`
|
|
154
|
+
|
|
155
|
+
## orchestration_status.json
|
|
156
|
+
|
|
157
|
+
### Structure (Requirements)
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"reqId": "REQ-123",
|
|
161
|
+
"title": "User Authentication",
|
|
162
|
+
"status": "initialized",
|
|
163
|
+
"phase": "planning",
|
|
164
|
+
"phase0_complete": false,
|
|
165
|
+
"phase1_complete": false,
|
|
166
|
+
"completedSteps": [],
|
|
167
|
+
"createdAt": "2025-10-31T12:34:56Z",
|
|
168
|
+
"updatedAt": "2025-10-31T12:34:56Z"
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Status Values
|
|
173
|
+
```
|
|
174
|
+
initialized → /flow-init 完成
|
|
175
|
+
prd_generation_in_progress → /flow-prd 执行中
|
|
176
|
+
prd_generation_failed → /flow-prd 失败(可重试)
|
|
177
|
+
prd_complete → /flow-prd 完成
|
|
178
|
+
|
|
179
|
+
tech_design_in_progress → /flow-tech 执行中
|
|
180
|
+
tech_design_failed → /flow-tech 失败
|
|
181
|
+
tech_design_complete → /flow-tech 完成
|
|
182
|
+
|
|
183
|
+
epic_generation_in_progress → /flow-epic 执行中
|
|
184
|
+
epic_generation_failed → /flow-epic 失败
|
|
185
|
+
epic_complete → /flow-epic 完成
|
|
186
|
+
|
|
187
|
+
development_in_progress → /flow-dev 执行中
|
|
188
|
+
development_complete → /flow-dev 完成
|
|
189
|
+
|
|
190
|
+
qa_in_progress → /flow-qa 执行中
|
|
191
|
+
qa_complete → /flow-qa 完成
|
|
192
|
+
|
|
193
|
+
released → /flow-release 完成
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Phase Values
|
|
197
|
+
```
|
|
198
|
+
planning → 需求规划阶段 (init, prd)
|
|
199
|
+
design → 技术设计阶段 (tech, ui)
|
|
200
|
+
epic_planning → 任务规划阶段 (epic)
|
|
201
|
+
implementation → 开发阶段 (dev)
|
|
202
|
+
qa → 质量保障阶段 (qa)
|
|
203
|
+
release → 发布阶段 (release)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Source
|
|
207
|
+
- Updated by: All flow commands
|
|
208
|
+
- Read by: cc-devflow-orchestrator skill, check-prerequisites.sh
|
|
209
|
+
- Schema: Implicitly defined across all flow command docs
|
|
210
|
+
|
|
211
|
+
## status.json (for Bugs)
|
|
212
|
+
|
|
213
|
+
### Structure
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"bugId": "BUG-456",
|
|
217
|
+
"title": "Fix login timeout",
|
|
218
|
+
"status": "initialized",
|
|
219
|
+
"phase": "analysis",
|
|
220
|
+
"severity": "high",
|
|
221
|
+
"createdAt": "2025-10-31T12:34:56Z",
|
|
222
|
+
"updatedAt": "2025-10-31T12:34:56Z"
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Severity Values
|
|
227
|
+
```
|
|
228
|
+
critical → 严重,系统不可用
|
|
229
|
+
high → 高,核心功能受影响
|
|
230
|
+
medium → 中,部分功能受影响
|
|
231
|
+
low → 低,轻微问题
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Source
|
|
235
|
+
- Used by: `/flow-fix` command
|
|
236
|
+
- Updated by: bug-analyzer agent
|
|
237
|
+
|
|
238
|
+
## File Naming Patterns
|
|
239
|
+
|
|
240
|
+
### Markdown Documents
|
|
241
|
+
```
|
|
242
|
+
UPPERCASE_WITH_UNDERSCORES.md # Primary documents (PRD.md, EPIC.md, TASKS.md)
|
|
243
|
+
lowercase-with-dashes.md # Supporting documents (data-model.md, quickstart.md)
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Scripts
|
|
247
|
+
```
|
|
248
|
+
kebab-case.sh # All bash scripts (check-prerequisites.sh)
|
|
249
|
+
kebab-case.ts # All TypeScript scripts (skill-activation-prompt.ts)
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Directories
|
|
253
|
+
```
|
|
254
|
+
lowercase # Top-level (devflow/, research/, contracts/)
|
|
255
|
+
kebab-case # Multi-word (codebase-tech-analysis/)
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Source
|
|
259
|
+
- Implicitly enforced by: All agents and scripts
|
|
260
|
+
- No explicit validator
|
|
261
|
+
|
|
262
|
+
## Contract Files
|
|
263
|
+
|
|
264
|
+
### Format
|
|
265
|
+
```
|
|
266
|
+
api-{resource}.yaml # OpenAPI 3.0 format
|
|
267
|
+
graphql-{schema}.graphql # GraphQL schema
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Example
|
|
271
|
+
```
|
|
272
|
+
contracts/
|
|
273
|
+
├── api-users.yaml # User management API
|
|
274
|
+
├── api-auth.yaml # Authentication API
|
|
275
|
+
└── graphql-schema.graphql # GraphQL schema (if used)
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Source
|
|
279
|
+
- Generated by: tech-architect agent via `export-contracts.sh`
|
|
280
|
+
- Referenced by: planner agent in TASKS.md (Phase 2 contract tests)
|
|
281
|
+
|
|
282
|
+
## Special Files
|
|
283
|
+
|
|
284
|
+
### .gitignore Patterns (for devflow/)
|
|
285
|
+
```
|
|
286
|
+
# ✅ Should be committed
|
|
287
|
+
devflow/requirements/**/PRD.md
|
|
288
|
+
devflow/requirements/**/EPIC.md
|
|
289
|
+
devflow/requirements/**/TASKS.md
|
|
290
|
+
devflow/requirements/**/orchestration_status.json
|
|
291
|
+
|
|
292
|
+
# ❌ Should NOT be committed
|
|
293
|
+
devflow/requirements/**/.env
|
|
294
|
+
devflow/requirements/**/secrets/
|
|
295
|
+
devflow/requirements/**/node_modules/
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### .claude/tsc-cache/ (PostToolUse tracking)
|
|
299
|
+
```
|
|
300
|
+
.claude/tsc-cache/
|
|
301
|
+
└── {session_id}/
|
|
302
|
+
├── edited-files.log # Timestamp:path:repo
|
|
303
|
+
└── affected-repos.txt # List of affected repos (e.g., devflow/REQ-123)
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Source
|
|
307
|
+
- Generated by: PostToolUse hook (post-tool-use-tracker.sh)
|
|
308
|
+
- Read by: check-prerequisites.sh (for REQ_ID inference)
|
|
309
|
+
|
|
310
|
+
## Agent-Specific Standards (NOT in this skill)
|
|
311
|
+
|
|
312
|
+
This skill does NOT contain agent-specific content standards:
|
|
313
|
+
|
|
314
|
+
- **prd-writer**: INVEST principles, Anti-Expansion mandate, Given-When-Then → See prd-writer agent
|
|
315
|
+
- **tech-architect**: Architecture patterns, tech stack justification, Phase -1 Gates → See tech-architect agent
|
|
316
|
+
- **ui-designer**: 80+ design masters, responsive design rules, NO PLACEHOLDER → See ui-designer agent
|
|
317
|
+
- **planner**: Task breakdown methodology, TDD sequence, Phase -1 Gates enforcement → See planner agent
|
|
318
|
+
- **qa-tester**: Test strategy, coverage requirements, performance benchmarks → See qa-tester agent
|
|
319
|
+
|
|
320
|
+
**Rationale**: Those are agent execution standards (how to generate content), not file format standards (how to name/structure files).
|
|
321
|
+
|
|
322
|
+
## Usage Examples
|
|
323
|
+
|
|
324
|
+
### Query 1: "What's the format of REQ-ID?"
|
|
325
|
+
**Answer**: `REQ-\d{3}` (e.g., REQ-001, REQ-042, REQ-123)
|
|
326
|
+
|
|
327
|
+
### Query 2: "Where does PRD.md go?"
|
|
328
|
+
**Answer**: `devflow/requirements/REQ-XXX/PRD.md`
|
|
329
|
+
|
|
330
|
+
### Query 3: "What fields are in orchestration_status.json?"
|
|
331
|
+
**Answer**: reqId, title, status, phase, phase0_complete, phase1_complete, completedSteps, createdAt, updatedAt
|
|
332
|
+
|
|
333
|
+
### Query 4: "How do I name a contract file?"
|
|
334
|
+
**Answer**: `api-{resource}.yaml` (e.g., api-users.yaml, api-auth.yaml)
|
|
335
|
+
|
|
336
|
+
### Query 5: "What's the YAML frontmatter for TASKS.md?"
|
|
337
|
+
**Answer**: reqId, totalTasks, completedTasks, version, createdAt, updatedAt, author
|
|
338
|
+
|
|
339
|
+
## Design Principle
|
|
340
|
+
|
|
341
|
+
**This skill does NOT contain**:
|
|
342
|
+
- ❌ Agent execution standards (PRD content rules, tech design methodology, etc.)
|
|
343
|
+
- ❌ Detailed Phase Gate logic (that's in flow command files)
|
|
344
|
+
- ❌ Complete template contents (that's in `.claude/docs/templates/`)
|
|
345
|
+
|
|
346
|
+
**This skill ONLY contains**:
|
|
347
|
+
- ✅ File naming conventions (shared across all agents)
|
|
348
|
+
- ✅ Directory structure (created by scripts, used by all agents)
|
|
349
|
+
- ✅ YAML frontmatter format (enforced by multiple agents)
|
|
350
|
+
- ✅ orchestration_status.json schema (updated by all flow commands)
|
|
351
|
+
- ✅ Cross-cutting file format standards
|
|
352
|
+
|
|
353
|
+
**Rationale**: Avoid duplication ("不重不漏" principle). Agents own content standards, this skill owns format standards.
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devflow-tdd-enforcer
|
|
3
|
+
description: Enforces TDD order in TASKS.md - Tests MUST be marked complete before Implementation tasks. Blocks violations in real-time.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DevFlow TDD Enforcer
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
Enforce Test-First Development (TDD) order by preventing users from marking implementation tasks complete before their corresponding test tasks.
|
|
10
|
+
|
|
11
|
+
**Trigger**: PreToolUse hook when editing `devflow/requirements/**/TASKS.md`
|
|
12
|
+
|
|
13
|
+
## Enforcement Rule
|
|
14
|
+
|
|
15
|
+
**Source**: Extracted from planner agent's TDD mandate + Constitution Article VI
|
|
16
|
+
|
|
17
|
+
### ❌ BLOCKED Pattern (Violation)
|
|
18
|
+
```markdown
|
|
19
|
+
- [x] **T010** [US1] Implement user registration endpoint
|
|
20
|
+
- [ ] **T011** [US1] Test user registration with valid data
|
|
21
|
+
```
|
|
22
|
+
**Problem**: Implementation marked done BEFORE test
|
|
23
|
+
|
|
24
|
+
**Regex Pattern**: `\[x\].*Implementation.*\n.*\[ \].*Test`
|
|
25
|
+
|
|
26
|
+
### ✅ CORRECT Pattern (TDD Sequence)
|
|
27
|
+
```markdown
|
|
28
|
+
- [ ] **T010** [US1] Test user registration with valid data (write FAILING test)
|
|
29
|
+
- [ ] **T011** [US1] Implement user registration endpoint (make test PASS)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Or after completion**:
|
|
33
|
+
```markdown
|
|
34
|
+
- [x] **T010** [US1] Test user registration with valid data
|
|
35
|
+
- [x] **T011** [US1] Implement user registration endpoint
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Blocking Message
|
|
39
|
+
|
|
40
|
+
When violation detected, PreToolUse hook returns **exit code 2** (blocks file save):
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
⚠️ BLOCKED - TDD Violation Detected
|
|
44
|
+
|
|
45
|
+
📋 REQUIRED ACTION:
|
|
46
|
+
1. Re-order TASKS.md to follow TDD sequence
|
|
47
|
+
2. Mark test tasks [x] BEFORE implementation tasks
|
|
48
|
+
3. Review Constitution Article VI - Test-First Development
|
|
49
|
+
|
|
50
|
+
Reason: CC-DevFlow enforces TDD (Tests First → Implementation)
|
|
51
|
+
Source: planner agent mandate + Constitution Article VI
|
|
52
|
+
File: {file_path}
|
|
53
|
+
|
|
54
|
+
Current Issue:
|
|
55
|
+
Line {N}: Implementation task marked complete
|
|
56
|
+
Line {N+1}: Test task NOT marked complete
|
|
57
|
+
|
|
58
|
+
💡 SKIP: Add `@skip-tdd-check` comment or set SKIP_TDD_ENFORCER=1
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Constitutional Basis
|
|
62
|
+
|
|
63
|
+
### Article VI: Test-First Development
|
|
64
|
+
```yaml
|
|
65
|
+
TDD MANDATE:
|
|
66
|
+
- Write test FIRST (must fail)
|
|
67
|
+
- Implement code SECOND (make test pass)
|
|
68
|
+
- No implementation without corresponding test
|
|
69
|
+
- Test coverage ≥80%
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### planner agent enforces
|
|
73
|
+
- Generates TASKS.md with correct TDD order
|
|
74
|
+
- Phase 2: All tests listed first
|
|
75
|
+
- Phase 3+: Each user story has Test task before Implementation task
|
|
76
|
+
- Inserts "⚠️ TEST VERIFICATION CHECKPOINT" between Phase 2 and Phase 3
|
|
77
|
+
|
|
78
|
+
### devflow-tdd-enforcer guardrail prevents
|
|
79
|
+
- Users from manually reversing that order
|
|
80
|
+
- Implementation tasks marked complete before test tasks
|
|
81
|
+
- Real-time detection during file editing
|
|
82
|
+
|
|
83
|
+
## Additional Violation Patterns
|
|
84
|
+
|
|
85
|
+
### Pattern 2: Phase 3+ User Story TDD Order
|
|
86
|
+
```markdown
|
|
87
|
+
# ❌ BLOCKED
|
|
88
|
+
- [x] **T020** [US2] Implement login endpoint
|
|
89
|
+
- [ ] **T021** [US2] Test login with valid credentials
|
|
90
|
+
|
|
91
|
+
# ✅ CORRECT
|
|
92
|
+
- [x] **T020** [US2] Test login with valid credentials
|
|
93
|
+
- [x] **T021** **T021** [US2] Implement login endpoint
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Regex Pattern**: `\[x\].*\[US\d+\].*Implement.*\n.*\[ \].*\[US\d+\].*Test`
|
|
97
|
+
|
|
98
|
+
### Pattern 3: Implementation without Test
|
|
99
|
+
```markdown
|
|
100
|
+
# ❌ BLOCKED (if no corresponding test found)
|
|
101
|
+
- [ ] **T030** [US3] Implement password reset endpoint
|
|
102
|
+
# (No T029 or T031 test task found)
|
|
103
|
+
|
|
104
|
+
# ✅ CORRECT
|
|
105
|
+
- [ ] **T029** [US3] Test password reset with valid email
|
|
106
|
+
- [ ] **T030** [US3] Implement password reset endpoint
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Skip Conditions
|
|
110
|
+
|
|
111
|
+
Users can bypass TDD enforcer in specific scenarios:
|
|
112
|
+
|
|
113
|
+
### 1. Session Skip (One-time per session)
|
|
114
|
+
- **Mechanism**: `sessionSkillUsed: true` in skill-rules.json
|
|
115
|
+
- **Behavior**: Guardrail only triggers once per Claude session
|
|
116
|
+
- **Use case**: User acknowledged TDD violation, wants to continue
|
|
117
|
+
|
|
118
|
+
### 2. File Marker (Permanent skip for specific file)
|
|
119
|
+
- **Marker**: Add `@skip-tdd-check` comment anywhere in TASKS.md
|
|
120
|
+
- **Example**:
|
|
121
|
+
```markdown
|
|
122
|
+
<!-- @skip-tdd-check: Hotfix deployment, will add tests in follow-up -->
|
|
123
|
+
```
|
|
124
|
+
- **Use case**: Emergency hotfix, tests to be added later
|
|
125
|
+
|
|
126
|
+
### 3. Environment Variable (Temporary global skip)
|
|
127
|
+
- **Variable**: `SKIP_TDD_ENFORCER=1`
|
|
128
|
+
- **Scope**: Current terminal session
|
|
129
|
+
- **Use case**: Batch operations, automated scripts
|
|
130
|
+
|
|
131
|
+
## Relationship with Other Components
|
|
132
|
+
|
|
133
|
+
### mark-task-complete.sh (Script)
|
|
134
|
+
- **Purpose**: Marks tasks complete in正常 workflow (via /flow-dev)
|
|
135
|
+
- **Validation**: Batch validation at phase completion
|
|
136
|
+
- **Timing**: After task execution
|
|
137
|
+
|
|
138
|
+
### devflow-tdd-enforcer (Guardrail)
|
|
139
|
+
- **Purpose**: Real-time prevention of manual TDD violations
|
|
140
|
+
- **Validation**: Per-edit, blocks save if violation detected
|
|
141
|
+
- **Timing**: During file editing (PreToolUse hook)
|
|
142
|
+
|
|
143
|
+
**Relationship**: **Complementary (双重保险)**
|
|
144
|
+
- Script ensures正常流程 follows TDD
|
|
145
|
+
- Guardrail prevents手动编辑 from breaking TDD
|
|
146
|
+
|
|
147
|
+
### Constitution Article VI
|
|
148
|
+
- **Defines**: TDD philosophy and mandates
|
|
149
|
+
- **Enforcement**: planner agent (generation time) + devflow-tdd-enforcer (edit time)
|
|
150
|
+
|
|
151
|
+
## Configuration
|
|
152
|
+
|
|
153
|
+
In `.claude/skills/skill-rules.json`:
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"devflow-tdd-enforcer": {
|
|
158
|
+
"type": "guardrail",
|
|
159
|
+
"enforcement": "block",
|
|
160
|
+
"priority": "critical",
|
|
161
|
+
"description": "Enforces TDD order, extracted from planner agent rules",
|
|
162
|
+
"fileTriggers": {
|
|
163
|
+
"pathPatterns": ["devflow/requirements/**/TASKS.md"],
|
|
164
|
+
"contentPatterns": [
|
|
165
|
+
"\\[x\\].*Implementation.*\\n.*\\[ \\].*Test",
|
|
166
|
+
"\\[x\\].*\\[US\\d+\\].*Implement.*\\n.*\\[ \\].*\\[US\\d+\\].*Test"
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"blockMessage": "⚠️ BLOCKED - TDD Violation\n\nTasks must follow TDD order:\n1. [ ] Test (write failing test)\n2. [ ] Implementation (make test pass)\n\n📋 ACTION: Re-order TASKS.md\nSource: planner agent mandate + Constitution Article VI\n\n💡 SKIP: @skip-tdd-check or SKIP_TDD_ENFORCER=1",
|
|
170
|
+
"skipConditions": {
|
|
171
|
+
"sessionSkillUsed": true,
|
|
172
|
+
"fileMarkers": ["@skip-tdd-check"],
|
|
173
|
+
"envOverride": "SKIP_TDD_ENFORCER"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Design Principle
|
|
180
|
+
|
|
181
|
+
**This guardrail does NOT contain**:
|
|
182
|
+
- ❌ Complete TDD methodology (that's in planner agent)
|
|
183
|
+
- ❌ Task generation logic (that's in planner agent)
|
|
184
|
+
- ❌ Full Constitution Article VI (that's in project-constitution.md)
|
|
185
|
+
|
|
186
|
+
**This guardrail ONLY contains**:
|
|
187
|
+
- ✅ Prohibition rule extraction (from planner agent)
|
|
188
|
+
- ✅ Real-time violation detection (content pattern matching)
|
|
189
|
+
- ✅ Blocking mechanism (PreToolUse hook, exit code 2)
|
|
190
|
+
- ✅ Links to source documentation
|
|
191
|
+
|
|
192
|
+
**Rationale**: Avoid duplication ("不重不漏" principle). planner agent owns TDD generation logic, guardrail owns real-time enforcement.
|