ai-playbook 1.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/README.md +146 -0
- package/agents/README.md +168 -0
- package/agents/SKILL.md +633 -0
- package/agents/architect/AGENT.md +44 -0
- package/agents/architect/README.md +5 -0
- package/agents/coder/AGENT.md +43 -0
- package/agents/coder/README.md +5 -0
- package/agents/debugger/AGENT.md +42 -0
- package/agents/debugger/README.md +6 -0
- package/agents/devops/AGENT.md +43 -0
- package/agents/devops/README.md +5 -0
- package/agents/documentation/AGENT.md +45 -0
- package/agents/documentation/README.md +5 -0
- package/agents/examples.md +550 -0
- package/agents/performance/AGENT.md +45 -0
- package/agents/performance/README.md +6 -0
- package/agents/planner/AGENT.md +44 -0
- package/agents/planner/README.md +6 -0
- package/agents/product-owner/AGENT.md +46 -0
- package/agents/product-owner/README.md +6 -0
- package/agents/refactorer/AGENT.md +44 -0
- package/agents/refactorer/README.md +6 -0
- package/agents/release-manager/AGENT.md +45 -0
- package/agents/release-manager/README.md +6 -0
- package/agents/researcher/AGENT.md +44 -0
- package/agents/researcher/README.md +6 -0
- package/agents/reviewer/AGENT.md +43 -0
- package/agents/reviewer/README.md +6 -0
- package/agents/security/AGENT.md +46 -0
- package/agents/security/README.md +6 -0
- package/agents/support/AGENT.md +45 -0
- package/agents/support/README.md +6 -0
- package/agents/tester/AGENT.md +46 -0
- package/agents/tester/README.md +5 -0
- package/bin/cli.js +186 -0
- package/commands/README.md +266 -0
- package/commands/build.md +135 -0
- package/commands/clean.md +126 -0
- package/commands/deploy-prod.md +171 -0
- package/commands/deploy-staging.md +147 -0
- package/commands/deps.md +169 -0
- package/commands/dev.md +132 -0
- package/commands/format.md +142 -0
- package/commands/lint.md +125 -0
- package/commands/migrate.md +159 -0
- package/commands/release.md +183 -0
- package/commands/rollback.md +152 -0
- package/commands/seed.md +178 -0
- package/commands/setup.md +109 -0
- package/commands/test.md +134 -0
- package/commands/validate.md +147 -0
- package/context/README.md +7 -0
- package/context/aem.md +47 -0
- package/context/architecture.md +51 -0
- package/context/bullminder.md +57 -0
- package/context/coding-style.md +42 -0
- package/context/communication.md +53 -0
- package/context/company.md +46 -0
- package/context/engineering.md +63 -0
- package/context/project-template.md +71 -0
- package/context/trading.md +52 -0
- package/hooks/README.md +326 -0
- package/hooks/code-review/README.md +6 -0
- package/hooks/code-review/check-coverage.md +101 -0
- package/hooks/custom/README.md +6 -0
- package/hooks/custom/project-specific-hooks.md +273 -0
- package/hooks/deployment/README.md +6 -0
- package/hooks/deployment/health-check.md +102 -0
- package/hooks/deployment/pre-deploy-check.md +84 -0
- package/hooks/documentation/README.md +6 -0
- package/hooks/documentation/update-changelog.md +146 -0
- package/hooks/post-task/README.md +5 -0
- package/hooks/post-task/run-tests.md +61 -0
- package/hooks/pre-commit/README.md +6 -0
- package/hooks/pre-commit/format.md +63 -0
- package/hooks/pre-commit/lint.md +62 -0
- package/hooks/pre-commit/type-check.md +78 -0
- package/hooks/pre-task/README.md +6 -0
- package/hooks/pre-task/check-branch.md +48 -0
- package/hooks/pre-task/validate-environment.md +48 -0
- package/hooks/security-check/README.md +6 -0
- package/hooks/security-check/dependency-audit.md +85 -0
- package/hooks/security-check/secrets-scan.md +77 -0
- package/hooks/test-before-finish/README.md +6 -0
- package/hooks/test-before-finish/run-all-tests.md +128 -0
- package/index.js +69 -0
- package/knowledge/README.md +33 -0
- package/knowledge/ai-agents.md +74 -0
- package/knowledge/decision-making.md +73 -0
- package/knowledge/documentation.md +67 -0
- package/knowledge/engineering-principles.md +65 -0
- package/knowledge/product-discovery.md +68 -0
- package/knowledge/security-privacy.md +54 -0
- package/knowledge/testing-quality.md +63 -0
- package/package.json +63 -0
- package/patterns/README.md +7 -0
- package/prompts/README.md +208 -0
- package/prompts/architect/README.md +96 -0
- package/prompts/architect/design-system.md +140 -0
- package/prompts/debugger/README.md +96 -0
- package/prompts/debugger/diagnose-issue.md +141 -0
- package/prompts/developer/README.md +129 -0
- package/prompts/developer/fix-bug.md +136 -0
- package/prompts/developer/implement-feature.md +133 -0
- package/prompts/product-owner/README.md +116 -0
- package/prompts/product-owner/define-feature.md +145 -0
- package/prompts/reviewer/README.md +91 -0
- package/prompts/reviewer/code-review.md +129 -0
- package/prompts/support/README.md +154 -0
- package/prompts/support/resolve-issue.md +124 -0
- package/roles/README.md +6 -0
- package/roles/design-architect/README.md +98 -0
- package/roles/design-architect/accessibility/README.md +33 -0
- package/roles/design-architect/accessibility/checklists.md +29 -0
- package/roles/design-architect/accessibility/examples.md +35 -0
- package/roles/design-architect/checklists.md +76 -0
- package/roles/design-architect/component-library/README.md +35 -0
- package/roles/design-architect/component-library/checklists.md +29 -0
- package/roles/design-architect/component-library/examples.md +35 -0
- package/roles/design-architect/design-system/README.md +35 -0
- package/roles/design-architect/design-system/checklists.md +27 -0
- package/roles/design-architect/design-system/examples.md +41 -0
- package/roles/design-architect/examples/README.md +31 -0
- package/roles/design-architect/examples/checklists.md +26 -0
- package/roles/design-architect/examples/examples.md +46 -0
- package/roles/design-architect/examples.md +90 -0
- package/roles/design-architect/figma/README.md +33 -0
- package/roles/design-architect/figma/checklists.md +27 -0
- package/roles/design-architect/figma/examples.md +38 -0
- package/roles/design-architect/responsibilities.md +73 -0
- package/roles/design-architect/responsive/README.md +34 -0
- package/roles/design-architect/responsive/checklists.md +26 -0
- package/roles/design-architect/responsive/examples.md +39 -0
- package/roles/design-architect/role.md +129 -0
- package/roles/design-architect/skill-map.md +42 -0
- package/roles/design-architect/triggers.md +110 -0
- package/roles/design-architect/ui/README.md +36 -0
- package/roles/design-architect/ui/checklists.md +29 -0
- package/roles/design-architect/ui/examples.md +28 -0
- package/roles/design-architect/usability/README.md +34 -0
- package/roles/design-architect/usability/checklists.md +28 -0
- package/roles/design-architect/usability/examples.md +31 -0
- package/roles/design-architect/ux/README.md +36 -0
- package/roles/design-architect/ux/checklists.md +28 -0
- package/roles/design-architect/ux/examples.md +37 -0
- package/roles/design-architect/wireframes/README.md +34 -0
- package/roles/design-architect/wireframes/checklists.md +25 -0
- package/roles/design-architect/wireframes/examples.md +32 -0
- package/roles/design-architect/workflow.md +80 -0
- package/roles/devops/README.md +101 -0
- package/roles/devops/ansible/README.md +6 -0
- package/roles/devops/checklists.md +413 -0
- package/roles/devops/ci-cd/README.md +169 -0
- package/roles/devops/ci-cd/checklists.md +289 -0
- package/roles/devops/ci-cd/examples.md +429 -0
- package/roles/devops/cloud-platforms/README.md +109 -0
- package/roles/devops/cost-optimization/README.md +131 -0
- package/roles/devops/disaster-recovery/README.md +118 -0
- package/roles/devops/docker/README.md +6 -0
- package/roles/devops/examples/README.md +6 -0
- package/roles/devops/examples.md +775 -0
- package/roles/devops/github-actions/README.md +6 -0
- package/roles/devops/helm/README.md +6 -0
- package/roles/devops/infrastructure-as-code/README.md +160 -0
- package/roles/devops/infrastructure-as-code/checklists.md +124 -0
- package/roles/devops/jenkins/README.md +6 -0
- package/roles/devops/kubernetes/README.md +150 -0
- package/roles/devops/kubernetes/checklists.md +192 -0
- package/roles/devops/kubernetes/examples.md +189 -0
- package/roles/devops/monitoring/README.md +93 -0
- package/roles/devops/networking/README.md +83 -0
- package/roles/devops/performance/README.md +104 -0
- package/roles/devops/responsibilities.md +95 -0
- package/roles/devops/role.md +130 -0
- package/roles/devops/security/README.md +126 -0
- package/roles/devops/skill-map.md +162 -0
- package/roles/devops/terraform/README.md +6 -0
- package/roles/devops/triggers.md +241 -0
- package/roles/devops/workflow.md +197 -0
- package/roles/qa/README.md +16 -0
- package/roles/qa/api-testing/README.md +6 -0
- package/roles/qa/automation/README.md +6 -0
- package/roles/qa/checklists.md +24 -0
- package/roles/qa/examples/README.md +6 -0
- package/roles/qa/examples.md +27 -0
- package/roles/qa/performance/README.md +6 -0
- package/roles/qa/playwright/README.md +6 -0
- package/roles/qa/responsibilities.md +16 -0
- package/roles/qa/role.md +47 -0
- package/roles/qa/selenium/README.md +6 -0
- package/roles/qa/skill-map.md +14 -0
- package/roles/qa/triggers.md +10 -0
- package/roles/qa/workflow.md +9 -0
- package/roles/software-architect/README.md +16 -0
- package/roles/software-architect/agents/README.md +6 -0
- package/roles/software-architect/ai-architecture/README.md +6 -0
- package/roles/software-architect/aws/README.md +6 -0
- package/roles/software-architect/azure/README.md +6 -0
- package/roles/software-architect/caching/README.md +6 -0
- package/roles/software-architect/checklists.md +25 -0
- package/roles/software-architect/cloud/README.md +6 -0
- package/roles/software-architect/database-design/README.md +6 -0
- package/roles/software-architect/diagrams/README.md +6 -0
- package/roles/software-architect/distributed-systems/README.md +7 -0
- package/roles/software-architect/docker/README.md +6 -0
- package/roles/software-architect/event-driven/README.md +7 -0
- package/roles/software-architect/examples/README.md +6 -0
- package/roles/software-architect/examples.md +22 -0
- package/roles/software-architect/gcp/README.md +6 -0
- package/roles/software-architect/kubernetes/README.md +6 -0
- package/roles/software-architect/messaging/README.md +6 -0
- package/roles/software-architect/rag/README.md +7 -0
- package/roles/software-architect/responsibilities.md +17 -0
- package/roles/software-architect/role.md +46 -0
- package/roles/software-architect/scalability/README.md +6 -0
- package/roles/software-architect/security/README.md +6 -0
- package/roles/software-architect/skill-map.md +15 -0
- package/roles/software-architect/system-design/README.md +6 -0
- package/roles/software-architect/triggers.md +10 -0
- package/roles/software-architect/vector-db/README.md +6 -0
- package/roles/software-architect/workflow.md +9 -0
- package/roles/software-developer/README.md +116 -0
- package/roles/software-developer/api/README.md +365 -0
- package/roles/software-developer/api/checklist.md +131 -0
- package/roles/software-developer/api/examples.md +459 -0
- package/roles/software-developer/authentication/README.md +26 -0
- package/roles/software-developer/authentication/checklists.md +22 -0
- package/roles/software-developer/authentication/examples.md +32 -0
- package/roles/software-developer/authorization/README.md +26 -0
- package/roles/software-developer/authorization/checklists.md +21 -0
- package/roles/software-developer/authorization/examples.md +27 -0
- package/roles/software-developer/backend/README.md +26 -0
- package/roles/software-developer/backend/checklists.md +21 -0
- package/roles/software-developer/backend/examples.md +21 -0
- package/roles/software-developer/cache/README.md +25 -0
- package/roles/software-developer/cache/checklists.md +21 -0
- package/roles/software-developer/cache/examples.md +22 -0
- package/roles/software-developer/checklists.md +122 -0
- package/roles/software-developer/code-review/README.md +23 -0
- package/roles/software-developer/code-review/checklists.md +22 -0
- package/roles/software-developer/code-review/examples.md +20 -0
- package/roles/software-developer/database/README.md +27 -0
- package/roles/software-developer/database/checklists.md +21 -0
- package/roles/software-developer/database/examples.md +27 -0
- package/roles/software-developer/debugging/README.md +24 -0
- package/roles/software-developer/debugging/checklists.md +20 -0
- package/roles/software-developer/debugging/examples.md +28 -0
- package/roles/software-developer/examples/README.md +22 -0
- package/roles/software-developer/examples/checklists.md +8 -0
- package/roles/software-developer/examples/examples.md +25 -0
- package/roles/software-developer/examples.md +378 -0
- package/roles/software-developer/frontend/README.md +76 -0
- package/roles/software-developer/frontend/accessibility/README.md +136 -0
- package/roles/software-developer/frontend/accessibility/best-practices.md +368 -0
- package/roles/software-developer/frontend/code-quality/README.md +136 -0
- package/roles/software-developer/frontend/code-quality/best-practices.md +309 -0
- package/roles/software-developer/frontend/components/README.md +65 -0
- package/roles/software-developer/frontend/components/best-practices.md +273 -0
- package/roles/software-developer/frontend/debugging/README.md +149 -0
- package/roles/software-developer/frontend/debugging/best-practices.md +329 -0
- package/roles/software-developer/frontend/examples/README.md +19 -0
- package/roles/software-developer/frontend/examples/checklists.md +8 -0
- package/roles/software-developer/frontend/examples/examples.md +17 -0
- package/roles/software-developer/frontend/logging-observability/README.md +196 -0
- package/roles/software-developer/frontend/logging-observability/best-practices.md +430 -0
- package/roles/software-developer/frontend/performance/README.md +99 -0
- package/roles/software-developer/frontend/performance/best-practices.md +350 -0
- package/roles/software-developer/frontend/state-management/README.md +85 -0
- package/roles/software-developer/frontend/state-management/best-practices.md +344 -0
- package/roles/software-developer/frontend/testing/README.md +114 -0
- package/roles/software-developer/frontend/testing/best-practices.md +272 -0
- package/roles/software-developer/fullstack/README.md +25 -0
- package/roles/software-developer/fullstack/checklists.md +19 -0
- package/roles/software-developer/fullstack/examples.md +14 -0
- package/roles/software-developer/graphql/README.md +24 -0
- package/roles/software-developer/graphql/checklists.md +20 -0
- package/roles/software-developer/graphql/examples.md +24 -0
- package/roles/software-developer/integration-tests/README.md +25 -0
- package/roles/software-developer/integration-tests/checklists.md +20 -0
- package/roles/software-developer/integration-tests/examples.md +18 -0
- package/roles/software-developer/java/README.md +24 -0
- package/roles/software-developer/java/checklists.md +16 -0
- package/roles/software-developer/java/examples.md +22 -0
- package/roles/software-developer/javascript/README.md +24 -0
- package/roles/software-developer/javascript/checklists.md +15 -0
- package/roles/software-developer/javascript/examples.md +18 -0
- package/roles/software-developer/logging/README.md +105 -0
- package/roles/software-developer/logging/checklists.md +48 -0
- package/roles/software-developer/logging/examples.md +135 -0
- package/roles/software-developer/messaging/README.md +24 -0
- package/roles/software-developer/messaging/checklists.md +21 -0
- package/roles/software-developer/messaging/examples.md +26 -0
- package/roles/software-developer/microservices/README.md +25 -0
- package/roles/software-developer/microservices/checklists.md +21 -0
- package/roles/software-developer/microservices/examples.md +21 -0
- package/roles/software-developer/node/README.md +25 -0
- package/roles/software-developer/node/checklists.md +15 -0
- package/roles/software-developer/node/examples.md +15 -0
- package/roles/software-developer/nosql/README.md +24 -0
- package/roles/software-developer/nosql/checklists.md +21 -0
- package/roles/software-developer/nosql/examples.md +20 -0
- package/roles/software-developer/observability/README.md +25 -0
- package/roles/software-developer/observability/checklists.md +21 -0
- package/roles/software-developer/observability/examples.md +22 -0
- package/roles/software-developer/performance/README.md +26 -0
- package/roles/software-developer/performance/checklists.md +20 -0
- package/roles/software-developer/performance/examples.md +20 -0
- package/roles/software-developer/python/README.md +25 -0
- package/roles/software-developer/python/checklists.md +15 -0
- package/roles/software-developer/python/examples.md +17 -0
- package/roles/software-developer/react/README.md +24 -0
- package/roles/software-developer/react/checklists.md +15 -0
- package/roles/software-developer/react/examples.md +22 -0
- package/roles/software-developer/refactoring/README.md +23 -0
- package/roles/software-developer/refactoring/checklists.md +21 -0
- package/roles/software-developer/refactoring/examples.md +11 -0
- package/roles/software-developer/responsibilities.md +58 -0
- package/roles/software-developer/role.md +127 -0
- package/roles/software-developer/skill-map.md +88 -0
- package/roles/software-developer/springboot/README.md +25 -0
- package/roles/software-developer/springboot/checklists.md +15 -0
- package/roles/software-developer/springboot/examples.md +21 -0
- package/roles/software-developer/sql/README.md +24 -0
- package/roles/software-developer/sql/checklists.md +22 -0
- package/roles/software-developer/sql/examples.md +20 -0
- package/roles/software-developer/testing/README.md +25 -0
- package/roles/software-developer/testing/checklists.md +21 -0
- package/roles/software-developer/testing/examples.md +19 -0
- package/roles/software-developer/triggers.md +550 -0
- package/roles/software-developer/typescript/README.md +25 -0
- package/roles/software-developer/typescript/checklists.md +15 -0
- package/roles/software-developer/typescript/examples.md +18 -0
- package/roles/software-developer/unit-tests/README.md +24 -0
- package/roles/software-developer/unit-tests/checklists.md +19 -0
- package/roles/software-developer/unit-tests/examples.md +22 -0
- package/roles/software-developer/workflow.md +196 -0
- package/roles/sre/README.md +16 -0
- package/roles/sre/alerts/README.md +6 -0
- package/roles/sre/availability/README.md +6 -0
- package/roles/sre/chaos/README.md +6 -0
- package/roles/sre/checklists.md +24 -0
- package/roles/sre/examples/README.md +6 -0
- package/roles/sre/examples.md +19 -0
- package/roles/sre/observability/README.md +6 -0
- package/roles/sre/reliability/README.md +6 -0
- package/roles/sre/responsibilities.md +16 -0
- package/roles/sre/role.md +46 -0
- package/roles/sre/skill-map.md +14 -0
- package/roles/sre/slos/README.md +6 -0
- package/roles/sre/triggers.md +10 -0
- package/roles/sre/workflow.md +9 -0
- package/roles/support-engineer/README.md +16 -0
- package/roles/support-engineer/checklists.md +24 -0
- package/roles/support-engineer/datadog/README.md +6 -0
- package/roles/support-engineer/examples/README.md +6 -0
- package/roles/support-engineer/examples.md +17 -0
- package/roles/support-engineer/incident-response/README.md +6 -0
- package/roles/support-engineer/kubernetes/README.md +6 -0
- package/roles/support-engineer/linux/README.md +6 -0
- package/roles/support-engineer/logs/README.md +6 -0
- package/roles/support-engineer/monitoring/README.md +6 -0
- package/roles/support-engineer/networking/README.md +6 -0
- package/roles/support-engineer/newrelic/README.md +6 -0
- package/roles/support-engineer/postmortem/README.md +6 -0
- package/roles/support-engineer/production/README.md +6 -0
- package/roles/support-engineer/responsibilities.md +16 -0
- package/roles/support-engineer/role.md +47 -0
- package/roles/support-engineer/root-cause-analysis/README.md +6 -0
- package/roles/support-engineer/runbooks/README.md +6 -0
- package/roles/support-engineer/skill-map.md +14 -0
- package/roles/support-engineer/splunk/README.md +6 -0
- package/roles/support-engineer/triggers.md +10 -0
- package/roles/support-engineer/troubleshooting/README.md +6 -0
- package/roles/support-engineer/workflow.md +9 -0
- package/setup.sh +204 -0
- package/skills/.claude/README.md +7 -0
- package/skills/README.md +21 -0
- package/skills/ai-agents/README.md +207 -0
- package/skills/ai-agents/examples.md +335 -0
- package/skills/ai-agents/skill.md +392 -0
- package/skills/architecture/README.md +198 -0
- package/skills/architecture/examples.md +316 -0
- package/skills/architecture/skill.md +189 -0
- package/skills/design-architecture/README.md +107 -0
- package/skills/design-architecture/examples.md +84 -0
- package/skills/design-architecture/skill.md +192 -0
- package/skills/devops/README.md +177 -0
- package/skills/devops/examples.md +376 -0
- package/skills/devops/skill.md +210 -0
- package/skills/documentation/README.md +182 -0
- package/skills/documentation/examples.md +364 -0
- package/skills/documentation/skill.md +200 -0
- package/skills/performance/README.md +177 -0
- package/skills/performance/examples.md +376 -0
- package/skills/performance/skill.md +199 -0
- package/skills/qa/README.md +106 -0
- package/skills/qa/examples.md +84 -0
- package/skills/qa/skill.md +384 -0
- package/skills/security/README.md +108 -0
- package/skills/security/examples.md +85 -0
- package/skills/security/skill.md +223 -0
- package/skills/software-development/README.md +239 -0
- package/skills/software-development/assessment.md +0 -0
- package/skills/software-development/checklists.md +0 -0
- package/skills/software-development/examples.md +375 -0
- package/skills/software-development/prompts.md +0 -0
- package/skills/software-development/skill.md +390 -0
- package/skills/software-development/templates/README.md +7 -0
- package/skills/software-development/templates/api-development.md +0 -0
- package/skills/software-development/templates/bug-fix.md +0 -0
- package/skills/software-development/templates/code-review.md +0 -0
- package/skills/software-development/templates/feature-implementation.md +0 -0
- package/skills/software-development/templates/llm-integration.md +0 -0
- package/skills/software-development/templates/performance-review.md +0 -0
- package/skills/software-development/templates/security-review.md +0 -0
- package/skills/software-development/templates/test-generation.md +0 -0
- package/skills/software-development/tools.md +0 -0
- package/skills/software-development/workflows.md +0 -0
- package/skills/sre/README.md +107 -0
- package/skills/sre/examples.md +379 -0
- package/skills/sre/skill.md +256 -0
- package/skills/support-engineering/README.md +107 -0
- package/skills/support-engineering/examples.md +85 -0
- package/skills/support-engineering/skill.md +103 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# validate-environment Hook
|
|
2
|
+
|
|
3
|
+
**Category:** pre-task
|
|
4
|
+
**Purpose:** Validate development environment is properly configured
|
|
5
|
+
**Trigger:** Before starting a new task
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
|
|
9
|
+
Checks that all required tools, dependencies, and configuration files are in place before starting work.
|
|
10
|
+
|
|
11
|
+
## Checks Performed
|
|
12
|
+
|
|
13
|
+
- Required tools installed (git, node, npm, etc.)
|
|
14
|
+
- `.env` file exists (creates from `.env.example` if needed)
|
|
15
|
+
- Dependencies installed (`node_modules`, etc.)
|
|
16
|
+
- Git repository initialized
|
|
17
|
+
- Uncommitted changes warning
|
|
18
|
+
|
|
19
|
+
## Success Criteria
|
|
20
|
+
|
|
21
|
+
✓ All required tools available
|
|
22
|
+
✓ `.env` file configured
|
|
23
|
+
✓ Dependencies installed
|
|
24
|
+
✓ Valid git repository
|
|
25
|
+
|
|
26
|
+
## Failure Handling
|
|
27
|
+
|
|
28
|
+
| Issue | Action |
|
|
29
|
+
|-------|--------|
|
|
30
|
+
| Missing tool | Install and retry |
|
|
31
|
+
| Missing .env | Create from template, update values |
|
|
32
|
+
| Missing dependencies | Run npm install / pip install |
|
|
33
|
+
| Not a git repo | Initialize git repository |
|
|
34
|
+
|
|
35
|
+
## Configuration
|
|
36
|
+
|
|
37
|
+
No configuration needed. Hook auto-detects requirements based on project files.
|
|
38
|
+
|
|
39
|
+
## Related Hooks
|
|
40
|
+
|
|
41
|
+
- `check-branch.sh` - Verify on correct branch (runs after this)
|
|
42
|
+
|
|
43
|
+
## Implementation Notes
|
|
44
|
+
|
|
45
|
+
- Runs silently if `SKIP_HOOKS=true`
|
|
46
|
+
- Auto-installs dependencies in local dev
|
|
47
|
+
- Requires manual setup in CI
|
|
48
|
+
- Checks are non-blocking except missing tools
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# dependency-audit Hook
|
|
2
|
+
|
|
3
|
+
**Category:** security-check
|
|
4
|
+
**Purpose:** Audit dependencies for known vulnerabilities
|
|
5
|
+
**Trigger:** Before push / in CI
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
|
|
9
|
+
Scans project dependencies for known security vulnerabilities and suggests updates.
|
|
10
|
+
|
|
11
|
+
## Package Managers Supported
|
|
12
|
+
|
|
13
|
+
| Language | Tool |
|
|
14
|
+
|----------|------|
|
|
15
|
+
| Node.js | npm audit |
|
|
16
|
+
| Python | pip-audit |
|
|
17
|
+
| Go | govulncheck |
|
|
18
|
+
| Ruby | bundle audit |
|
|
19
|
+
|
|
20
|
+
## Vulnerability Levels
|
|
21
|
+
|
|
22
|
+
- **Critical** - Exploitable in production (always blocking)
|
|
23
|
+
- **High** - Likely exploitable (blocking in CI)
|
|
24
|
+
- **Moderate** - Potentially exploitable (warning)
|
|
25
|
+
- **Low** - Low severity issues (informational)
|
|
26
|
+
|
|
27
|
+
## Success Criteria
|
|
28
|
+
|
|
29
|
+
✓ No critical vulnerabilities
|
|
30
|
+
✓ No high vulnerabilities (in CI)
|
|
31
|
+
✓ No deprecated dependencies
|
|
32
|
+
|
|
33
|
+
## Typical Issues Found
|
|
34
|
+
|
|
35
|
+
- Known CVE exploits
|
|
36
|
+
- Unmaintained packages
|
|
37
|
+
- Outdated dependencies
|
|
38
|
+
- License conflicts
|
|
39
|
+
|
|
40
|
+
## Remediation
|
|
41
|
+
|
|
42
|
+
1. **Update package**: `npm update package`
|
|
43
|
+
2. **Major version bump**: May require code changes
|
|
44
|
+
3. **Find alternative**: If package unmaintained
|
|
45
|
+
4. **Accept risk**: Document in security review
|
|
46
|
+
|
|
47
|
+
## Configuration
|
|
48
|
+
|
|
49
|
+
Configure severity threshold:
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"audit": {
|
|
53
|
+
"level": "moderate"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Failure Handling
|
|
59
|
+
|
|
60
|
+
| Vulnerability | Local | CI |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| Critical | Error | Error |
|
|
63
|
+
| High | Prompt | Error |
|
|
64
|
+
| Moderate | Warning | Prompt |
|
|
65
|
+
| Low | Info | Info |
|
|
66
|
+
|
|
67
|
+
## Related Hooks
|
|
68
|
+
|
|
69
|
+
- `secrets-scan.md` - Secret detection
|
|
70
|
+
- `code-review/check-coverage.md` - Quality
|
|
71
|
+
|
|
72
|
+
## Common Issues
|
|
73
|
+
|
|
74
|
+
| Issue | Action |
|
|
75
|
+
|-------|--------|
|
|
76
|
+
| False positive | File `.npmauditignore` |
|
|
77
|
+
| Package unmaintained | Find alternative |
|
|
78
|
+
| Breaking changes | Update code + tests |
|
|
79
|
+
|
|
80
|
+
## Implementation Notes
|
|
81
|
+
|
|
82
|
+
- Runs before push (not commit)
|
|
83
|
+
- Checks package-lock files
|
|
84
|
+
- Updates remediation options
|
|
85
|
+
- Integrates with GitHub security
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# secrets-scan Hook
|
|
2
|
+
|
|
3
|
+
**Category:** security-check
|
|
4
|
+
**Purpose:** Scan for exposed secrets before pushing
|
|
5
|
+
**Trigger:** Before git push / in CI
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
|
|
9
|
+
Detects exposed API keys, passwords, tokens, and other sensitive data that should not be committed.
|
|
10
|
+
|
|
11
|
+
## Detection Methods
|
|
12
|
+
|
|
13
|
+
- **gitleaks** - Regex patterns for known secret formats
|
|
14
|
+
- **Pattern matching** - API keys, passwords, private keys
|
|
15
|
+
- **.env file check** - Prevents .env from being committed
|
|
16
|
+
|
|
17
|
+
## Secrets Detected
|
|
18
|
+
|
|
19
|
+
- AWS access keys and secrets
|
|
20
|
+
- API keys and tokens
|
|
21
|
+
- Private SSH keys
|
|
22
|
+
- Database credentials
|
|
23
|
+
- OAuth tokens
|
|
24
|
+
- Slack webhooks
|
|
25
|
+
- Database connection strings
|
|
26
|
+
|
|
27
|
+
## Success Criteria
|
|
28
|
+
|
|
29
|
+
✓ No exposed secrets
|
|
30
|
+
✓ `.env` file not staged
|
|
31
|
+
✓ No hardcoded credentials
|
|
32
|
+
|
|
33
|
+
## Configuration
|
|
34
|
+
|
|
35
|
+
Install gitleaks for better detection:
|
|
36
|
+
```bash
|
|
37
|
+
brew install gitleaks
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Failure Handling
|
|
41
|
+
|
|
42
|
+
| Finding | Local Behavior | CI Behavior |
|
|
43
|
+
|---------|---|---|
|
|
44
|
+
| Secrets found | Prompt to fix | Error - exit |
|
|
45
|
+
| Pattern match | Warning shown | Error - exit |
|
|
46
|
+
|
|
47
|
+
## Emergency Access
|
|
48
|
+
|
|
49
|
+
If blocked:
|
|
50
|
+
1. Remove secret from code
|
|
51
|
+
2. Rotate the credential
|
|
52
|
+
3. Commit without secret
|
|
53
|
+
4. Update `.env` file
|
|
54
|
+
|
|
55
|
+
## Environment Variables
|
|
56
|
+
|
|
57
|
+
- `SKIP_HOOKS=true` - Skip scan
|
|
58
|
+
- `VERBOSE=true` - Show all checks
|
|
59
|
+
|
|
60
|
+
## Related Hooks
|
|
61
|
+
|
|
62
|
+
- `dependency-audit.md` - Vulnerability scanning
|
|
63
|
+
- `code-review/check-coverage.md` - Quality checks
|
|
64
|
+
|
|
65
|
+
## False Positives
|
|
66
|
+
|
|
67
|
+
If pattern triggers incorrectly, add to `.gitleaksignore`:
|
|
68
|
+
```
|
|
69
|
+
# Pattern:match_string:file.js
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Implementation Notes
|
|
73
|
+
|
|
74
|
+
- Runs before push (not commit)
|
|
75
|
+
- Multi-pass detection strategy
|
|
76
|
+
- Caches results for performance
|
|
77
|
+
- Integration with `.gitignore` patterns
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# run-all-tests Hook
|
|
2
|
+
|
|
3
|
+
**Category:** test-before-finish
|
|
4
|
+
**Purpose:** Comprehensive test suite before finishing task
|
|
5
|
+
**Trigger:** Before completing a task / in CI
|
|
6
|
+
|
|
7
|
+
## Description
|
|
8
|
+
|
|
9
|
+
Runs complete test validation including unit, integration, E2E, linting, and type checking before marking a task as complete.
|
|
10
|
+
|
|
11
|
+
## Test Suites Run
|
|
12
|
+
|
|
13
|
+
| Suite | Scope | Blocking |
|
|
14
|
+
|-------|-------|----------|
|
|
15
|
+
| Unit tests | Individual functions/modules | Yes |
|
|
16
|
+
| Integration tests | Component interactions | Yes |
|
|
17
|
+
| E2E tests | Full user workflows | No |
|
|
18
|
+
| Lint checks | Code quality | Yes |
|
|
19
|
+
| Type checks | Type validation | Yes |
|
|
20
|
+
| Coverage | Test coverage threshold | Yes |
|
|
21
|
+
|
|
22
|
+
## Success Criteria
|
|
23
|
+
|
|
24
|
+
✓ All unit tests pass
|
|
25
|
+
✓ All integration tests pass
|
|
26
|
+
✓ Code lint passes
|
|
27
|
+
✓ Type checks pass
|
|
28
|
+
✓ Coverage meets threshold
|
|
29
|
+
✓ E2E tests pass (optional)
|
|
30
|
+
|
|
31
|
+
## Test Runners Supported
|
|
32
|
+
|
|
33
|
+
| Language | Runner |
|
|
34
|
+
|----------|--------|
|
|
35
|
+
| JavaScript | Jest, Mocha, Vitest |
|
|
36
|
+
| Python | pytest, unittest |
|
|
37
|
+
| Go | go test |
|
|
38
|
+
|
|
39
|
+
## Execution Order
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
1. Unit Tests
|
|
43
|
+
↓
|
|
44
|
+
2. Integration Tests
|
|
45
|
+
↓
|
|
46
|
+
3. Linting
|
|
47
|
+
↓
|
|
48
|
+
4. Type Checking
|
|
49
|
+
↓
|
|
50
|
+
5. E2E Tests (optional)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Failure Handling
|
|
54
|
+
|
|
55
|
+
| Test Type | Failure Impact |
|
|
56
|
+
|---|---|
|
|
57
|
+
| Unit tests | Block completion |
|
|
58
|
+
| Integration tests | Block completion |
|
|
59
|
+
| Lint | Block completion |
|
|
60
|
+
| Type checks | Block completion |
|
|
61
|
+
| E2E tests | Warn but allow |
|
|
62
|
+
|
|
63
|
+
## Configuration
|
|
64
|
+
|
|
65
|
+
Configure in `package.json`:
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"scripts": {
|
|
69
|
+
"test": "jest",
|
|
70
|
+
"test:integration": "jest --testPathPattern=integration",
|
|
71
|
+
"test:e2e": "cypress run",
|
|
72
|
+
"lint": "eslint .",
|
|
73
|
+
"type-check": "tsc --noEmit"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Environment Variables
|
|
79
|
+
|
|
80
|
+
- `SKIP_HOOKS=true` - Skip all tests (not recommended)
|
|
81
|
+
- `CI=true` - Strict failure mode
|
|
82
|
+
- `VERBOSE=true` - Show all output
|
|
83
|
+
|
|
84
|
+
## Performance
|
|
85
|
+
|
|
86
|
+
Typical execution times:
|
|
87
|
+
- Unit tests: 5-30 seconds
|
|
88
|
+
- Integration tests: 10-60 seconds
|
|
89
|
+
- Linting: 2-5 seconds
|
|
90
|
+
- Type checking: 1-10 seconds
|
|
91
|
+
- E2E: 30-120 seconds
|
|
92
|
+
|
|
93
|
+
## Failure Troubleshooting
|
|
94
|
+
|
|
95
|
+
| Error | Solution |
|
|
96
|
+
|---|---|
|
|
97
|
+
| Test timeout | Increase timeout, optimize test |
|
|
98
|
+
| Flaky tests | Add retries, fix timing issues |
|
|
99
|
+
| Lint fails | Run format hook, fix manually |
|
|
100
|
+
| Type errors | Update types, fix code |
|
|
101
|
+
|
|
102
|
+
## Related Hooks
|
|
103
|
+
|
|
104
|
+
- `pre-commit/lint.md` - Lint before commit
|
|
105
|
+
- `post-task/run-tests.md` - Post-task validation
|
|
106
|
+
- `code-review/check-coverage.md` - Coverage check
|
|
107
|
+
|
|
108
|
+
## Best Practices
|
|
109
|
+
|
|
110
|
+
✓ Run locally before pushing
|
|
111
|
+
✓ Fix issues immediately
|
|
112
|
+
✓ Keep tests fast
|
|
113
|
+
✓ Test before finishing
|
|
114
|
+
✓ Review test output
|
|
115
|
+
|
|
116
|
+
## Parallel Execution
|
|
117
|
+
|
|
118
|
+
To speed up tests, run in parallel:
|
|
119
|
+
```bash
|
|
120
|
+
npm test -- --parallel
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Implementation Notes
|
|
124
|
+
|
|
125
|
+
- Runs in sequence for reliability
|
|
126
|
+
- Detailed error output on failure
|
|
127
|
+
- Reports pass/fail per suite
|
|
128
|
+
- Integration with CI/CD
|
package/index.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { fileURLToPath } from 'url';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = path.dirname(__filename);
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* AI Playbook - Comprehensive resource for AI engineering
|
|
9
|
+
*
|
|
10
|
+
* Export paths to playbook components for programmatic access
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const playbookPath = __dirname;
|
|
14
|
+
|
|
15
|
+
export const paths = {
|
|
16
|
+
root: __dirname,
|
|
17
|
+
agents: path.join(__dirname, 'agents'),
|
|
18
|
+
commands: path.join(__dirname, 'commands'),
|
|
19
|
+
context: path.join(__dirname, 'context'),
|
|
20
|
+
hooks: path.join(__dirname, 'hooks'),
|
|
21
|
+
knowledge: path.join(__dirname, 'knowledge'),
|
|
22
|
+
patterns: path.join(__dirname, 'patterns'),
|
|
23
|
+
prompts: path.join(__dirname, 'prompts'),
|
|
24
|
+
roles: path.join(__dirname, 'roles'),
|
|
25
|
+
skills: path.join(__dirname, 'skills'),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const components = {
|
|
29
|
+
agents: {
|
|
30
|
+
architect: path.join(__dirname, 'agents', 'architect'),
|
|
31
|
+
coder: path.join(__dirname, 'agents', 'coder'),
|
|
32
|
+
debugger: path.join(__dirname, 'agents', 'debugger'),
|
|
33
|
+
devops: path.join(__dirname, 'agents', 'devops'),
|
|
34
|
+
documentation: path.join(__dirname, 'agents', 'documentation'),
|
|
35
|
+
performance: path.join(__dirname, 'agents', 'performance'),
|
|
36
|
+
planner: path.join(__dirname, 'agents', 'planner'),
|
|
37
|
+
productOwner: path.join(__dirname, 'agents', 'product-owner'),
|
|
38
|
+
refactorer: path.join(__dirname, 'agents', 'refactorer'),
|
|
39
|
+
releaseManager: path.join(__dirname, 'agents', 'release-manager'),
|
|
40
|
+
researcher: path.join(__dirname, 'agents', 'researcher'),
|
|
41
|
+
reviewer: path.join(__dirname, 'agents', 'reviewer'),
|
|
42
|
+
security: path.join(__dirname, 'agents', 'security'),
|
|
43
|
+
support: path.join(__dirname, 'agents', 'support'),
|
|
44
|
+
tester: path.join(__dirname, 'agents', 'tester'),
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
prompts: {
|
|
48
|
+
developer: path.join(__dirname, 'prompts', 'developer'),
|
|
49
|
+
architect: path.join(__dirname, 'prompts', 'architect'),
|
|
50
|
+
reviewer: path.join(__dirname, 'prompts', 'reviewer'),
|
|
51
|
+
debugger: path.join(__dirname, 'prompts', 'debugger'),
|
|
52
|
+
productOwner: path.join(__dirname, 'prompts', 'product-owner'),
|
|
53
|
+
support: path.join(__dirname, 'prompts', 'support'),
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
skills: path.join(__dirname, 'skills'),
|
|
57
|
+
patterns: path.join(__dirname, 'patterns'),
|
|
58
|
+
roles: path.join(__dirname, 'roles'),
|
|
59
|
+
hooks: path.join(__dirname, 'hooks'),
|
|
60
|
+
commands: path.join(__dirname, 'commands'),
|
|
61
|
+
knowledge: path.join(__dirname, 'knowledge'),
|
|
62
|
+
context: path.join(__dirname, 'context'),
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export default {
|
|
66
|
+
playbookPath,
|
|
67
|
+
paths,
|
|
68
|
+
components,
|
|
69
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Knowledge
|
|
2
|
+
|
|
3
|
+
This folder contains durable reference knowledge that is broader than one role,
|
|
4
|
+
skill, or project. Use it when an agent needs background concepts, shared
|
|
5
|
+
mental models, or reusable explanations before applying a role or skill.
|
|
6
|
+
|
|
7
|
+
## How To Use
|
|
8
|
+
|
|
9
|
+
1. Load the relevant role, skill, context, or project files first.
|
|
10
|
+
2. Load knowledge files only when they clarify the domain or decision.
|
|
11
|
+
3. Prefer the most specific project context when it conflicts with general
|
|
12
|
+
knowledge.
|
|
13
|
+
4. Treat knowledge files as reference material, not mandatory workflow steps.
|
|
14
|
+
|
|
15
|
+
## Current References
|
|
16
|
+
|
|
17
|
+
| File | Use When |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| [ai-agents.md](ai-agents.md) | Designing, evaluating, or operating AI agents and agentic workflows. |
|
|
20
|
+
| [decision-making.md](decision-making.md) | Choosing between options, documenting trade-offs, or making recommendations. |
|
|
21
|
+
| [documentation.md](documentation.md) | Writing durable docs, READMEs, runbooks, handoffs, or knowledge-base pages. |
|
|
22
|
+
| [engineering-principles.md](engineering-principles.md) | Applying broad software engineering judgment across roles and projects. |
|
|
23
|
+
| [product-discovery.md](product-discovery.md) | Understanding users, shaping product bets, and validating problems. |
|
|
24
|
+
| [security-privacy.md](security-privacy.md) | Considering security and privacy risks before or during implementation. |
|
|
25
|
+
| [testing-quality.md](testing-quality.md) | Selecting verification depth, test types, and quality gates. |
|
|
26
|
+
|
|
27
|
+
## Maintenance Rules
|
|
28
|
+
|
|
29
|
+
- Keep knowledge durable and cross-project.
|
|
30
|
+
- Move project-specific facts to `projects/`.
|
|
31
|
+
- Move procedural role behavior to `roles/`.
|
|
32
|
+
- Move executable capability guidance to `skills/`.
|
|
33
|
+
- Update links when files are renamed.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# AI Agents
|
|
2
|
+
|
|
3
|
+
Use this reference when designing, reviewing, or operating AI agents and
|
|
4
|
+
agentic workflows.
|
|
5
|
+
|
|
6
|
+
## Core Concepts
|
|
7
|
+
|
|
8
|
+
| Concept | Meaning |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| Agent | A system that can interpret a goal, choose actions, use tools, and adapt based on results. |
|
|
11
|
+
| Tool | A bounded capability the agent can call, such as file access, search, database access, or browser control. |
|
|
12
|
+
| Context | Information the agent loads to make better decisions. |
|
|
13
|
+
| Memory | Durable information saved across tasks. |
|
|
14
|
+
| Plan | A temporary sequence of intended actions. |
|
|
15
|
+
| Guardrail | A rule or check that reduces risk, misuse, or poor-quality output. |
|
|
16
|
+
| Evaluation | A method for judging agent behavior against expected outcomes. |
|
|
17
|
+
|
|
18
|
+
## Design Principles
|
|
19
|
+
|
|
20
|
+
- Give agents clear goals, boundaries, and success criteria.
|
|
21
|
+
- Keep tools narrow, observable, and auditable.
|
|
22
|
+
- Prefer structured inputs and outputs for tool calls.
|
|
23
|
+
- Load only the context needed for the task.
|
|
24
|
+
- Make uncertainty explicit when the agent lacks evidence.
|
|
25
|
+
- Design recovery paths for failed tools, missing context, and partial progress.
|
|
26
|
+
- Separate reasoning about a task from irreversible external actions.
|
|
27
|
+
|
|
28
|
+
## Common Agent Patterns
|
|
29
|
+
|
|
30
|
+
### Planner Executor
|
|
31
|
+
|
|
32
|
+
A planner breaks the work into steps and an executor completes them. Use this
|
|
33
|
+
when tasks are multi-step, ambiguous, or high risk.
|
|
34
|
+
|
|
35
|
+
### Researcher Synthesizer
|
|
36
|
+
|
|
37
|
+
A researcher gathers evidence and a synthesizer turns it into a recommendation
|
|
38
|
+
or artifact. Use this when source quality matters.
|
|
39
|
+
|
|
40
|
+
### Reviewer Fixer
|
|
41
|
+
|
|
42
|
+
A reviewer identifies defects and a fixer applies narrow changes. Use this when
|
|
43
|
+
quality and regression risk matter.
|
|
44
|
+
|
|
45
|
+
### Tool Router
|
|
46
|
+
|
|
47
|
+
The agent chooses among specialized tools based on task type. Use this when a
|
|
48
|
+
workflow spans files, browser actions, APIs, databases, or external services.
|
|
49
|
+
|
|
50
|
+
## Failure Modes
|
|
51
|
+
|
|
52
|
+
- Acting on stale or incomplete context.
|
|
53
|
+
- Treating generated text as verified fact.
|
|
54
|
+
- Overusing tools without a clear decision point.
|
|
55
|
+
- Hiding uncertainty behind confident language.
|
|
56
|
+
- Making broad changes when a narrow fix was requested.
|
|
57
|
+
- Failing to preserve user changes in a shared workspace.
|
|
58
|
+
- Confusing project-specific instructions with reusable guidance.
|
|
59
|
+
|
|
60
|
+
## Evaluation Signals
|
|
61
|
+
|
|
62
|
+
- The agent solved the requested problem.
|
|
63
|
+
- Tool use was necessary, scoped, and auditable.
|
|
64
|
+
- Outputs are grounded in loaded context or cited sources.
|
|
65
|
+
- Risks and skipped checks are named.
|
|
66
|
+
- The final artifact can be used by another person without hidden assumptions.
|
|
67
|
+
|
|
68
|
+
## Human Review Triggers
|
|
69
|
+
|
|
70
|
+
- Irreversible actions such as deleting data, deploying, spending money, or
|
|
71
|
+
changing production settings.
|
|
72
|
+
- Security, legal, financial, or medical implications.
|
|
73
|
+
- Ambiguous ownership or conflicting instructions.
|
|
74
|
+
- External communication on behalf of a person or organization.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Decision Making
|
|
2
|
+
|
|
3
|
+
Use this reference when comparing options, making recommendations, writing ADRs,
|
|
4
|
+
or explaining trade-offs.
|
|
5
|
+
|
|
6
|
+
## Decision Frame
|
|
7
|
+
|
|
8
|
+
Start with four questions:
|
|
9
|
+
|
|
10
|
+
1. What problem are we solving?
|
|
11
|
+
2. What outcome would make the decision successful?
|
|
12
|
+
3. What constraints matter most?
|
|
13
|
+
4. What happens if we are wrong?
|
|
14
|
+
|
|
15
|
+
## Option Quality
|
|
16
|
+
|
|
17
|
+
Good options are specific enough to evaluate. Each option should include:
|
|
18
|
+
|
|
19
|
+
- What changes.
|
|
20
|
+
- Who owns it.
|
|
21
|
+
- Expected benefit.
|
|
22
|
+
- Cost and complexity.
|
|
23
|
+
- Risks and mitigations.
|
|
24
|
+
- Reversibility.
|
|
25
|
+
- Time to learn whether it worked.
|
|
26
|
+
|
|
27
|
+
## Trade-Off Dimensions
|
|
28
|
+
|
|
29
|
+
| Dimension | Questions |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| User value | Does this improve the user workflow or outcome? |
|
|
32
|
+
| Business value | Does this support a meaningful goal or metric? |
|
|
33
|
+
| Complexity | Does this make the system harder to understand or operate? |
|
|
34
|
+
| Cost | What are the build, run, support, and opportunity costs? |
|
|
35
|
+
| Reliability | What new failure modes appear? |
|
|
36
|
+
| Security | What new trust boundaries or attack surfaces appear? |
|
|
37
|
+
| Privacy | What data is collected, stored, shared, or retained? |
|
|
38
|
+
| Reversibility | Can we undo this safely? |
|
|
39
|
+
| Team fit | Can the team build and maintain it? |
|
|
40
|
+
|
|
41
|
+
## Recommendation Structure
|
|
42
|
+
|
|
43
|
+
Use this shape for concise recommendations:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Recommendation: Choose <option>.
|
|
47
|
+
|
|
48
|
+
Why: <primary reason>.
|
|
49
|
+
|
|
50
|
+
Trade-offs: <costs or rejected alternatives>.
|
|
51
|
+
|
|
52
|
+
Risks: <main risks and mitigations>.
|
|
53
|
+
|
|
54
|
+
Next step: <smallest concrete action>.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## When To Use An ADR
|
|
58
|
+
|
|
59
|
+
Use an architecture decision record when a decision is:
|
|
60
|
+
|
|
61
|
+
- Hard to reverse.
|
|
62
|
+
- Cross-team or cross-system.
|
|
63
|
+
- Likely to be questioned later.
|
|
64
|
+
- Driven by non-obvious trade-offs.
|
|
65
|
+
- Important for security, reliability, privacy, cost, or data design.
|
|
66
|
+
|
|
67
|
+
## Decision Hygiene
|
|
68
|
+
|
|
69
|
+
- State assumptions as assumptions.
|
|
70
|
+
- Avoid false precision when evidence is weak.
|
|
71
|
+
- Include the status quo as an option.
|
|
72
|
+
- Make the owner and review date explicit.
|
|
73
|
+
- Revisit decisions when constraints change.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Documentation
|
|
2
|
+
|
|
3
|
+
Use this reference when writing durable documentation, READMEs, runbooks,
|
|
4
|
+
handoffs, design notes, and knowledge-base material.
|
|
5
|
+
|
|
6
|
+
## Documentation Types
|
|
7
|
+
|
|
8
|
+
| Type | Purpose |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| README | Help someone understand what a folder, project, role, or skill is for. |
|
|
11
|
+
| Guide | Teach a repeatable workflow or concept. |
|
|
12
|
+
| Runbook | Help someone operate or recover a system under real conditions. |
|
|
13
|
+
| ADR | Record a decision, alternatives, and consequences. |
|
|
14
|
+
| Checklist | Prevent common misses during execution or review. |
|
|
15
|
+
| Template | Provide a reusable structure for future work. |
|
|
16
|
+
| Handoff | Transfer current status, risks, and next steps. |
|
|
17
|
+
|
|
18
|
+
## Writing Principles
|
|
19
|
+
|
|
20
|
+
- Start with the reader's task.
|
|
21
|
+
- Put the most important action or decision early.
|
|
22
|
+
- Prefer concrete instructions over vague values.
|
|
23
|
+
- Keep durable knowledge separate from one-off status.
|
|
24
|
+
- Link to source files instead of duplicating large content.
|
|
25
|
+
- Name unknowns and owners when information is incomplete.
|
|
26
|
+
- Remove stale instructions when workflows change.
|
|
27
|
+
|
|
28
|
+
## Useful README Shape
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
# Name
|
|
32
|
+
|
|
33
|
+
What this is for.
|
|
34
|
+
|
|
35
|
+
## When To Use
|
|
36
|
+
|
|
37
|
+
## What To Load
|
|
38
|
+
|
|
39
|
+
## How It Works
|
|
40
|
+
|
|
41
|
+
## Quality Gates
|
|
42
|
+
|
|
43
|
+
## Related Files
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Useful Runbook Shape
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
# Runbook: <System Or Incident>
|
|
50
|
+
|
|
51
|
+
## Symptoms
|
|
52
|
+
## Severity
|
|
53
|
+
## First Checks
|
|
54
|
+
## Mitigation
|
|
55
|
+
## Diagnosis
|
|
56
|
+
## Rollback Or Recovery
|
|
57
|
+
## Escalation
|
|
58
|
+
## After Action
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Review Checklist
|
|
62
|
+
|
|
63
|
+
- The document has a clear audience and use case.
|
|
64
|
+
- Instructions can be followed without hidden context.
|
|
65
|
+
- Commands, paths, and owners are current.
|
|
66
|
+
- Risks, assumptions, and limits are explicit.
|
|
67
|
+
- Links point to files that exist.
|