renderdeck-mcp 0.1.0__tar.gz
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.
- renderdeck_mcp-0.1.0/.claude/commands/feedback.md +53 -0
- renderdeck_mcp-0.1.0/.claude/commands/sdd.md +287 -0
- renderdeck_mcp-0.1.0/.claude/hooks/git/pre-commit +120 -0
- renderdeck_mcp-0.1.0/.claude/hooks/lib/config-reader.sh +536 -0
- renderdeck_mcp-0.1.0/.claude/hooks/lib/health-tracker.sh +196 -0
- renderdeck_mcp-0.1.0/.claude/hooks/lib/lessons-manager.sh +532 -0
- renderdeck_mcp-0.1.0/.claude/hooks/lib/validate-output.sh +264 -0
- renderdeck_mcp-0.1.0/.claude/hooks/post-edit.sh +82 -0
- renderdeck_mcp-0.1.0/.claude/hooks/pre-edit.sh +148 -0
- renderdeck_mcp-0.1.0/.claude/hooks/session-start.sh +123 -0
- renderdeck_mcp-0.1.0/.claude/hooks/stop-validate.sh +280 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/checkpoint.sh +1104 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/claude-wrapper.sh +158 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/code-review-loop.sh +121 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/dep-graph.sh +375 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/epic-branch.sh +251 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/fuzzy-match.sh +121 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/gap-keywords.sh +139 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/jira-helpers.sh +131 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/parallel-scheduler.sh +532 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/test-ipc-gui-mode-integration.sh +536 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/test-ipc-gui-mode.sh +1074 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/test-parallel-libs.sh +578 -0
- renderdeck_mcp-0.1.0/.claude/scripts/lib/turbo.sh +116 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-bump-version.sh +227 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-jira-update.sh +213 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-pipeline-config.sh +266 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-pipeline-prompts.sh +421 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-pipeline-runner.sh +2482 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-preflight.sh +664 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-recover.sh +547 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-reset.sh +567 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-setup-hooks.sh +43 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-turbo-config.sh +534 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-turbo-prompts.sh +194 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-validate-loop.sh +750 -0
- renderdeck_mcp-0.1.0/.claude/scripts/sdd-validate-state.sh +321 -0
- renderdeck_mcp-0.1.0/.claude/settings.json +82 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-best-practices/SKILL.md +55 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-best-practices/references/practices-structure.md +56 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-best-practices/segments/core.md +19 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-analyst/SKILL.md +118 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-analyst/learnings/bug-analyst-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-analyst/segments/core.md +24 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-implementer/SKILL.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-implementer/learnings/bug-implementer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-implementer/segments/core.md +26 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-orchestrator/SKILL.md +43 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-orchestrator/segments/bug-pipeline.md +298 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-orchestrator/segments/core.md +29 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-orchestrator/segments/jira-updates.md +66 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-reviewer/SKILL.md +99 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-reviewer/learnings/bug-reviewer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-reviewer/segments/core.md +18 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-test-writer/SKILL.md +82 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-test-writer/learnings/bug-test-writer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-bug-test-writer/segments/core.md +20 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/README.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/SKILL.md +55 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/challenge-review.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/code-review-review.md +62 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/design-validation-review.md +64 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/implementation-validation-review.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/security-design-review.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/security-impl-review.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/template-review-checklist.md +28 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/review/test-coverage-review.md +62 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/schemas/certificate-meta.json +76 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/challenge.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/code-review.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/design-validation.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/implementation-validation.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/security-design.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/security-impl.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-certificates/templates/test-coverage.md +53 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/SKILL.md +48 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/guidelines/challenge-guidelines.md +45 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/learnings/challenger-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/references/challenge-categories.md +102 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/references/challenge-report-template.md +134 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/segments/core.md +74 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/segments/epic-mode.md +66 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/segments/perspectives/business.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/segments/perspectives/security.md +67 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/segments/perspectives/technical.md +73 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-challenger/segments/task-mode.md +66 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/SKILL.md +147 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/certificate-verification.md +61 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-bug-analysis.md +25 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-bug-fix.md +23 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-bug-test.md +23 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-challenge.md +29 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-design.md +54 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-impl.md +54 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-integration-test.md +37 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-pm.md +30 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-security-design.md +55 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-security-impl.md +55 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-completeness-reviewer/segments/checklist-unit-test.md +37 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-designer/SKILL.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-designer/guidelines/design-guidelines.md +32 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-designer/learnings/designer-lessons.json +14 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-designer/references/output-artifacts.md +99 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-designer/segments/core.md +54 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-feedback/SKILL.md +96 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-feedback/references/feedback-form.md +90 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-feedback/references/feedback-routing.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-feedback/segments/core.md +20 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-implementer/SKILL.md +79 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-implementer/guidelines/implementation-guidelines.md +28 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-implementer/learnings/implementer-lessons.json +62 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-implementer/references/coding-patterns.md +111 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-implementer/segments/core.md +42 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-init/SKILL.md +89 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-init/references/agents-md-template.md +132 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-init/references/questionnaire-template.md +160 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-init/references/sdd-config-template.yaml +311 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-init/segments/core.md +31 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-integration-test-writer/SKILL.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-integration-test-writer/learnings/integration-test-writer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-integration-test-writer/segments/core.md +72 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-jira-sync/SKILL.md +21 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-jira-sync/segments/core.md +454 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-goal/SKILL.md +71 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-goal/references/goal-template.md +68 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-goal/segments/core.md +77 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/SKILL.md +36 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/learnings/project-manager-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/references/acceptance-criteria-template.md +139 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/references/risk-classification-template.md +91 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/segments/core.md +29 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/segments/epic-mode.md +48 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-manager/segments/task-mode.md +119 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-setup/SKILL.md +23 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-setup/segments/codebase-analysis.md +127 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-project-setup/segments/core.md +336 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-reviewer/SKILL.md +89 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-reviewer/guidelines/review-guidelines.md +23 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-reviewer/learnings/reviewer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-reviewer/references/checklists.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-reviewer/segments/core.md +43 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-security-reviewer/SKILL.md +63 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-security-reviewer/learnings/security-reviewer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-security-reviewer/references/security-checklist.md +36 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-security-reviewer/segments/aikido-integration.md +89 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-security-reviewer/segments/design-review.md +97 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-security-reviewer/segments/impl-review.md +84 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-setup/SKILL.md +77 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-setup/references/tool-matrix.md +22 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-setup/segments/core.md +97 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-setup/segments/scope-analysis.md +49 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/SKILL.md +70 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/guidelines/gap-classification.md +187 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/bug-analyst.md +30 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/bug-implementer.md +31 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/bug-reviewer.md +27 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/bug-test-writer.md +29 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/challenger.md +56 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/completeness-reviewer.md +113 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/designer.md +27 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/feedback.md +44 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/implementer.md +25 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/integration-test-writer.md +27 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/reviewer.md +22 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/security-reviewer.md +47 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/unit-test-writer.md +26 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/prompts/validation-loop.md +137 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/references/state-schema.md +739 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/segments/certificate-output.md +34 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/segments/error-handling.md +38 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/segments/git-pr.md +158 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-shared/templates/phase-digest.md +39 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-task-orchestrator/SKILL.md +50 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-task-orchestrator/segments/jira-updates.md +64 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-task-orchestrator/segments/task-pipeline.md +583 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-unit-test-writer/SKILL.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-unit-test-writer/learnings/unit-test-writer-lessons.json +1 -0
- renderdeck_mcp-0.1.0/.claude/skills/sdd-unit-test-writer/segments/core.md +70 -0
- renderdeck_mcp-0.1.0/.claude/skills/shared/brevity.md +85 -0
- renderdeck_mcp-0.1.0/.claude/skills/shared/context-management.md +114 -0
- renderdeck_mcp-0.1.0/.claude/skills/shared/escalation.md +120 -0
- renderdeck_mcp-0.1.0/.claude/skills/shared/philosophy.md +53 -0
- renderdeck_mcp-0.1.0/.claude/tests/integration/sync-jira-command.sh +318 -0
- renderdeck_mcp-0.1.0/.claude/tests/unit/sync-jira-command.sh +284 -0
- renderdeck_mcp-0.1.0/.coverage +0 -0
- renderdeck_mcp-0.1.0/.env.example +26 -0
- renderdeck_mcp-0.1.0/.gitignore +22 -0
- renderdeck_mcp-0.1.0/.secrets.zip +0 -0
- renderdeck_mcp-0.1.0/AGENTS.md +95 -0
- renderdeck_mcp-0.1.0/PKG-INFO +16 -0
- renderdeck_mcp-0.1.0/README.md +253 -0
- renderdeck_mcp-0.1.0/coverage.json +1 -0
- renderdeck_mcp-0.1.0/docs/CLAUDE_DESKTOP_RENDERDECK_FORMAT.md +123 -0
- renderdeck_mcp-0.1.0/docs/SlideForge_Script_Spec_v1.0.md +338 -0
- renderdeck_mcp-0.1.0/docs/best-practices.md +79 -0
- renderdeck_mcp-0.1.0/docs/project/codebase-summary.md +74 -0
- renderdeck_mcp-0.1.0/docs/project/epic-mcp-resource-reference/tasks.md +82 -0
- renderdeck_mcp-0.1.0/docs/project/epic-mcp-server-generation-assembly/tasks.md +213 -0
- renderdeck_mcp-0.1.0/docs/project/epic-parser-validation/tasks.md +175 -0
- renderdeck_mcp-0.1.0/docs/project/epic-setup-tools-integration/tasks.md +240 -0
- renderdeck_mcp-0.1.0/docs/project/epics_list.md +47 -0
- renderdeck_mcp-0.1.0/docs/project/project-goal.md +34 -0
- renderdeck_mcp-0.1.0/docs/project/project-init.md +82 -0
- renderdeck_mcp-0.1.0/docs/renderdeck_mcp_server_prd.md +670 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/design.md +293 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/review-handoff.md +62 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/test-handoff.md +251 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/unit-tests.md +74 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/validation-phase-cycle1.log +7 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/validation-phase-cycle2.log +11 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/validation-reviewer-cycle1.log +34 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/compile-reference-doc/validation-reviewer-cycle2.log +99 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-resource-reference/mcp-resource-handler/design.md +104 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/cache-manifest/design.md +218 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/cache-manifest/impl-handoff.md +271 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/cache-manifest/test-handoff.md +387 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/gemini-client/design.md +369 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/gemini-client/impl-handoff.md +376 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/gemini-client/integration-tests.md +262 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/gemini-client/test-handoff.md +677 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/gemini-client/unit-tests.md +156 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/generate-deck-tool/design.md +152 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/generate-deck-tool/impl-handoff.md +101 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/generate-deck-tool/test-handoff.md +229 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/mcp-server-scaffold/design.md +276 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/mcp-server-scaffold/review-handoff.md +135 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/mcp-server-scaffold/test-handoff.md +326 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/pptx-builder/design.md +210 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/pptx-builder/impl-handoff.md +189 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-mcp-server-generation-assembly/pptx-builder/test-handoff.md +252 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/content-hash/design.md +97 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/content-hash/review-handoff.md +92 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/content-hash/test-handoff.md +85 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/format-validator/design.md +228 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/format-validator/review-handoff.md +100 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/format-validator/test-handoff.md +314 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/format-validator/unit-tests.md +312 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/project-scaffold/design.md +275 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/project-scaffold/review-handoff.md +75 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/project-scaffold/test-handoff.md +171 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/project-scaffold/unit-tests.md +174 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/prompt-file-parser/design.md +447 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/prompt-file-parser/review-handoff.md +129 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/prompt-file-parser/test-handoff.md +601 -0
- renderdeck_mcp-0.1.0/docs/sdd/epic-parser-validation/prompt-file-parser/unit-tests.md +268 -0
- renderdeck_mcp-0.1.0/docs/sdd/health.yaml +55 -0
- renderdeck_mcp-0.1.0/docs/sdd/jira-mapping.json +96 -0
- renderdeck_mcp-0.1.0/docs/sdd/phase-index.md +11 -0
- renderdeck_mcp-0.1.0/docs/sdd/state.json +277 -0
- renderdeck_mcp-0.1.0/docs/sdd/state.json.bak +278 -0
- renderdeck_mcp-0.1.0/docs/tech-stack.md +56 -0
- renderdeck_mcp-0.1.0/e2e_output/e2e_hackathon_kickoff.pptx +0 -0
- renderdeck_mcp-0.1.0/e2e_output/e2e_live_cold.pptx +0 -0
- renderdeck_mcp-0.1.0/e2e_output/e2e_live_incremental.pptx +0 -0
- renderdeck_mcp-0.1.0/pyproject.toml +62 -0
- renderdeck_mcp-0.1.0/renderdeck.py +1179 -0
- renderdeck_mcp-0.1.0/requirements.txt +6 -0
- renderdeck_mcp-0.1.0/resources/renderdeck_reference.md +463 -0
- renderdeck_mcp-0.1.0/sdd-config.yaml +157 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/__init__.py +5 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/__main__.py +27 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/assembly/__init__.py +19 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/assembly/pptx_builder.py +228 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/config.py +156 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/generation/__init__.py +31 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/generation/cache.py +228 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/generation/gemini.py +279 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/parser/__init__.py +31 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/parser/prompt_file.py +346 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/parser/validator.py +274 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/prompts/__init__.py +3 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/prompts/templates.py +72 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/resources/__init__.py +3 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/resources/handler.py +51 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/server.py +151 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/tools/__init__.py +3 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/tools/generate_deck.py +373 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/tools/regenerate.py +181 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/tools/setup.py +67 -0
- renderdeck_mcp-0.1.0/src/renderdeck_mcp/tools/validate.py +35 -0
- renderdeck_mcp-0.1.0/tests/conftest.py +72 -0
- renderdeck_mcp-0.1.0/tests/fixtures/.gitkeep +0 -0
- renderdeck_mcp-0.1.0/tests/fixtures/malformed/.gitkeep +0 -0
- renderdeck_mcp-0.1.0/tests/test_cache_manifest.py +296 -0
- renderdeck_mcp-0.1.0/tests/test_config.py +192 -0
- renderdeck_mcp-0.1.0/tests/test_content_hash.py +265 -0
- renderdeck_mcp-0.1.0/tests/test_e2e.py +418 -0
- renderdeck_mcp-0.1.0/tests/test_gemini_client.py +974 -0
- renderdeck_mcp-0.1.0/tests/test_gemini_client_integration.py +607 -0
- renderdeck_mcp-0.1.0/tests/test_generate_deck_tool.py +652 -0
- renderdeck_mcp-0.1.0/tests/test_parser.py +965 -0
- renderdeck_mcp-0.1.0/tests/test_pptx_builder.py +290 -0
- renderdeck_mcp-0.1.0/tests/test_prompt_templates.py +79 -0
- renderdeck_mcp-0.1.0/tests/test_reference_doc.py +291 -0
- renderdeck_mcp-0.1.0/tests/test_regenerate_tool.py +166 -0
- renderdeck_mcp-0.1.0/tests/test_resource_handler.py +92 -0
- renderdeck_mcp-0.1.0/tests/test_scaffold.py +363 -0
- renderdeck_mcp-0.1.0/tests/test_server_scaffold.py +348 -0
- renderdeck_mcp-0.1.0/tests/test_update_settings_tool.py +58 -0
- renderdeck_mcp-0.1.0/tests/test_validate_tool.py +132 -0
- renderdeck_mcp-0.1.0/tests/test_validator.py +578 -0
- renderdeck_mcp-0.1.0/uv.lock +1403 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# /sdd feedback - Agent Feedback Collection
|
|
2
|
+
|
|
3
|
+
Collect structured feedback on agent performance and route to learnings.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/sdd feedback [agent-name]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Agents
|
|
12
|
+
|
|
13
|
+
| Agent | Feedback After |
|
|
14
|
+
|-------|---------------|
|
|
15
|
+
| init | Project initialization |
|
|
16
|
+
| best-practices | Best practices generation |
|
|
17
|
+
| project-goal | Goal definition |
|
|
18
|
+
| project-manager | Epic/task planning |
|
|
19
|
+
| designer | Design phase |
|
|
20
|
+
| test-writer | Test writing |
|
|
21
|
+
| implementer | Implementation |
|
|
22
|
+
| reviewer | Code review |
|
|
23
|
+
| completeness-reviewer | Completeness checks |
|
|
24
|
+
| challenger | Challenge reports |
|
|
25
|
+
| orchestrator | Automated pipeline runs |
|
|
26
|
+
| bug-analyst | Bug investigation |
|
|
27
|
+
| bug-test-writer | Bug regression tests |
|
|
28
|
+
| bug-implementer | Bug fix implementation |
|
|
29
|
+
| bug-reviewer | Bug fix review |
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
1. Invoke the `sdd-feedback` skill
|
|
34
|
+
2. Walk through structured feedback form:
|
|
35
|
+
- Target agent
|
|
36
|
+
- Feedback type (BUG/GAP/QUALITY/PROCESS/PRAISE)
|
|
37
|
+
- Severity (CRITICAL/WARNING/INFO)
|
|
38
|
+
- Description
|
|
39
|
+
- Expected behavior
|
|
40
|
+
- Affected files
|
|
41
|
+
- Should this be a recurring check?
|
|
42
|
+
3. Route feedback to agent's `learnings/{agent}-lessons.json`
|
|
43
|
+
4. Detect patterns (3+ similar → propose best-practices update)
|
|
44
|
+
5. Report confirmation
|
|
45
|
+
|
|
46
|
+
## Example
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
/sdd feedback designer
|
|
50
|
+
# → Walks through feedback form
|
|
51
|
+
# → Routes to .claude/skills/sdd-designer/learnings/designer-lessons.json
|
|
52
|
+
# → Reports pattern detection results
|
|
53
|
+
```
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# /sdd - Spec-Driven Development
|
|
2
|
+
|
|
3
|
+
Orchestrate feature development through structured phases with automated quality gates.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/sdd [command] [arguments]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
### Project Setup
|
|
14
|
+
|
|
15
|
+
| Command | Description |
|
|
16
|
+
|---------|-------------|
|
|
17
|
+
| `/sdd init` | Run project questionnaire, generate config and docs (produces `project-init.yaml`, `tech-stack.md`, `sdd-config.yaml`, `AGENTS.md`) |
|
|
18
|
+
| `/sdd best-practices` | Generate project-specific coding best practices |
|
|
19
|
+
| `/sdd goal` | Define measurable project goals and success criteria |
|
|
20
|
+
| `/sdd setup` | Diagnose quality tooling, validate tool availability, check git access |
|
|
21
|
+
| `/sdd setup-project` | One-time project setup: analyzes codebase via Bitbucket, generates goal, creates epics and tasks, syncs all to Jira |
|
|
22
|
+
|
|
23
|
+
### Planning
|
|
24
|
+
|
|
25
|
+
| Command | Description |
|
|
26
|
+
|---------|-------------|
|
|
27
|
+
| `/sdd plan [project]` | Create epics and tasks (Project Manager) |
|
|
28
|
+
| `/sdd challenge [target]` | Devil's advocate review. Targets: `epics` (challenge epics list), `epic-{name}` (challenge tasks for a specific epic) |
|
|
29
|
+
| `/sdd sync-jira` | Sync all epics and tasks to Jira (idempotent — safe to run multiple times) |
|
|
30
|
+
|
|
31
|
+
### Development Phases
|
|
32
|
+
|
|
33
|
+
| Command | Description |
|
|
34
|
+
|---------|-------------|
|
|
35
|
+
| `/sdd design [feature]` | Create design docs and handoffs |
|
|
36
|
+
| `/sdd unit-test [feature]` | Write unit tests from design handoffs (pure functions, no I/O) |
|
|
37
|
+
| `/sdd integration-test [feature]` | Write integration tests from design handoffs (API, DB, service boundaries) |
|
|
38
|
+
| `/sdd impl [feature]` | Write code to pass tests |
|
|
39
|
+
| `/sdd review [feature]` | Review implementation |
|
|
40
|
+
|
|
41
|
+
### Bug Pipeline
|
|
42
|
+
|
|
43
|
+
| Command | Description |
|
|
44
|
+
|---------|-------------|
|
|
45
|
+
| `/sdd bug <bug-reference>` | Start bug fix pipeline via `sdd-bug-orchestrator` (Bug Analyst → Bug Test-Writer → Bug Implementer → Bug Reviewer) |
|
|
46
|
+
| `/sdd fix <bug-reference>` | Alias for `/sdd bug` |
|
|
47
|
+
| `/sdd bug <bug-reference> --resume` | Resume bug pipeline from last in_progress phase |
|
|
48
|
+
|
|
49
|
+
### Automation
|
|
50
|
+
|
|
51
|
+
| Command | Description |
|
|
52
|
+
|---------|-------------|
|
|
53
|
+
| `/sdd task <jira-id\|task-slug>` | Run full 19-phase pipeline for a single task in fresh context (e.g. `/sdd task NCI-43` or `/sdd task my-feature`) |
|
|
54
|
+
| `/sdd task <id> --turbo` | Run pipeline in turbo mode (auto-approve checkpoints except security) |
|
|
55
|
+
| `/sdd task <id> --resume` | Resume pipeline from last in_progress phase |
|
|
56
|
+
| `/sdd turbo [task-id\|all]` | Script-driven turbo mode via `claude --print`. Prints instructions for running `bash .claude/scripts/sdd-pipeline-runner.sh` |
|
|
57
|
+
|
|
58
|
+
### Independent Review
|
|
59
|
+
For an unbiased review after fixing gaps, spawn the reviewer with fresh context:
|
|
60
|
+
- `/sdd review --fresh` — Spawns reviewer as a new Task (isolated context)
|
|
61
|
+
- Recommended when re-checking artifacts after addressing gaps in the same session
|
|
62
|
+
|
|
63
|
+
### Quality & Feedback
|
|
64
|
+
|
|
65
|
+
| Command | Description |
|
|
66
|
+
|---------|-------------|
|
|
67
|
+
| `/sdd feedback [agent]` | Provide structured feedback on an agent |
|
|
68
|
+
|
|
69
|
+
### Recovery & Troubleshooting
|
|
70
|
+
|
|
71
|
+
| Command | Description |
|
|
72
|
+
|---------|-------------|
|
|
73
|
+
| `/sdd doctor` | Validate SDD setup (check required files, config, tools) |
|
|
74
|
+
| `/sdd reset` | Reset SDD state (default: operational state only) |
|
|
75
|
+
| `/sdd reset --full` | Remove ALL generated artifacts (state + docs + branches) |
|
|
76
|
+
| `/sdd reset --dry-run` | Preview what would be deleted without doing it |
|
|
77
|
+
| `/sdd unlock` | Remove stale pipeline locks (also done by reset) |
|
|
78
|
+
| `/sdd rollback` | Revert last auto-commit |
|
|
79
|
+
|
|
80
|
+
#### /sdd doctor
|
|
81
|
+
Validate SDD setup and report issues. Run these checks:
|
|
82
|
+
```bash
|
|
83
|
+
# Check dependencies
|
|
84
|
+
command -v python3 && echo "✓ python3" || echo "✗ python3 missing"
|
|
85
|
+
command -v jq && echo "✓ jq" || echo "✗ jq missing"
|
|
86
|
+
# Check config
|
|
87
|
+
[ -f sdd-config.yaml ] && echo "✓ sdd-config.yaml" || echo "✗ sdd-config.yaml missing"
|
|
88
|
+
# Check state
|
|
89
|
+
[ -f docs/sdd/state.json ] && echo "✓ state.json" || echo "✗ state.json missing"
|
|
90
|
+
# Check lock
|
|
91
|
+
[ -d docs/sdd/lock ] && echo "⚠ Lock exists (orchestrator running or stale)" || echo "✓ No lock"
|
|
92
|
+
# Check hooks
|
|
93
|
+
[ -f .claude/settings.json ] && echo "✓ settings.json" || echo "✗ settings.json missing"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### /sdd reset
|
|
97
|
+
Reset SDD workflow state and generated artifacts.
|
|
98
|
+
|
|
99
|
+
**Levels:**
|
|
100
|
+
| Level | What it removes | What it keeps |
|
|
101
|
+
|-------|----------------|---------------|
|
|
102
|
+
| `state` (default) | state.json, lock, validation, jira-logs, health, turbo, context-digest, feedback, per-task artifact dirs | Project docs, architecture, branches, config, archive |
|
|
103
|
+
| `full` | Everything above + project docs, architecture, jira-mapping, worktrees, sdd/\* and bugfix/\* branches | .claude/ framework, sdd-config.yaml, best-practices.md, tech-stack.md, getting-started/, quality/, archive/ |
|
|
104
|
+
|
|
105
|
+
**Usage:**
|
|
106
|
+
```bash
|
|
107
|
+
# Preview what would be deleted (no changes)
|
|
108
|
+
bash .claude/scripts/sdd-reset.sh --dry-run
|
|
109
|
+
|
|
110
|
+
# Reset operational state only (default)
|
|
111
|
+
bash .claude/scripts/sdd-reset.sh
|
|
112
|
+
|
|
113
|
+
# Full reset — remove all generated artifacts
|
|
114
|
+
bash .claude/scripts/sdd-reset.sh --level full
|
|
115
|
+
|
|
116
|
+
# Skip confirmation prompt
|
|
117
|
+
bash .claude/scripts/sdd-reset.sh --level full --yes
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Note:** Learnings files (`.claude/skills/sdd-*/learnings/`) and `docs/sdd/archive/` are preserved at all levels — learnings are self-managing framework knowledge, and archive contains user-curated snapshots.
|
|
121
|
+
|
|
122
|
+
When invoked as `/sdd reset`, run the script with the appropriate flags:
|
|
123
|
+
- `/sdd reset` → `bash .claude/scripts/sdd-reset.sh`
|
|
124
|
+
- `/sdd reset --full` → `bash .claude/scripts/sdd-reset.sh --full`
|
|
125
|
+
- `/sdd reset --dry-run` → `bash .claude/scripts/sdd-reset.sh --dry-run`
|
|
126
|
+
- `/sdd reset --full --dry-run` → `bash .claude/scripts/sdd-reset.sh --full --dry-run`
|
|
127
|
+
|
|
128
|
+
#### /sdd unlock
|
|
129
|
+
Remove stale orchestrator lock:
|
|
130
|
+
```bash
|
|
131
|
+
rm -rf docs/sdd/lock
|
|
132
|
+
echo "Lock removed. Verify no other orchestrator is running before proceeding."
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
#### /sdd rollback
|
|
136
|
+
Revert the last auto-commit (only if it was an SDD commit):
|
|
137
|
+
```bash
|
|
138
|
+
# Check last commit message
|
|
139
|
+
last_msg=$(git log -1 --pretty=%s)
|
|
140
|
+
if [[ "$last_msg" == "[SDD]"* ]]; then
|
|
141
|
+
git revert HEAD --no-edit
|
|
142
|
+
echo "Reverted: $last_msg"
|
|
143
|
+
else
|
|
144
|
+
echo "Last commit is not an SDD auto-commit: $last_msg"
|
|
145
|
+
echo "Manual revert required."
|
|
146
|
+
fi
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Quick Start
|
|
150
|
+
|
|
151
|
+
### Manual Workflow
|
|
152
|
+
```
|
|
153
|
+
/sdd init # Setup project
|
|
154
|
+
/sdd best-practices # Generate coding standards
|
|
155
|
+
/sdd goal # Define success criteria
|
|
156
|
+
/sdd plan my-project # Create epics
|
|
157
|
+
/sdd challenge epics # Review epics
|
|
158
|
+
/sdd design my-feature # Design phase
|
|
159
|
+
/sdd unit-test my-feature # Unit test phase
|
|
160
|
+
/sdd integration-test my-feature # Integration test phase
|
|
161
|
+
/sdd impl my-feature # Implementation phase
|
|
162
|
+
/sdd review my-feature # Review phase
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Automated Workflow
|
|
166
|
+
```
|
|
167
|
+
/sdd setup-project # One-time setup: analyze codebase, generate goals, create epics/tasks, sync to Jira
|
|
168
|
+
/sdd task NCI-43 # Run full pipeline for a single task (fresh context)
|
|
169
|
+
# Or: /sdd turbo all (script-driven, no human checkpoints)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Workflow
|
|
173
|
+
|
|
174
|
+
### Manual Pipeline
|
|
175
|
+
```
|
|
176
|
+
Init → Best Practices → Goal → Plan → Challenge → Design → Unit Tests → Integration Tests → Implement → Review
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Automated Pipeline
|
|
180
|
+
|
|
181
|
+
#### Entry Points
|
|
182
|
+
|
|
183
|
+
| Command | Entry Point | Scope |
|
|
184
|
+
|---------|-------------|-------|
|
|
185
|
+
| `/sdd setup-project` | Codebase analysis → Goal → Epics → Tasks → Jira sync | Full project init (one-time) |
|
|
186
|
+
| `/sdd task <id>` | Single task 19-phase pipeline (fresh context) | One task |
|
|
187
|
+
| `/sdd turbo [id\|all]` | Script-driven via `claude --print`, no human checkpoints | One task or all tasks |
|
|
188
|
+
|
|
189
|
+
#### Full Task Pipeline (via `/sdd task` or `/sdd turbo`)
|
|
190
|
+
```
|
|
191
|
+
Designer → Validation Loop → Challenger (tech+security) →
|
|
192
|
+
Security Review (design) →
|
|
193
|
+
★HUMAN CHECKPOINT: Design+Security (Pre-Reveal → Reveal → Decide; risk-routed) →
|
|
194
|
+
Unit Tests → Validation Loop →
|
|
195
|
+
Integration Tests → Validation Loop →
|
|
196
|
+
★HUMAN CHECKPOINT: Tests (Pre-Reveal → Reveal → Decide; risk-routed) →
|
|
197
|
+
Impl → Coverage Check → SAST Gate → Mutation Test → Validation Loop →
|
|
198
|
+
Security Review (impl) + Aikido →
|
|
199
|
+
★HUMAN CHECKPOINT: Impl+Security (Pre-Reveal → Reveal → Decide; risk-routed) →
|
|
200
|
+
Code Review → Feedback Collector
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Automated Bug Pipeline (via `/sdd bug` or `/sdd fix` → `sdd-bug-orchestrator`)
|
|
204
|
+
```
|
|
205
|
+
Init → [Jira: In Progress] →
|
|
206
|
+
Bug Analyst → Validation Loop → ★HUMAN CHECKPOINT (Pre-Reveal → Reveal → Decide; always full) →
|
|
207
|
+
Bug Test-Writer → Validation Loop →
|
|
208
|
+
Bug Implementer → Validation Loop → [Security Review (if auth/authz/validation touched)] →
|
|
209
|
+
★HUMAN CHECKPOINT (Pre-Reveal → Reveal → Decide; always full) →
|
|
210
|
+
Bug Reviewer → Feedback Collector → Git PR → [Jira: In Review]
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Each phase:
|
|
214
|
+
1. Loads context from previous phase
|
|
215
|
+
2. Produces artifacts in `docs/sdd/{epic}/{task}/`
|
|
216
|
+
3. Completeness review catches gaps
|
|
217
|
+
4. Stops and waits for user (manual) or auto-advances (orchestrated)
|
|
218
|
+
|
|
219
|
+
## Artifacts Location
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
docs/
|
|
223
|
+
├── sdd/
|
|
224
|
+
│ ├── context-digest.md # Compact routing context and non-negotiables
|
|
225
|
+
│ ├── phase-index.md # Current epic/task/phase pointers
|
|
226
|
+
│ ├── state.json # Orchestrator state
|
|
227
|
+
│ ├── health.yaml # Quality metrics and agent run stats
|
|
228
|
+
│ ├── feedback/ # Structured feedback storage
|
|
229
|
+
│ ├── lock/ # Orchestrator exclusivity lock
|
|
230
|
+
│ └── {epic}/{task}/ # Per-task artifacts:
|
|
231
|
+
│ ├── design.md # Design document
|
|
232
|
+
│ ├── test-handoff.md # Designer → Test-Writer handoff
|
|
233
|
+
│ ├── unit-tests.md # Unit test plan
|
|
234
|
+
│ ├── integration-tests.md # Integration test plan
|
|
235
|
+
│ ├── impl-handoff.md # Test-Writer → Implementer handoff
|
|
236
|
+
│ ├── review-handoff.md # Implementer → Reviewer handoff
|
|
237
|
+
│ ├── review.md # Code review report
|
|
238
|
+
│ ├── security-design-report.md # Security review (design phase)
|
|
239
|
+
│ ├── security-impl-report.md # Security review (implementation phase)
|
|
240
|
+
│ ├── bug-analysis.md # Bug analysis (bug pipeline only)
|
|
241
|
+
│ └── {phase}-completeness.md # Completeness review per phase
|
|
242
|
+
├── project/ # Project management artifacts
|
|
243
|
+
│ ├── project-init.yaml
|
|
244
|
+
│ ├── project-goal.md
|
|
245
|
+
│ ├── epics_list.md
|
|
246
|
+
│ ├── epic-{name}/
|
|
247
|
+
│ └── challenges/
|
|
248
|
+
├── best-practices.md # Project-specific coding standards
|
|
249
|
+
└── tech-stack.md # Technology choices
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Agents
|
|
253
|
+
|
|
254
|
+
| Agent | Phase |
|
|
255
|
+
|-------|-------|
|
|
256
|
+
| `sdd-project-setup` | One-time project setup orchestrator |
|
|
257
|
+
| `sdd-init` | Project initialization |
|
|
258
|
+
| `sdd-setup` | Project tooling diagnosis and validation |
|
|
259
|
+
| `sdd-best-practices` | Best practices generation |
|
|
260
|
+
| `sdd-project-goal` | Goal definition |
|
|
261
|
+
| `sdd-project-manager` | Epic/task planning |
|
|
262
|
+
| `sdd-jira-sync` | Jira epic/task sync |
|
|
263
|
+
| `sdd-challenger` | Devil's advocate (multi-perspective) |
|
|
264
|
+
| `sdd-task-orchestrator` | Single-task 19-phase pipeline |
|
|
265
|
+
| `sdd-designer` | Design phase |
|
|
266
|
+
| `sdd-security-reviewer` | Security review (design + implementation) |
|
|
267
|
+
| `sdd-unit-test-writer` | Unit test phase (no I/O) |
|
|
268
|
+
| `sdd-integration-test-writer` | Integration test phase (component boundaries) |
|
|
269
|
+
| `sdd-implementer` | Implementation phase |
|
|
270
|
+
| `sdd-reviewer` | Code review |
|
|
271
|
+
| `sdd-completeness-reviewer` | Quality gates |
|
|
272
|
+
| `sdd-feedback` | Feedback collection |
|
|
273
|
+
| `sdd-bug-orchestrator` | Bug fix pipeline |
|
|
274
|
+
| `sdd-bug-analyst` | Bug investigation and root cause analysis |
|
|
275
|
+
| `sdd-bug-test-writer` | Bug regression test writing |
|
|
276
|
+
| `sdd-bug-implementer` | Bug fix implementation |
|
|
277
|
+
| `sdd-bug-reviewer` | Bug fix review |
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
## Tips
|
|
281
|
+
|
|
282
|
+
- Each phase is independent - you can re-run any phase
|
|
283
|
+
- Handoffs bridge phases - check them if confused
|
|
284
|
+
- Don't skip phases - tests before code, design before tests
|
|
285
|
+
- Use `/sdd feedback` after any phase to improve agents over time
|
|
286
|
+
- Use `/sdd task <jira-id>` for single-task hands-off development (pauses only at checkpoints)
|
|
287
|
+
- Use `/sdd turbo all` for fully script-driven execution with no human checkpoints
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# SDD Framework pre-commit hook — enforces version bumps for .claude/ changes
|
|
3
|
+
# Installed to .git/hooks/pre-commit by sdd-setup-hooks.sh
|
|
4
|
+
# Compatible with bash 3.x (macOS default)
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
VERSION_FILE="VERSION"
|
|
8
|
+
ERRORS=()
|
|
9
|
+
|
|
10
|
+
# Get staged files (--no-renames ensures renames appear as delete+add, not R status)
|
|
11
|
+
STAGED_FILES="$(git diff --cached --no-renames --name-only)"
|
|
12
|
+
if [[ -z "$STAGED_FILES" ]]; then
|
|
13
|
+
exit 0
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
# Filter to qualifying .claude/ files (exclude learnings)
|
|
17
|
+
QUALIFYING_FILES=()
|
|
18
|
+
while IFS= read -r file; do
|
|
19
|
+
[[ "$file" == .claude/* ]] || continue
|
|
20
|
+
[[ "$file" == .claude/skills/sdd-*/learnings/*.json ]] && continue
|
|
21
|
+
QUALIFYING_FILES+=("$file")
|
|
22
|
+
done <<< "$STAGED_FILES"
|
|
23
|
+
|
|
24
|
+
# No qualifying .claude/ files → nothing to check
|
|
25
|
+
if [[ ${#QUALIFYING_FILES[@]} -eq 0 ]]; then
|
|
26
|
+
exit 0
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
# Collect unique skills with changes (bash 3 compatible — no associative arrays)
|
|
30
|
+
CHANGED_SKILLS=""
|
|
31
|
+
for file in "${QUALIFYING_FILES[@]}"; do
|
|
32
|
+
if [[ "$file" =~ ^\.claude/skills/(sdd-[^/]+)/ ]]; then
|
|
33
|
+
skill="${BASH_REMATCH[1]}"
|
|
34
|
+
# Dedup: only add if not already in the list
|
|
35
|
+
if ! echo "$CHANGED_SKILLS" | grep -qx "$skill"; then
|
|
36
|
+
CHANGED_SKILLS="${CHANGED_SKILLS}${CHANGED_SKILLS:+$'\n'}${skill}"
|
|
37
|
+
fi
|
|
38
|
+
fi
|
|
39
|
+
done
|
|
40
|
+
|
|
41
|
+
# Check each changed skill
|
|
42
|
+
if [[ -n "$CHANGED_SKILLS" ]]; then
|
|
43
|
+
while IFS= read -r skill_name; do
|
|
44
|
+
[[ -n "$skill_name" ]] || continue
|
|
45
|
+
skill_file=".claude/skills/$skill_name/SKILL.md"
|
|
46
|
+
|
|
47
|
+
# Skip deleted/renamed-away skills (SKILL.md removed or renamed to another skill)
|
|
48
|
+
if git diff --cached --no-renames --diff-filter=D --name-only | grep -qx "$skill_file"; then
|
|
49
|
+
continue
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
# Check if SKILL.md is staged
|
|
53
|
+
if ! echo "$STAGED_FILES" | grep -qx "$skill_file"; then
|
|
54
|
+
ERRORS+=("Skill '$skill_name' has changed files but SKILL.md is not staged.")
|
|
55
|
+
ERRORS+=(" Fix: .claude/scripts/sdd-bump-version.sh skill $skill_name patch && git add $skill_file")
|
|
56
|
+
continue
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# For new files (no HEAD version), any version is fine
|
|
60
|
+
head_version="$(git show HEAD:"$skill_file" 2>/dev/null | grep -m1 '^version:' | sed 's/^version:[[:space:]]*//' || echo "")"
|
|
61
|
+
if [[ -z "$head_version" ]]; then
|
|
62
|
+
continue
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
# Compare staged version vs HEAD version
|
|
66
|
+
staged_version="$(git diff --cached -- "$skill_file" | grep -m1 '^+version:' | sed 's/^+version:[[:space:]]*//' || echo "")"
|
|
67
|
+
if [[ -z "$staged_version" ]]; then
|
|
68
|
+
# version line wasn't changed in the diff — versions are equal
|
|
69
|
+
ERRORS+=("Skill '$skill_name' version not bumped (still $head_version).")
|
|
70
|
+
ERRORS+=(" Fix: .claude/scripts/sdd-bump-version.sh skill $skill_name patch && git add $skill_file")
|
|
71
|
+
fi
|
|
72
|
+
done <<< "$CHANGED_SKILLS"
|
|
73
|
+
fi
|
|
74
|
+
|
|
75
|
+
# Check project-level VERSION
|
|
76
|
+
head_proj="$(git show HEAD:"$VERSION_FILE" 2>/dev/null | tr -d '[:space:]' || echo "")"
|
|
77
|
+
|
|
78
|
+
if ! echo "$STAGED_FILES" | grep -qx "$VERSION_FILE"; then
|
|
79
|
+
ERRORS+=("VERSION not staged but .claude/ files changed.")
|
|
80
|
+
ERRORS+=(" Fix: .claude/scripts/sdd-bump-version.sh project patch && git add VERSION")
|
|
81
|
+
elif [[ -n "$head_proj" ]]; then
|
|
82
|
+
staged_proj="$(git diff --cached -- "$VERSION_FILE" | grep '^+' | grep -v '^+++' | head -1 | sed 's/^+//' | tr -d '[:space:]' || echo "")"
|
|
83
|
+
if [[ -z "$staged_proj" ]]; then
|
|
84
|
+
ERRORS+=("VERSION not bumped (still $head_proj).")
|
|
85
|
+
ERRORS+=(" Fix: .claude/scripts/sdd-bump-version.sh project patch && git add VERSION")
|
|
86
|
+
fi
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
# Check CHANGELOG.md is staged when VERSION is bumped
|
|
90
|
+
if echo "$STAGED_FILES" | grep -qx "$VERSION_FILE"; then
|
|
91
|
+
if ! echo "$STAGED_FILES" | grep -qx "CHANGELOG.md"; then
|
|
92
|
+
ERRORS+=("CHANGELOG.md not staged but VERSION was bumped.")
|
|
93
|
+
ERRORS+=(" Fix: .claude/scripts/sdd-bump-version.sh auto (includes changelog update)")
|
|
94
|
+
else
|
|
95
|
+
# Check that CHANGELOG.md actually has a new entry (not just the old content)
|
|
96
|
+
changelog_diff="$(git diff --cached -- CHANGELOG.md | grep '^+##' | grep -v '^+++' || true)"
|
|
97
|
+
if [[ -z "$changelog_diff" ]]; then
|
|
98
|
+
ERRORS+=("CHANGELOG.md is staged but has no new version entry.")
|
|
99
|
+
ERRORS+=(" Fix: Add a ## [x.y.z] entry to CHANGELOG.md, or run: .claude/scripts/sdd-bump-version.sh auto")
|
|
100
|
+
fi
|
|
101
|
+
fi
|
|
102
|
+
fi
|
|
103
|
+
|
|
104
|
+
# Report
|
|
105
|
+
if [[ ${#ERRORS[@]} -gt 0 ]]; then
|
|
106
|
+
echo ""
|
|
107
|
+
echo "╔══════════════════════════════════════════════════════╗"
|
|
108
|
+
echo "║ SDD Version Check Failed ║"
|
|
109
|
+
echo "╠══════════════════════════════════════════════════════╣"
|
|
110
|
+
for err in "${ERRORS[@]}"; do
|
|
111
|
+
echo "║ $err"
|
|
112
|
+
done
|
|
113
|
+
echo "║"
|
|
114
|
+
echo "║ Quick fix: .claude/scripts/sdd-bump-version.sh auto"
|
|
115
|
+
echo "╚══════════════════════════════════════════════════════╝"
|
|
116
|
+
echo ""
|
|
117
|
+
exit 1
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
exit 0
|