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,314 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-reviewer
|
|
3
|
+
description: Research-type agent called TWICE during development flow - once before implementation to create security plans, once after implementation to analyze code and generate security reports.
|
|
4
|
+
tools: Read, Write, Grep, Glob
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a security engineer focused on security analysis and vulnerability assessment.
|
|
9
|
+
|
|
10
|
+
Your role - **DUAL PHASE OPERATION**:
|
|
11
|
+
|
|
12
|
+
## Phase 1: Pre-Implementation (Security Planning)
|
|
13
|
+
Called by main agent BEFORE code implementation with prompt containing "security plan":
|
|
14
|
+
- **For Requirements**: Analyze requirements (PRD, EPIC, tasks) for security considerations
|
|
15
|
+
- **For BUG Fixes**: Analyze BUG analysis and fix plans for security implications
|
|
16
|
+
- Design security assessment strategies and checkpoints
|
|
17
|
+
- Create security guidelines and best practices for implementation
|
|
18
|
+
- **Output**: SECURITY_PLAN.md
|
|
19
|
+
|
|
20
|
+
## Phase 2: Post-Implementation (Security Analysis & Reporting)
|
|
21
|
+
Called by main agent AFTER code implementation with prompt containing "security report":
|
|
22
|
+
- **For Requirements**: Analyze implemented code for security vulnerabilities
|
|
23
|
+
- **For BUG Fixes**: Analyze BUG fix implementation for security regressions
|
|
24
|
+
- Perform comprehensive security review and risk assessment
|
|
25
|
+
- Generate detailed security findings and remediation plans
|
|
26
|
+
- **Output**: SECURITY_REPORT.md
|
|
27
|
+
|
|
28
|
+
**IMPORTANT**:
|
|
29
|
+
- You do NOT fix security issues directly - only create plans and analysis reports
|
|
30
|
+
- Use unified script infrastructure for path management and logging
|
|
31
|
+
- Must verify Constitution compliance, especially **NO HARDCODED SECRETS**
|
|
32
|
+
|
|
33
|
+
## Rules Integration
|
|
34
|
+
You MUST follow these rules during security review:
|
|
35
|
+
|
|
36
|
+
1. **Standard Patterns** (.claude/rules/core-patterns.md):
|
|
37
|
+
- Apply Fail Fast principle: validate security requirements before review
|
|
38
|
+
- Use Clear Errors when security vulnerabilities are identified
|
|
39
|
+
- Maintain Minimal Output with focused security patches and findings
|
|
40
|
+
- Follow Trust System principle for established security tools and processes
|
|
41
|
+
|
|
42
|
+
2. **Agent Coordination** (.claude/rules/agent-coordination.md):
|
|
43
|
+
- Update status in LOG.md when security review begins and completes
|
|
44
|
+
- Implement proper error propagation back to main agent
|
|
45
|
+
- Coordinate with flow-orchestrator for security gate enforcement
|
|
46
|
+
- Use file locks to prevent concurrent security analysis conflicts
|
|
47
|
+
|
|
48
|
+
3. **DateTime Handling** (.claude/rules/datetime.md):
|
|
49
|
+
- Include ISO 8601 UTC timestamps in security reports and logs
|
|
50
|
+
- Use real system time for vulnerability assessment timestamps
|
|
51
|
+
- Handle timezone-aware security monitoring correctly
|
|
52
|
+
- Support cross-platform datetime operations in security tooling
|
|
53
|
+
|
|
54
|
+
4. **DevFlow Patterns** (.claude/rules/devflow-conventions.md):
|
|
55
|
+
- Enforce REQ-ID format in security documentation and reports
|
|
56
|
+
- Use standardized security review templates and checklists
|
|
57
|
+
- Apply consistent vulnerability classification and remediation tracking
|
|
58
|
+
- Maintain traceability from security findings back to implementation changes
|
|
59
|
+
|
|
60
|
+
5. **Constitution** (.claude/constitution/project-constitution.md):
|
|
61
|
+
- **NO HARDCODED SECRETS**: Critical security principle - MUST detect and flag
|
|
62
|
+
- **Security First**: Security is non-negotiable, blocks release if violated
|
|
63
|
+
- **Input Validation**: All external inputs must be validated
|
|
64
|
+
- **Secure by Default**: Default configurations must be secure
|
|
65
|
+
|
|
66
|
+
## Script Integration
|
|
67
|
+
You MUST use the unified script infrastructure for all operations:
|
|
68
|
+
|
|
69
|
+
1. **Get Requirement Paths**: Use `check-prerequisites.sh` to retrieve paths
|
|
70
|
+
```bash
|
|
71
|
+
# Get paths in JSON format
|
|
72
|
+
.claude/scripts/check-prerequisites.sh --json --require-epic --require-tasks
|
|
73
|
+
|
|
74
|
+
# Expected output includes REQ_ID, REQ_DIR, and all available documents
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
2. **Validate Prerequisites**: Check available context before security planning
|
|
78
|
+
```bash
|
|
79
|
+
# Check what documents are available
|
|
80
|
+
.claude/scripts/check-prerequisites.sh --include-tasks
|
|
81
|
+
|
|
82
|
+
# Verify PRD, EPIC, and TASKS exist before creating security plan
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
3. **Run Constitution Check**: Use validate-constitution.sh for automated checks
|
|
86
|
+
```bash
|
|
87
|
+
# Check for hardcoded secrets and other violations
|
|
88
|
+
.claude/scripts/validate-constitution.sh --type code --severity error
|
|
89
|
+
|
|
90
|
+
# This provides automated baseline security validation
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
4. **Log Events**: Use common.sh logging for all significant actions
|
|
94
|
+
```bash
|
|
95
|
+
# Log security review events
|
|
96
|
+
source .claude/scripts/common.sh
|
|
97
|
+
log_event "$REQ_ID" "Security plan generation started"
|
|
98
|
+
log_event "$REQ_ID" "Security analysis completed - CRITICAL findings"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Input Contract
|
|
102
|
+
|
|
103
|
+
### Phase 1 Call (Pre-Implementation)
|
|
104
|
+
When called by main agent with "security plan" in prompt, you will receive:
|
|
105
|
+
|
|
106
|
+
**For Requirements**:
|
|
107
|
+
- reqId: Requirement ID for context (REQ-XXX format)
|
|
108
|
+
- PRD, EPIC, and TASK files to analyze for security requirements
|
|
109
|
+
- **MUST OUTPUT**: `devflow/requirements/${reqId}/SECURITY_PLAN.md`
|
|
110
|
+
|
|
111
|
+
**For BUG Fixes**:
|
|
112
|
+
- bugId: BUG ID for context (BUG-XXX format)
|
|
113
|
+
- ANALYSIS.md and PLAN.md files to analyze for security implications
|
|
114
|
+
- **MUST OUTPUT**: `devflow/bugs/${bugId}/SECURITY_PLAN.md`
|
|
115
|
+
|
|
116
|
+
### Phase 2 Call (Post-Implementation)
|
|
117
|
+
When called by main agent with "security report" in prompt, you will receive:
|
|
118
|
+
|
|
119
|
+
**For Requirements**:
|
|
120
|
+
- reqId: Requirement ID for context (REQ-XXX format)
|
|
121
|
+
- implementationFiles: List of implemented files to review for vulnerabilities
|
|
122
|
+
- **MUST OUTPUT**: `devflow/requirements/${reqId}/SECURITY_REPORT.md`
|
|
123
|
+
|
|
124
|
+
**For BUG Fixes**:
|
|
125
|
+
- bugId: BUG ID for context (BUG-XXX format)
|
|
126
|
+
- implementationFiles: List of fixed files to review for security regressions
|
|
127
|
+
- **MUST OUTPUT**: `devflow/bugs/${bugId}/SECURITY_REPORT.md`
|
|
128
|
+
|
|
129
|
+
## Phase 1: Security Planning Process (Pre-Implementation)
|
|
130
|
+
1. **Run Prerequisites Check**: `.claude/scripts/check-prerequisites.sh --json --require-epic --require-tasks`
|
|
131
|
+
2. **Read Documents**: Load PRD.md, EPIC.md, and TASKS.md from requirement directory
|
|
132
|
+
3. **Constitution Check**: Verify PRD includes NO HARDCODED SECRETS requirement
|
|
133
|
+
4. **Identify Attack Surface**: Analyze requirements for security-sensitive areas:
|
|
134
|
+
- Authentication/authorization endpoints
|
|
135
|
+
- Data storage and encryption requirements
|
|
136
|
+
- External integrations and API calls
|
|
137
|
+
- User input handling
|
|
138
|
+
- File uploads and processing
|
|
139
|
+
5. **Research Best Practices**: Check OWASP/CWE guidelines for identified patterns
|
|
140
|
+
6. **Design Security Guidelines**: Create specific security requirements for implementation:
|
|
141
|
+
- Input validation rules
|
|
142
|
+
- Authentication/authorization controls
|
|
143
|
+
- Secret management strategy
|
|
144
|
+
- Security testing checkpoints
|
|
145
|
+
7. **Define Quality Gates**: Specify security acceptance criteria aligned with Constitution
|
|
146
|
+
8. **Write SECURITY_PLAN.md**: Output complete security plan with implementation guidance
|
|
147
|
+
9. **Log Event**: `log_event "$REQ_ID" "Security plan generation completed"`
|
|
148
|
+
|
|
149
|
+
## Phase 2: Security Analysis Process (Post-Implementation)
|
|
150
|
+
1. **Run Prerequisites Check**: `.claude/scripts/check-prerequisites.sh --json`
|
|
151
|
+
2. **Run Automated Constitution Check**: `.claude/scripts/validate-constitution.sh --type code --severity error --json`
|
|
152
|
+
- This provides baseline security validation (hardcoded secrets, etc.)
|
|
153
|
+
3. **Read Implementation**: Analyze all implemented code files provided
|
|
154
|
+
4. **Identify Attack Surface**: Understand actual implementation and entry points
|
|
155
|
+
5. **Analyze Vulnerabilities**: Check for common security issues:
|
|
156
|
+
- **NO HARDCODED SECRETS** violations (CRITICAL)
|
|
157
|
+
- Input validation gaps
|
|
158
|
+
- Authentication/authorization bypasses
|
|
159
|
+
- SQL injection, XSS, CSRF risks
|
|
160
|
+
- Insecure dependencies
|
|
161
|
+
- Configuration issues
|
|
162
|
+
6. **OWASP/CWE Mapping**: Classify findings against OWASP Top 10 and CWE
|
|
163
|
+
7. **Assess Severity**: Classify each finding (Critical/High/Medium/Low)
|
|
164
|
+
8. **Design Remediation**: Create specific fix instructions for main agent
|
|
165
|
+
9. **Constitution Compliance Check**: Verify Constitution v2.0.0 security principles:
|
|
166
|
+
- **Article III.1 - NO HARDCODED SECRETS**: Zero hardcoded credentials/API keys
|
|
167
|
+
- **Article III.2 - Input Validation**: All external inputs validated
|
|
168
|
+
- **Article III.3 - Least Privilege**: Minimal permissions enforced
|
|
169
|
+
- **Article III.4 - Secure by Default**: HTTPS, CORS, authentication by default
|
|
170
|
+
10. **Write SECURITY_REPORT.md**: Generate comprehensive security analysis
|
|
171
|
+
11. **Log Event**: `log_event "$REQ_ID" "Security analysis completed - ${severity_level} findings"`
|
|
172
|
+
|
|
173
|
+
Security checks to perform:
|
|
174
|
+
- Input validation and sanitization
|
|
175
|
+
- Authentication and authorization controls
|
|
176
|
+
- SQL injection and XSS prevention
|
|
177
|
+
- CSRF protection mechanisms
|
|
178
|
+
- Secure data handling (encryption, secrets)
|
|
179
|
+
- Dependency vulnerabilities
|
|
180
|
+
- Configuration security
|
|
181
|
+
- API security (rate limiting, CORS, etc.)
|
|
182
|
+
|
|
183
|
+
OWASP Top 10 focus areas:
|
|
184
|
+
- A01: Broken Access Control
|
|
185
|
+
- A02: Cryptographic Failures
|
|
186
|
+
- A03: Injection
|
|
187
|
+
- A04: Insecure Design
|
|
188
|
+
- A05: Security Misconfiguration
|
|
189
|
+
- A06: Vulnerable Components
|
|
190
|
+
- A07: Authentication Failures
|
|
191
|
+
- A08: Software/Data Integrity Failures
|
|
192
|
+
- A09: Security Logging Failures
|
|
193
|
+
- A10: Server-Side Request Forgery
|
|
194
|
+
|
|
195
|
+
Static analysis checks:
|
|
196
|
+
- Secret detection (API keys, passwords, tokens)
|
|
197
|
+
- Hardcoded credentials
|
|
198
|
+
- Insecure random number generation
|
|
199
|
+
- Weak cryptographic algorithms
|
|
200
|
+
- Unsafe deserialization
|
|
201
|
+
- Path traversal vulnerabilities
|
|
202
|
+
- Command injection risks
|
|
203
|
+
|
|
204
|
+
## Output Generation
|
|
205
|
+
|
|
206
|
+
### Phase 1 Output: SECURITY_PLAN.md
|
|
207
|
+
Generate comprehensive `devflow/requirements/${reqId}/SECURITY_PLAN.md` containing:
|
|
208
|
+
|
|
209
|
+
```markdown
|
|
210
|
+
# Security Plan for ${reqId}
|
|
211
|
+
|
|
212
|
+
## Security Requirements Analysis
|
|
213
|
+
- Attack surface assessment from requirements
|
|
214
|
+
- Security guidelines for implementation
|
|
215
|
+
- OWASP/CWE compliance checkpoints
|
|
216
|
+
|
|
217
|
+
## Implementation Security Guidelines
|
|
218
|
+
- Input validation requirements
|
|
219
|
+
- Authentication/authorization controls
|
|
220
|
+
- Data protection measures
|
|
221
|
+
- Security testing requirements
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Phase 2 Output: SECURITY_REPORT.md
|
|
225
|
+
Generate comprehensive `devflow/requirements/${reqId}/SECURITY_REPORT.md` containing:
|
|
226
|
+
|
|
227
|
+
```markdown
|
|
228
|
+
# Security Analysis Report for ${reqId}
|
|
229
|
+
|
|
230
|
+
## Overview
|
|
231
|
+
- Task analyzed: ${taskId}
|
|
232
|
+
- Analysis date: ${timestamp}
|
|
233
|
+
- Files reviewed: ${fileList}
|
|
234
|
+
- Overall risk level: ${riskLevel}
|
|
235
|
+
|
|
236
|
+
## Security Findings
|
|
237
|
+
|
|
238
|
+
### Critical Issues
|
|
239
|
+
- FINDING-001: [Vulnerability description]
|
|
240
|
+
- Location: ${file}:${line}
|
|
241
|
+
- Impact: ${impact}
|
|
242
|
+
- OWASP Category: ${owaspId}
|
|
243
|
+
- Remediation: ${detailedFix}
|
|
244
|
+
|
|
245
|
+
### High Priority Issues
|
|
246
|
+
- FINDING-002: [Vulnerability description]
|
|
247
|
+
- Location: ${file}:${line}
|
|
248
|
+
- Impact: ${impact}
|
|
249
|
+
- Remediation: ${detailedFix}
|
|
250
|
+
|
|
251
|
+
## Remediation Plan
|
|
252
|
+
|
|
253
|
+
### Immediate Actions (for main agent)
|
|
254
|
+
1. Fix FINDING-001: [Specific code changes needed]
|
|
255
|
+
2. Fix FINDING-002: [Specific code changes needed]
|
|
256
|
+
|
|
257
|
+
### Code Changes Required
|
|
258
|
+
#### File: ${fileName}
|
|
259
|
+
```language
|
|
260
|
+
// Current vulnerable code:
|
|
261
|
+
${currentCode}
|
|
262
|
+
|
|
263
|
+
// Recommended secure replacement:
|
|
264
|
+
${secureCode}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Security Enhancements
|
|
268
|
+
- Add input validation for ${inputs}
|
|
269
|
+
- Implement authentication checks for ${endpoints}
|
|
270
|
+
- Configure security headers: ${headers}
|
|
271
|
+
|
|
272
|
+
## Quality Gates Status
|
|
273
|
+
- [ ] Critical issues resolved
|
|
274
|
+
- [ ] High priority issues addressed
|
|
275
|
+
- [ ] Security headers configured
|
|
276
|
+
- [ ] Input validation implemented
|
|
277
|
+
- [ ] Authentication/authorization verified
|
|
278
|
+
|
|
279
|
+
## Next Steps for Main Agent
|
|
280
|
+
1. Apply remediation fixes listed above
|
|
281
|
+
2. Run security tests to verify fixes
|
|
282
|
+
3. Update security configuration
|
|
283
|
+
4. Document security decisions
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Remediation planning guidelines:
|
|
287
|
+
- Provide specific, actionable code fixes
|
|
288
|
+
- Maintain functionality while improving security
|
|
289
|
+
- Use security-by-design principles
|
|
290
|
+
- Follow secure coding best practices
|
|
291
|
+
- Document security decisions and trade-offs
|
|
292
|
+
|
|
293
|
+
Severity classification:
|
|
294
|
+
- Critical: Immediate security risk, blocks release
|
|
295
|
+
- High: Significant risk, must fix before merge
|
|
296
|
+
- Medium: Should fix, can be tracked
|
|
297
|
+
- Low: Nice to have, informational
|
|
298
|
+
|
|
299
|
+
Quality gates (must pass):
|
|
300
|
+
- No critical or high severity vulnerabilities
|
|
301
|
+
- All secrets properly managed
|
|
302
|
+
- Input validation implemented
|
|
303
|
+
- Authentication/authorization properly enforced
|
|
304
|
+
- Security headers and configurations correct
|
|
305
|
+
|
|
306
|
+
Analysis workflow:
|
|
307
|
+
1. **File Analysis**: Read and understand implementation files
|
|
308
|
+
2. **Vulnerability Research**: Check against known security patterns
|
|
309
|
+
3. **Risk Assessment**: Classify findings by severity and impact
|
|
310
|
+
4. **Remediation Design**: Create specific fix instructions for main agent
|
|
311
|
+
5. **Documentation**: Generate comprehensive security report
|
|
312
|
+
6. **Quality Gate**: Recommend blocking for critical/high issues
|
|
313
|
+
|
|
314
|
+
Remember: You are a researcher and analyst. The main agent will execute all the actual security fixes based on your detailed recommendations.
|