claude-code-workflow 6.0.0
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/agents/action-planning-agent.md +778 -0
- package/.claude/agents/cli-execution-agent.md +270 -0
- package/.claude/agents/cli-explore-agent.md +182 -0
- package/.claude/agents/cli-lite-planning-agent.md +396 -0
- package/.claude/agents/cli-planning-agent.md +558 -0
- package/.claude/agents/code-developer.md +310 -0
- package/.claude/agents/conceptual-planning-agent.md +308 -0
- package/.claude/agents/context-search-agent.md +582 -0
- package/.claude/agents/doc-generator.md +330 -0
- package/.claude/agents/memory-bridge.md +94 -0
- package/.claude/agents/test-context-search-agent.md +399 -0
- package/.claude/agents/test-fix-agent.md +343 -0
- package/.claude/agents/ui-design-agent.md +593 -0
- package/.claude/agents/universal-executor.md +131 -0
- package/.claude/commands/cli/cli-init.md +440 -0
- package/.claude/commands/enhance-prompt.md +93 -0
- package/.claude/commands/memory/code-map-memory.md +687 -0
- package/.claude/commands/memory/docs-full-cli.md +471 -0
- package/.claude/commands/memory/docs-related-cli.md +386 -0
- package/.claude/commands/memory/docs.md +615 -0
- package/.claude/commands/memory/load-skill-memory.md +182 -0
- package/.claude/commands/memory/load.md +240 -0
- package/.claude/commands/memory/skill-memory.md +525 -0
- package/.claude/commands/memory/style-skill-memory.md +396 -0
- package/.claude/commands/memory/tech-research.md +477 -0
- package/.claude/commands/memory/update-full.md +332 -0
- package/.claude/commands/memory/update-related.md +332 -0
- package/.claude/commands/memory/workflow-skill-memory.md +517 -0
- package/.claude/commands/task/breakdown.md +204 -0
- package/.claude/commands/task/create.md +152 -0
- package/.claude/commands/task/execute.md +270 -0
- package/.claude/commands/task/replan.md +437 -0
- package/.claude/commands/version.md +254 -0
- package/.claude/commands/workflow/action-plan-verify.md +447 -0
- package/.claude/commands/workflow/brainstorm/api-designer.md +585 -0
- package/.claude/commands/workflow/brainstorm/artifacts.md +452 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -0
- package/.claude/commands/workflow/brainstorm/data-architect.md +220 -0
- package/.claude/commands/workflow/brainstorm/product-manager.md +200 -0
- package/.claude/commands/workflow/brainstorm/product-owner.md +200 -0
- package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -0
- package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
- package/.claude/commands/workflow/brainstorm/synthesis.md +398 -0
- package/.claude/commands/workflow/brainstorm/system-architect.md +387 -0
- package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -0
- package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -0
- package/.claude/commands/workflow/execute.md +460 -0
- package/.claude/commands/workflow/init.md +164 -0
- package/.claude/commands/workflow/lite-execute.md +686 -0
- package/.claude/commands/workflow/lite-fix.md +621 -0
- package/.claude/commands/workflow/lite-plan.md +592 -0
- package/.claude/commands/workflow/plan.md +551 -0
- package/.claude/commands/workflow/replan.md +515 -0
- package/.claude/commands/workflow/review-fix.md +646 -0
- package/.claude/commands/workflow/review-module-cycle.md +795 -0
- package/.claude/commands/workflow/review-session-cycle.md +805 -0
- package/.claude/commands/workflow/review.md +291 -0
- package/.claude/commands/workflow/session/complete.md +500 -0
- package/.claude/commands/workflow/session/list.md +96 -0
- package/.claude/commands/workflow/session/resume.md +61 -0
- package/.claude/commands/workflow/session/start.md +200 -0
- package/.claude/commands/workflow/status.md +352 -0
- package/.claude/commands/workflow/tdd-plan.md +460 -0
- package/.claude/commands/workflow/tdd-verify.md +386 -0
- package/.claude/commands/workflow/test-cycle-execute.md +498 -0
- package/.claude/commands/workflow/test-fix-gen.md +699 -0
- package/.claude/commands/workflow/test-gen.md +529 -0
- package/.claude/commands/workflow/tools/conflict-resolution.md +680 -0
- package/.claude/commands/workflow/tools/context-gather.md +434 -0
- package/.claude/commands/workflow/tools/task-generate-agent.md +291 -0
- package/.claude/commands/workflow/tools/task-generate-tdd.md +518 -0
- package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
- package/.claude/commands/workflow/tools/test-concept-enhanced.md +163 -0
- package/.claude/commands/workflow/tools/test-context-gather.md +235 -0
- package/.claude/commands/workflow/tools/test-task-generate.md +256 -0
- package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -0
- package/.claude/commands/workflow/ui-design/codify-style.md +652 -0
- package/.claude/commands/workflow/ui-design/design-sync.md +454 -0
- package/.claude/commands/workflow/ui-design/explore-auto.md +678 -0
- package/.claude/commands/workflow/ui-design/generate.md +504 -0
- package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -0
- package/.claude/commands/workflow/ui-design/import-from-code.md +537 -0
- package/.claude/commands/workflow/ui-design/layout-extract.md +788 -0
- package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -0
- package/.claude/commands/workflow/ui-design/style-extract.md +773 -0
- package/.claude/scripts/classify-folders.sh +35 -0
- package/.claude/scripts/convert_tokens_to_css.sh +225 -0
- package/.claude/scripts/detect_changed_modules.sh +157 -0
- package/.claude/scripts/discover-design-files.sh +83 -0
- package/.claude/scripts/extract-animations.js +243 -0
- package/.claude/scripts/extract-computed-styles.js +118 -0
- package/.claude/scripts/extract-layout-structure.js +411 -0
- package/.claude/scripts/generate_module_docs.sh +713 -0
- package/.claude/scripts/get_modules_by_depth.sh +166 -0
- package/.claude/scripts/ui-generate-preview.sh +391 -0
- package/.claude/scripts/ui-instantiate-prototypes.sh +811 -0
- package/.claude/scripts/update_module_claude.sh +333 -0
- package/.claude/skills/command-guide/SKILL.md +388 -0
- package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +592 -0
- package/.claude/skills/command-guide/guides/cli-tools-guide.md +410 -0
- package/.claude/skills/command-guide/guides/examples.md +537 -0
- package/.claude/skills/command-guide/guides/getting-started.md +242 -0
- package/.claude/skills/command-guide/guides/implementation-details.md +1010 -0
- package/.claude/skills/command-guide/guides/index-structure.md +326 -0
- package/.claude/skills/command-guide/guides/troubleshooting.md +92 -0
- package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +316 -0
- package/.claude/skills/command-guide/guides/workflow-patterns.md +662 -0
- package/.claude/skills/command-guide/index/all-commands.json +783 -0
- package/.claude/skills/command-guide/index/by-category.json +811 -0
- package/.claude/skills/command-guide/index/by-use-case.json +797 -0
- package/.claude/skills/command-guide/index/command-relationships.json +307 -0
- package/.claude/skills/command-guide/index/essential-commands.json +123 -0
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +722 -0
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +270 -0
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -0
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +396 -0
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +558 -0
- package/.claude/skills/command-guide/reference/agents/code-developer.md +310 -0
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +328 -0
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +577 -0
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +330 -0
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +94 -0
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +399 -0
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +343 -0
- package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +593 -0
- package/.claude/skills/command-guide/reference/agents/universal-executor.md +131 -0
- package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +440 -0
- package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +93 -0
- package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +687 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +610 -0
- package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +182 -0
- package/.claude/skills/command-guide/reference/commands/memory/load.md +240 -0
- package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +525 -0
- package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +396 -0
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +477 -0
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -0
- package/.claude/skills/command-guide/reference/commands/memory/update-related.md +332 -0
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +517 -0
- package/.claude/skills/command-guide/reference/commands/task/breakdown.md +204 -0
- package/.claude/skills/command-guide/reference/commands/task/create.md +152 -0
- package/.claude/skills/command-guide/reference/commands/task/execute.md +270 -0
- package/.claude/skills/command-guide/reference/commands/task/replan.md +437 -0
- package/.claude/skills/command-guide/reference/commands/version.md +254 -0
- package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +447 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +604 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +466 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +496 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -0
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +460 -0
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +634 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +602 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +582 -0
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +551 -0
- package/.claude/skills/command-guide/reference/commands/workflow/replan.md +515 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +646 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +795 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +805 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +291 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +500 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +96 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +61 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +180 -0
- package/.claude/skills/command-guide/reference/commands/workflow/status.md +352 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +460 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +386 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +498 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +529 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +680 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +151 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +518 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +163 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +235 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +256 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +1150 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +652 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +454 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +678 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +745 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +788 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +356 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +773 -0
- package/.claude/skills/command-guide/scripts/analyze_commands.py +502 -0
- package/.claude/skills/command-guide/scripts/update-index.sh +130 -0
- package/.claude/skills/command-guide/templates/issue-bug.md +104 -0
- package/.claude/skills/command-guide/templates/issue-diagnosis.md +275 -0
- package/.claude/skills/command-guide/templates/issue-feature.md +97 -0
- package/.claude/skills/command-guide/templates/issue-question.md +141 -0
- package/.claude/skills/prompt-enhancer/SKILL.md +124 -0
- package/.claude/workflows/_template-compare-matrix.html +692 -0
- package/.claude/workflows/cli-templates/fix-plan-template.json +75 -0
- package/.claude/workflows/cli-templates/fix-progress-template.json +48 -0
- package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -0
- package/.claude/workflows/cli-templates/planning-roles/data-architect.md +120 -0
- package/.claude/workflows/cli-templates/planning-roles/product-manager.md +119 -0
- package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -0
- package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +186 -0
- package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +281 -0
- package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +414 -0
- package/.claude/workflows/cli-templates/planning-roles/system-architect.md +106 -0
- package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +124 -0
- package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +379 -0
- package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +240 -0
- package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +127 -0
- package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +115 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +37 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +33 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +70 -0
- package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +58 -0
- package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/documentation/api.txt +15 -0
- package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +27 -0
- package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +49 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +41 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +35 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +35 -0
- package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +165 -0
- package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +109 -0
- package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +30 -0
- package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +127 -0
- package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +30 -0
- package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +359 -0
- package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +185 -0
- package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +179 -0
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +95 -0
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +92 -0
- package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +27 -0
- package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +224 -0
- package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +176 -0
- package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -0
- package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +286 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +172 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +98 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +224 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +98 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +53 -0
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +123 -0
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +182 -0
- package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +234 -0
- package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +124 -0
- package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +273 -0
- package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +219 -0
- package/.claude/workflows/cli-templates/schemas/project-json-schema.json +221 -0
- package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +82 -0
- package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +51 -0
- package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +91 -0
- package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +107 -0
- package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +58 -0
- package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +79 -0
- package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +103 -0
- package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +83 -0
- package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +247 -0
- package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +342 -0
- package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +145 -0
- package/.claude/workflows/context-search-strategy.md +77 -0
- package/.claude/workflows/intelligent-tools-strategy.md +662 -0
- package/.claude/workflows/review-directory-specification.md +336 -0
- package/.claude/workflows/task-core.md +214 -0
- package/.claude/workflows/tool-strategy.md +71 -0
- package/.claude/workflows/workflow-architecture.md +942 -0
- package/.codex/AGENTS.md +330 -0
- package/.gemini/GEMINI.md +164 -0
- package/.qwen/QWEN.md +164 -0
- package/CLAUDE.md +91 -0
- package/LICENSE +21 -0
- package/README.md +219 -0
- package/ccw/README.md +121 -0
- package/ccw/bin/ccw.js +10 -0
- package/ccw/src/cli.js +100 -0
- package/ccw/src/commands/install.js +324 -0
- package/ccw/src/commands/list.js +37 -0
- package/ccw/src/commands/serve.js +67 -0
- package/ccw/src/commands/uninstall.js +238 -0
- package/ccw/src/commands/upgrade.js +307 -0
- package/ccw/src/commands/view.js +14 -0
- package/ccw/src/core/dashboard-generator-patch.js +29 -0
- package/ccw/src/core/dashboard-generator.js +667 -0
- package/ccw/src/core/data-aggregator.js +409 -0
- package/ccw/src/core/lite-scanner.js +290 -0
- package/ccw/src/core/manifest.js +201 -0
- package/ccw/src/core/server.js +1327 -0
- package/ccw/src/core/server.js.bak +385 -0
- package/ccw/src/core/server_original.bak +385 -0
- package/ccw/src/core/session-scanner.js +235 -0
- package/ccw/src/index.js +9 -0
- package/ccw/src/templates/dashboard-js/api.js +200 -0
- package/ccw/src/templates/dashboard-js/components/_conflict_tab.js +112 -0
- package/ccw/src/templates/dashboard-js/components/_exp_helpers.js +54 -0
- package/ccw/src/templates/dashboard-js/components/_review_tab.js +640 -0
- package/ccw/src/templates/dashboard-js/components/carousel.js +398 -0
- package/ccw/src/templates/dashboard-js/components/flowchart.js +493 -0
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +273 -0
- package/ccw/src/templates/dashboard-js/components/mcp-manager.js +506 -0
- package/ccw/src/templates/dashboard-js/components/modals.js +260 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +239 -0
- package/ccw/src/templates/dashboard-js/components/notifications.js +194 -0
- package/ccw/src/templates/dashboard-js/components/sidebar.js +31 -0
- package/ccw/src/templates/dashboard-js/components/tabs-context.js +1093 -0
- package/ccw/src/templates/dashboard-js/components/tabs-other.js +273 -0
- package/ccw/src/templates/dashboard-js/components/task-drawer-core.js +477 -0
- package/ccw/src/templates/dashboard-js/components/task-drawer-renderers.js +447 -0
- package/ccw/src/templates/dashboard-js/components/theme.js +21 -0
- package/ccw/src/templates/dashboard-js/main.js +57 -0
- package/ccw/src/templates/dashboard-js/state.js +37 -0
- package/ccw/src/templates/dashboard-js/utils.js +153 -0
- package/ccw/src/templates/dashboard-js/views/fix-session.js +180 -0
- package/ccw/src/templates/dashboard-js/views/home.js +193 -0
- package/ccw/src/templates/dashboard-js/views/hook-manager.js +387 -0
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +390 -0
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +271 -0
- package/ccw/src/templates/dashboard-js/views/project-overview.js +246 -0
- package/ccw/src/templates/dashboard-js/views/review-session.js +711 -0
- package/ccw/src/templates/dashboard-js/views/session-detail.js +770 -0
- package/ccw/src/templates/dashboard.css +7660 -0
- package/ccw/src/templates/dashboard.html +630 -0
- package/ccw/src/templates/dashboard_tailwind.html +42 -0
- package/ccw/src/templates/dashboard_test.html +37 -0
- package/ccw/src/templates/review-cycle-dashboard.html +1930 -0
- package/ccw/src/templates/tailwind-base.css +212 -0
- package/ccw/src/templates/workflow-dashboard.html +401 -0
- package/ccw/src/utils/browser-launcher.js +49 -0
- package/ccw/src/utils/file-utils.js +48 -0
- package/ccw/src/utils/path-resolver.js +279 -0
- package/ccw/src/utils/ui.js +148 -0
- package/package.json +66 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Plan Object Schema",
|
|
4
|
+
"description": "Implementation plan from cli-lite-planning-agent or direct planning",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"summary",
|
|
8
|
+
"approach",
|
|
9
|
+
"tasks",
|
|
10
|
+
"estimated_time",
|
|
11
|
+
"recommended_execution",
|
|
12
|
+
"complexity",
|
|
13
|
+
"_metadata"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"summary": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "2-3 sentence overview of the implementation plan"
|
|
19
|
+
},
|
|
20
|
+
"approach": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "High-level implementation strategy and methodology"
|
|
23
|
+
},
|
|
24
|
+
"tasks": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"minItems": 1,
|
|
27
|
+
"maxItems": 10,
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"required": ["id", "title", "scope", "action", "description", "implementation", "acceptance"],
|
|
31
|
+
"properties": {
|
|
32
|
+
"id": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"pattern": "^T[0-9]+$",
|
|
35
|
+
"description": "Task identifier (T1, T2, T3...)"
|
|
36
|
+
},
|
|
37
|
+
"title": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Task title (action verb + target module/feature)"
|
|
40
|
+
},
|
|
41
|
+
"scope": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Task scope: module path (src/auth/), feature name, or single file. Prefer module/feature level over single file."
|
|
44
|
+
},
|
|
45
|
+
"file": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Primary file (deprecated, use scope + modification_points instead)"
|
|
48
|
+
},
|
|
49
|
+
"action": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"enum": ["Create", "Update", "Implement", "Refactor", "Add", "Delete", "Configure", "Test", "Fix"],
|
|
52
|
+
"description": "Primary action type"
|
|
53
|
+
},
|
|
54
|
+
"description": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "What to implement (1-2 sentences)"
|
|
57
|
+
},
|
|
58
|
+
"modification_points": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"minItems": 1,
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"required": ["file", "target", "change"],
|
|
64
|
+
"properties": {
|
|
65
|
+
"file": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "File path within scope"
|
|
68
|
+
},
|
|
69
|
+
"target": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "Function/class/line range (e.g., 'validateToken:45-60')"
|
|
72
|
+
},
|
|
73
|
+
"change": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"description": "Brief description of change"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"description": "All modification points for this task. Group related changes (same feature/module) into one task with multiple modification_points."
|
|
80
|
+
},
|
|
81
|
+
"implementation": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": {"type": "string"},
|
|
84
|
+
"minItems": 2,
|
|
85
|
+
"maxItems": 7,
|
|
86
|
+
"description": "Step-by-step implementation guide"
|
|
87
|
+
},
|
|
88
|
+
"reference": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"properties": {
|
|
91
|
+
"pattern": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"description": "Pattern name to follow"
|
|
94
|
+
},
|
|
95
|
+
"files": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": {"type": "string"},
|
|
98
|
+
"description": "Reference file paths to study"
|
|
99
|
+
},
|
|
100
|
+
"examples": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"description": "Specific guidance or example references"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"description": "Reference materials for implementation (optional)"
|
|
106
|
+
},
|
|
107
|
+
"acceptance": {
|
|
108
|
+
"type": "array",
|
|
109
|
+
"items": {"type": "string"},
|
|
110
|
+
"minItems": 1,
|
|
111
|
+
"maxItems": 4,
|
|
112
|
+
"description": "Verification criteria (quantified, testable)"
|
|
113
|
+
},
|
|
114
|
+
"depends_on": {
|
|
115
|
+
"type": "array",
|
|
116
|
+
"items": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"pattern": "^T[0-9]+$"
|
|
119
|
+
},
|
|
120
|
+
"description": "Task IDs this task depends on (e.g., ['T1', 'T2'])"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"description": "Structured task breakdown (1-10 tasks)"
|
|
125
|
+
},
|
|
126
|
+
"flow_control": {
|
|
127
|
+
"type": "object",
|
|
128
|
+
"properties": {
|
|
129
|
+
"execution_order": {
|
|
130
|
+
"type": "array",
|
|
131
|
+
"items": {
|
|
132
|
+
"type": "object",
|
|
133
|
+
"properties": {
|
|
134
|
+
"phase": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"description": "Phase name (e.g., 'parallel-1', 'sequential-1')"
|
|
137
|
+
},
|
|
138
|
+
"tasks": {
|
|
139
|
+
"type": "array",
|
|
140
|
+
"items": {"type": "string"},
|
|
141
|
+
"description": "Task IDs in this phase"
|
|
142
|
+
},
|
|
143
|
+
"type": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"enum": ["parallel", "sequential"],
|
|
146
|
+
"description": "Execution type"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"description": "Ordered execution phases"
|
|
151
|
+
},
|
|
152
|
+
"exit_conditions": {
|
|
153
|
+
"type": "object",
|
|
154
|
+
"properties": {
|
|
155
|
+
"success": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"description": "Condition for successful completion"
|
|
158
|
+
},
|
|
159
|
+
"failure": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "Condition that indicates failure"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"description": "Conditions for workflow termination"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"description": "Execution flow control (optional, auto-inferred from depends_on if not provided)"
|
|
168
|
+
},
|
|
169
|
+
"focus_paths": {
|
|
170
|
+
"type": "array",
|
|
171
|
+
"items": {"type": "string"},
|
|
172
|
+
"description": "Key file paths affected by this plan (aggregated from tasks)"
|
|
173
|
+
},
|
|
174
|
+
"estimated_time": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"description": "Total estimated implementation time (e.g., '30 minutes', '2 hours')"
|
|
177
|
+
},
|
|
178
|
+
"recommended_execution": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"enum": ["Agent", "Codex"],
|
|
181
|
+
"description": "Recommended execution method based on complexity"
|
|
182
|
+
},
|
|
183
|
+
"complexity": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"enum": ["Low", "Medium", "High"],
|
|
186
|
+
"description": "Task complexity level"
|
|
187
|
+
},
|
|
188
|
+
"_metadata": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"required": ["timestamp", "source"],
|
|
191
|
+
"properties": {
|
|
192
|
+
"timestamp": {
|
|
193
|
+
"type": "string",
|
|
194
|
+
"format": "date-time",
|
|
195
|
+
"description": "ISO 8601 timestamp of planning"
|
|
196
|
+
},
|
|
197
|
+
"source": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"enum": ["cli-lite-planning-agent", "direct-planning"],
|
|
200
|
+
"description": "Planning source"
|
|
201
|
+
},
|
|
202
|
+
"planning_mode": {
|
|
203
|
+
"type": "string",
|
|
204
|
+
"enum": ["direct", "agent-based"],
|
|
205
|
+
"description": "Planning execution mode"
|
|
206
|
+
},
|
|
207
|
+
"exploration_angles": {
|
|
208
|
+
"type": "array",
|
|
209
|
+
"items": {"type": "string"},
|
|
210
|
+
"description": "Exploration angles used for context"
|
|
211
|
+
},
|
|
212
|
+
"duration_seconds": {
|
|
213
|
+
"type": "integer",
|
|
214
|
+
"description": "Planning duration in seconds"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Project Metadata Schema",
|
|
4
|
+
"description": "Workflow initialization metadata for project-level context",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"project_name",
|
|
8
|
+
"initialized_at",
|
|
9
|
+
"overview",
|
|
10
|
+
"features",
|
|
11
|
+
"statistics",
|
|
12
|
+
"_metadata"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"project_name": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Project name extracted from git repo or directory"
|
|
18
|
+
},
|
|
19
|
+
"initialized_at": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"format": "date-time",
|
|
22
|
+
"description": "ISO 8601 timestamp of initialization"
|
|
23
|
+
},
|
|
24
|
+
"overview": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"required": [
|
|
27
|
+
"description",
|
|
28
|
+
"technology_stack",
|
|
29
|
+
"architecture",
|
|
30
|
+
"key_components"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"description": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Brief project description (e.g., 'TypeScript web application with React frontend')"
|
|
36
|
+
},
|
|
37
|
+
"technology_stack": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"required": ["languages", "frameworks", "build_tools", "test_frameworks"],
|
|
40
|
+
"properties": {
|
|
41
|
+
"languages": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"required": ["name", "file_count", "primary"],
|
|
46
|
+
"properties": {
|
|
47
|
+
"name": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Language name (e.g., TypeScript, Python)"
|
|
50
|
+
},
|
|
51
|
+
"file_count": {
|
|
52
|
+
"type": "integer",
|
|
53
|
+
"description": "Number of source files in this language"
|
|
54
|
+
},
|
|
55
|
+
"primary": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"description": "True if this is the primary language"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"frameworks": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"items": {"type": "string"},
|
|
65
|
+
"description": "Detected frameworks (React, Express, Django, etc.)"
|
|
66
|
+
},
|
|
67
|
+
"build_tools": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {"type": "string"},
|
|
70
|
+
"description": "Build tools and package managers (npm, cargo, maven, etc.)"
|
|
71
|
+
},
|
|
72
|
+
"test_frameworks": {
|
|
73
|
+
"type": "array",
|
|
74
|
+
"items": {"type": "string"},
|
|
75
|
+
"description": "Testing frameworks (jest, pytest, go test, etc.)"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"architecture": {
|
|
80
|
+
"type": "object",
|
|
81
|
+
"required": ["style", "layers", "patterns"],
|
|
82
|
+
"properties": {
|
|
83
|
+
"style": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "Architecture style (MVC, microservices, layered, etc.)"
|
|
86
|
+
},
|
|
87
|
+
"layers": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"items": {"type": "string"},
|
|
90
|
+
"description": "Architectural layers (presentation, business-logic, data-access)"
|
|
91
|
+
},
|
|
92
|
+
"patterns": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"items": {"type": "string"},
|
|
95
|
+
"description": "Design patterns (Repository, Factory, Singleton, etc.)"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"key_components": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"required": ["name", "path", "description", "importance"],
|
|
104
|
+
"properties": {
|
|
105
|
+
"name": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"description": "Component name"
|
|
108
|
+
},
|
|
109
|
+
"path": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Relative path to component directory"
|
|
112
|
+
},
|
|
113
|
+
"description": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "Brief description of component functionality"
|
|
116
|
+
},
|
|
117
|
+
"importance": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"enum": ["high", "medium", "low"],
|
|
120
|
+
"description": "Component importance level"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"description": "5-10 core modules/components"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"features": {
|
|
129
|
+
"type": "array",
|
|
130
|
+
"items": {
|
|
131
|
+
"type": "object",
|
|
132
|
+
"required": ["session_id", "title", "completed_at", "tags"],
|
|
133
|
+
"properties": {
|
|
134
|
+
"session_id": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"description": "WFS session identifier"
|
|
137
|
+
},
|
|
138
|
+
"title": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"description": "Feature title/description"
|
|
141
|
+
},
|
|
142
|
+
"completed_at": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"format": "date-time",
|
|
145
|
+
"description": "ISO 8601 timestamp of completion"
|
|
146
|
+
},
|
|
147
|
+
"tags": {
|
|
148
|
+
"type": "array",
|
|
149
|
+
"items": {"type": "string"},
|
|
150
|
+
"description": "Feature tags for categorization"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"description": "Completed workflow features (populated by /workflow:session:complete)"
|
|
155
|
+
},
|
|
156
|
+
"development_index": {
|
|
157
|
+
"type": "object",
|
|
158
|
+
"description": "Categorized development history (lite-plan/lite-execute)",
|
|
159
|
+
"properties": {
|
|
160
|
+
"feature": { "type": "array", "items": { "$ref": "#/$defs/devIndexEntry" } },
|
|
161
|
+
"enhancement": { "type": "array", "items": { "$ref": "#/$defs/devIndexEntry" } },
|
|
162
|
+
"bugfix": { "type": "array", "items": { "$ref": "#/$defs/devIndexEntry" } },
|
|
163
|
+
"refactor": { "type": "array", "items": { "$ref": "#/$defs/devIndexEntry" } },
|
|
164
|
+
"docs": { "type": "array", "items": { "$ref": "#/$defs/devIndexEntry" } }
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"statistics": {
|
|
168
|
+
"type": "object",
|
|
169
|
+
"required": ["total_features", "total_sessions", "last_updated"],
|
|
170
|
+
"properties": {
|
|
171
|
+
"total_features": {
|
|
172
|
+
"type": "integer",
|
|
173
|
+
"description": "Count of completed features"
|
|
174
|
+
},
|
|
175
|
+
"total_sessions": {
|
|
176
|
+
"type": "integer",
|
|
177
|
+
"description": "Count of workflow sessions"
|
|
178
|
+
},
|
|
179
|
+
"last_updated": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"format": "date-time",
|
|
182
|
+
"description": "ISO 8601 timestamp of last update"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"_metadata": {
|
|
187
|
+
"type": "object",
|
|
188
|
+
"required": ["initialized_by", "analysis_timestamp", "analysis_mode"],
|
|
189
|
+
"properties": {
|
|
190
|
+
"initialized_by": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"description": "Agent or tool that performed initialization"
|
|
193
|
+
},
|
|
194
|
+
"analysis_timestamp": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"format": "date-time",
|
|
197
|
+
"description": "ISO 8601 timestamp of analysis"
|
|
198
|
+
},
|
|
199
|
+
"analysis_mode": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"enum": ["deep-scan", "quick-scan", "bash-fallback"],
|
|
202
|
+
"description": "Analysis mode used"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"$defs": {
|
|
208
|
+
"devIndexEntry": {
|
|
209
|
+
"type": "object",
|
|
210
|
+
"required": ["title", "sub_feature", "date", "description", "status"],
|
|
211
|
+
"properties": {
|
|
212
|
+
"title": { "type": "string", "maxLength": 60 },
|
|
213
|
+
"sub_feature": { "type": "string", "description": "Module/component area" },
|
|
214
|
+
"date": { "type": "string", "format": "date" },
|
|
215
|
+
"description": { "type": "string", "maxLength": 100 },
|
|
216
|
+
"status": { "type": "string", "enum": ["completed", "partial"] },
|
|
217
|
+
"session_id": { "type": "string", "description": "lite-plan session ID" }
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"finding_id": "sec-001-a1b2c3d4",
|
|
4
|
+
"original_dimension": "security",
|
|
5
|
+
"iteration": 1,
|
|
6
|
+
"analysis_timestamp": "2025-01-25T14:40:15Z",
|
|
7
|
+
"cli_tool_used": "gemini",
|
|
8
|
+
"root_cause": {
|
|
9
|
+
"summary": "Legacy code from v1 migration, pre-ORM implementation",
|
|
10
|
+
"details": "Query builder was ported from old codebase without security review. Team unaware of injection risks in string concatenation pattern. Code review at migration time focused on functionality, not security.",
|
|
11
|
+
"affected_scope": "All query-builder.ts methods using string template literals (15 methods total)",
|
|
12
|
+
"similar_patterns": [
|
|
13
|
+
"src/database/user-queries.ts:buildEmailQuery",
|
|
14
|
+
"src/database/order-queries.ts:buildOrderSearch"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"remediation_plan": {
|
|
18
|
+
"approach": "Migrate to ORM prepared statements with input validation layer",
|
|
19
|
+
"priority": "P0 - Critical (security vulnerability)",
|
|
20
|
+
"estimated_effort": "4 hours development + 2 hours testing",
|
|
21
|
+
"risk_level": "low",
|
|
22
|
+
"steps": [
|
|
23
|
+
{
|
|
24
|
+
"step": 1,
|
|
25
|
+
"action": "Replace direct string concatenation with ORM query builder",
|
|
26
|
+
"files": ["src/database/query-builder.ts:buildUserQuery:140-150"],
|
|
27
|
+
"commands": [
|
|
28
|
+
"Replace: const query = `SELECT * FROM users WHERE id = ${userId}`;",
|
|
29
|
+
"With: return db('users').where('id', userId).first();"
|
|
30
|
+
],
|
|
31
|
+
"rationale": "ORM automatically parameterizes queries, eliminating injection risk",
|
|
32
|
+
"validation": "Run: npm test -- src/database/query-builder.test.ts"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"step": 2,
|
|
36
|
+
"action": "Add input validation layer before ORM",
|
|
37
|
+
"files": ["src/database/validators.ts:validateUserId:NEW"],
|
|
38
|
+
"commands": [
|
|
39
|
+
"Create validator: export function validateUserId(id: unknown): number { ... }",
|
|
40
|
+
"Add schema: z.number().positive().int()"
|
|
41
|
+
],
|
|
42
|
+
"rationale": "Defense in depth - validate types and ranges before database layer",
|
|
43
|
+
"validation": "Run: npm test -- src/database/validators.test.ts"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"step": 3,
|
|
47
|
+
"action": "Apply pattern to all 15 similar methods",
|
|
48
|
+
"files": ["src/database/query-builder.ts:ALL_METHODS"],
|
|
49
|
+
"commands": ["Bulk replace string templates with ORM syntax"],
|
|
50
|
+
"rationale": "Prevent similar vulnerabilities in other query methods",
|
|
51
|
+
"validation": "Run: npm test -- src/database/"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"rollback_strategy": "Git commit before each step, revert if tests fail. Staged rollout: dev → staging → production with monitoring."
|
|
55
|
+
},
|
|
56
|
+
"impact_assessment": {
|
|
57
|
+
"files_affected": [
|
|
58
|
+
"src/database/query-builder.ts (modify)",
|
|
59
|
+
"src/database/validators.ts (new)",
|
|
60
|
+
"src/database/user-queries.ts (modify)",
|
|
61
|
+
"src/database/order-queries.ts (modify)"
|
|
62
|
+
],
|
|
63
|
+
"tests_required": [
|
|
64
|
+
"src/database/query-builder.test.ts (update existing)",
|
|
65
|
+
"src/database/validators.test.ts (new)",
|
|
66
|
+
"integration/security/sql-injection.test.ts (new)"
|
|
67
|
+
],
|
|
68
|
+
"breaking_changes": false,
|
|
69
|
+
"dependencies_updated": ["knex@2.5.1 (ORM library)"],
|
|
70
|
+
"deployment_notes": "No downtime required. Database migrations not needed."
|
|
71
|
+
},
|
|
72
|
+
"reassessed_severity": "high",
|
|
73
|
+
"severity_change_reason": "Found existing WAF rules partially mitigate risk in production. Input validation at API gateway layer provides additional defense. Downgrade from critical to high, but still requires immediate fix.",
|
|
74
|
+
"confidence_score": 0.95,
|
|
75
|
+
"references": [
|
|
76
|
+
"Project ORM migration guide: docs/architecture/orm-guide.md",
|
|
77
|
+
"Knex.js parameterization: https://knexjs.org/guide/query-builder.html#where",
|
|
78
|
+
"Similar incident: TICKET-1234 (previous SQL injection fix)"
|
|
79
|
+
],
|
|
80
|
+
"status": "remediation_plan_ready"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"dimension": "security",
|
|
4
|
+
"review_id": "review-20250125-143022",
|
|
5
|
+
"analysis_timestamp": "2025-01-25T14:30:22Z",
|
|
6
|
+
"cli_tool_used": "gemini",
|
|
7
|
+
"model": "gemini-2.5-pro",
|
|
8
|
+
"analysis_duration_ms": 2145000,
|
|
9
|
+
"summary": {
|
|
10
|
+
"total_findings": 15,
|
|
11
|
+
"critical": 2,
|
|
12
|
+
"high": 4,
|
|
13
|
+
"medium": 6,
|
|
14
|
+
"low": 3,
|
|
15
|
+
"files_analyzed": 47,
|
|
16
|
+
"lines_reviewed": 8932
|
|
17
|
+
},
|
|
18
|
+
"findings": [
|
|
19
|
+
{
|
|
20
|
+
"id": "sec-001-a1b2c3d4",
|
|
21
|
+
"title": "SQL Injection vulnerability in user query",
|
|
22
|
+
"severity": "critical",
|
|
23
|
+
"category": "injection",
|
|
24
|
+
"description": "Direct string concatenation in SQL query allows injection attacks. User input is not sanitized before query execution.",
|
|
25
|
+
"file": "src/database/query-builder.ts",
|
|
26
|
+
"line": 145,
|
|
27
|
+
"snippet": "const query = `SELECT * FROM users WHERE id = ${userId}`;",
|
|
28
|
+
"recommendation": "Use parameterized queries: db.query('SELECT * FROM users WHERE id = ?', [userId])",
|
|
29
|
+
"references": [
|
|
30
|
+
"OWASP Top 10 - A03:2021 Injection",
|
|
31
|
+
"https://owasp.org/www-community/attacks/SQL_Injection"
|
|
32
|
+
],
|
|
33
|
+
"impact": "Potential data breach, unauthorized access to user records, data manipulation",
|
|
34
|
+
"metadata": {
|
|
35
|
+
"cwe_id": "CWE-89",
|
|
36
|
+
"owasp_category": "A03:2021-Injection"
|
|
37
|
+
},
|
|
38
|
+
"iteration": 0,
|
|
39
|
+
"status": "pending_remediation",
|
|
40
|
+
"cross_references": []
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"cross_references": [
|
|
44
|
+
{
|
|
45
|
+
"finding_id": "sec-001-a1b2c3d4",
|
|
46
|
+
"related_dimensions": ["quality", "architecture"],
|
|
47
|
+
"reason": "Same file flagged in multiple dimensions"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: go-dev
|
|
3
|
+
description: Go core development principles for clean, efficient, and idiomatic code
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Go Development Guidelines
|
|
7
|
+
|
|
8
|
+
You are now operating under Go core development principles. Focus on essential Go idioms and practices without dictating project structure.
|
|
9
|
+
|
|
10
|
+
## Core Go Principles
|
|
11
|
+
|
|
12
|
+
### Essential Language Guidelines
|
|
13
|
+
- **Simplicity**: Write simple, readable code over clever solutions
|
|
14
|
+
- **Naming**: Use clear, descriptive names following Go conventions
|
|
15
|
+
- **Error Handling**: Handle errors explicitly, don't ignore them
|
|
16
|
+
- **Interfaces**: Keep interfaces small and focused
|
|
17
|
+
|
|
18
|
+
```go
|
|
19
|
+
// Core principle: Clear error handling
|
|
20
|
+
func GetUser(id string) (*User, error) {
|
|
21
|
+
if id == "" {
|
|
22
|
+
return nil, errors.New("user ID cannot be empty")
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
user, err := database.FindUser(id)
|
|
26
|
+
if err != nil {
|
|
27
|
+
return nil, fmt.Errorf("failed to get user %s: %w", id, err)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return user, nil
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Core principle: Small, focused interfaces
|
|
34
|
+
type UserReader interface {
|
|
35
|
+
GetUser(id string) (*User, error)
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Idiomatic Go Patterns
|
|
40
|
+
- **Zero Values**: Design types to be useful in their zero state
|
|
41
|
+
- **Receiver Types**: Use pointer receivers for methods that modify the receiver
|
|
42
|
+
- **Package Names**: Use short, clear package names without underscores
|
|
43
|
+
- **Goroutines**: Use goroutines and channels for concurrent operations
|
|
44
|
+
|
|
45
|
+
## Essential Error Handling
|
|
46
|
+
- **Explicit Errors**: Always handle errors explicitly
|
|
47
|
+
- **Error Wrapping**: Use `fmt.Errorf` with `%w` verb to wrap errors
|
|
48
|
+
- **Custom Errors**: Create specific error types when appropriate
|
|
49
|
+
- **Early Returns**: Use early returns to avoid deep nesting
|
|
50
|
+
|
|
51
|
+
```go
|
|
52
|
+
// Core principle: Error wrapping and context
|
|
53
|
+
func ProcessUserData(userID string) error {
|
|
54
|
+
user, err := GetUser(userID)
|
|
55
|
+
if err != nil {
|
|
56
|
+
return fmt.Errorf("processing user data: %w", err)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if err := validateUser(user); err != nil {
|
|
60
|
+
return fmt.Errorf("user validation failed: %w", err)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return nil
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Concurrency Guidelines
|
|
68
|
+
- **Channel Communication**: Use channels to communicate between goroutines
|
|
69
|
+
- **Context**: Use context.Context for cancellation and timeouts
|
|
70
|
+
- **Worker Pools**: Implement worker pools for bounded concurrency
|
|
71
|
+
- **Race Detection**: Run tests with `-race` flag regularly
|
|
72
|
+
|
|
73
|
+
## Testing Essentials
|
|
74
|
+
- **Table-Driven Tests**: Use table-driven tests for multiple test cases
|
|
75
|
+
- **Test Names**: Use descriptive test function names
|
|
76
|
+
- **Mocking**: Use interfaces for dependency injection and mocking
|
|
77
|
+
- **Benchmarks**: Write benchmarks for performance-critical code
|
|
78
|
+
|
|
79
|
+
## Performance Guidelines
|
|
80
|
+
- **Profiling**: Use Go's built-in profiling tools
|
|
81
|
+
- **Memory Management**: Understand Go's garbage collector behavior
|
|
82
|
+
- **Slice/Map Operations**: Be aware of capacity vs length for slices
|
|
83
|
+
- **String Operations**: Use strings.Builder for efficient string concatenation
|
|
84
|
+
|
|
85
|
+
## Code Quality Essentials
|
|
86
|
+
- **Go fmt**: Always format code with `gofmt` or `goimports`
|
|
87
|
+
- **Go vet**: Run `go vet` to catch common mistakes
|
|
88
|
+
- **Linting**: Use golangci-lint for comprehensive code analysis
|
|
89
|
+
- **Documentation**: Write clear package and function documentation
|
|
90
|
+
|
|
91
|
+
Apply these core Go principles to write clean, efficient, and maintainable Go code following language idioms and best practices.
|