hatch3r 1.8.0 → 2.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 +68 -178
- package/dist/cli/index.js +26966 -15942
- package/{agents → dist/content/agents}/hatch3r-architect.md +39 -9
- package/dist/content/agents/hatch3r-brownfield-spec.md +254 -0
- package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +10 -3
- package/{agents → dist/content/agents}/hatch3r-context-rules.md +24 -6
- package/{agents → dist/content/agents}/hatch3r-creator.md +78 -39
- package/dist/content/agents/hatch3r-dependency-drafter.md +162 -0
- package/{agents → dist/content/agents}/hatch3r-devops.md +14 -4
- package/{agents → dist/content/agents}/hatch3r-docs-writer.md +11 -1
- package/dist/content/agents/hatch3r-edge-case-analyst.md +134 -0
- package/dist/content/agents/hatch3r-enhancability.md +192 -0
- package/{agents → dist/content/agents}/hatch3r-fixer.md +61 -10
- package/dist/content/agents/hatch3r-greenfield-spec.md +256 -0
- package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +40 -14
- package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +17 -8
- package/dist/content/agents/hatch3r-implementer.md +409 -0
- package/dist/content/agents/hatch3r-incident-responder.md +96 -0
- package/dist/content/agents/hatch3r-learnings-loader.md +377 -0
- package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +16 -4
- package/dist/content/agents/hatch3r-maintainability.md +183 -0
- package/dist/content/agents/hatch3r-pack-installer.md +113 -0
- package/dist/content/agents/hatch3r-performance.md +179 -0
- package/dist/content/agents/hatch3r-reliability.md +193 -0
- package/{agents → dist/content/agents}/hatch3r-researcher.md +30 -7
- package/dist/content/agents/hatch3r-reviewer.md +364 -0
- package/dist/content/agents/hatch3r-scalability.md +162 -0
- package/dist/content/agents/hatch3r-security.md +197 -0
- package/dist/content/agents/hatch3r-testability.md +204 -0
- package/dist/content/agents/hatch3r-ui.md +175 -0
- package/dist/content/agents/hatch3r-ux.md +160 -0
- package/{agents → dist/content/agents}/modes/requirements-elicitation.md +1 -1
- package/{agents → dist/content/agents}/modes/user-flows.md +2 -2
- package/dist/content/agents/shared/clarification-default-block.md +44 -0
- package/dist/content/agents/shared/confidence-gate.md +42 -0
- package/dist/content/agents/shared/cq-specialist-roster.md +26 -0
- package/{agents → dist/content/agents}/shared/efficiency-patterns.md +32 -1
- package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
- package/{agents → dist/content/agents}/shared/injection-patterns.md +19 -8
- package/dist/content/agents/shared/principles.md +60 -0
- package/{agents → dist/content/agents}/shared/prompt-structure.md +7 -1
- package/{agents → dist/content/agents}/shared/quality-charter.md +73 -9
- package/dist/content/agents/shared/quality-specialist-frame.md +141 -0
- package/dist/content/agents/shared/rigor-contract.md +151 -0
- package/dist/content/agents/shared/severity-mapping.md +92 -0
- package/dist/content/agents/shared/triage-vocabulary.md +46 -0
- package/{agents → dist/content/agents}/shared/user-content-templates.md +40 -14
- package/dist/content/agents/shared/user-question-protocol.md +139 -0
- package/{checks → dist/content/checks}/README.md +5 -0
- package/{checks → dist/content/checks}/accessibility.md +14 -7
- package/{checks → dist/content/checks}/code-quality.md +1 -1
- package/{checks → dist/content/checks}/performance.md +7 -4
- package/{checks → dist/content/checks}/security.md +6 -6
- package/{checks → dist/content/checks}/testing.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +41 -14
- package/{commands → dist/content/commands}/board/pickup-delegation.md +10 -8
- package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-modes.md +1 -0
- package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
- package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/shared-github.md +2 -2
- package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-api-spec.md +80 -3
- package/dist/content/commands/hatch3r-auth-scaffold.md +250 -0
- package/{commands → dist/content/commands}/hatch3r-benchmark.md +91 -8
- package/{commands → dist/content/commands}/hatch3r-board-fill.md +104 -18
- package/{commands → dist/content/commands}/hatch3r-board-pickup.md +99 -15
- package/dist/content/commands/hatch3r-bug-pipeline.md +240 -0
- package/{commands → dist/content/commands}/hatch3r-bug-plan.md +84 -8
- package/{commands → dist/content/commands}/hatch3r-codebase-map.md +82 -6
- package/{commands → dist/content/commands}/hatch3r-create.md +116 -18
- package/{commands → dist/content/commands}/hatch3r-debug.md +112 -24
- package/dist/content/commands/hatch3r-diagnose.md +238 -0
- package/{commands → dist/content/commands}/hatch3r-feature-plan.md +130 -10
- package/dist/content/commands/hatch3r-handoff.md +213 -0
- package/{commands → dist/content/commands}/hatch3r-healthcheck.md +106 -6
- package/dist/content/commands/hatch3r-incident-response.md +228 -0
- package/{commands → dist/content/commands}/hatch3r-migration-plan.md +81 -5
- package/{commands → dist/content/commands}/hatch3r-onboard.md +100 -9
- package/dist/content/commands/hatch3r-pack-install.md +243 -0
- package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +114 -31
- package/{commands → dist/content/commands}/hatch3r-project-spec.md +85 -9
- package/{commands → dist/content/commands}/hatch3r-quick-change.md +115 -20
- package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +82 -6
- package/dist/content/commands/hatch3r-release.md +401 -0
- package/{commands → dist/content/commands}/hatch3r-revision.md +104 -18
- package/{commands → dist/content/commands}/hatch3r-roadmap.md +94 -12
- package/{commands → dist/content/commands}/hatch3r-security-audit.md +107 -7
- package/dist/content/commands/hatch3r-slo-scaffold.md +246 -0
- package/dist/content/commands/hatch3r-spec.md +216 -0
- package/{commands → dist/content/commands}/hatch3r-test-plan.md +90 -14
- package/dist/content/commands/hatch3r-workflow.md +628 -0
- package/{commands → dist/content/commands}/revision/revision-delegation.md +8 -7
- package/{commands → dist/content/commands}/revision/revision-modes.md +49 -4
- package/{commands → dist/content/commands}/revision/revision-quality.md +12 -9
- package/dist/content/commands/shared/orchestration-frame.md +119 -0
- package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +22 -2
- package/dist/content/github-agents/hatch3r-lint-agent.md +66 -0
- package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +22 -2
- package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +22 -2
- package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-file-save.md +4 -4
- package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +7 -7
- package/dist/content/hooks/hatch3r-review-loop-cap.md +52 -0
- package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
- package/{mcp → dist/content/mcp}/mcp.json +7 -5
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +16 -3
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +13 -1
- package/dist/content/rules/hatch3r-agent-orchestration-detail.md +250 -0
- package/dist/content/rules/hatch3r-agent-orchestration-detail.mdc +245 -0
- package/dist/content/rules/hatch3r-agent-orchestration.md +250 -0
- package/dist/content/rules/hatch3r-agent-orchestration.mdc +245 -0
- package/{rules → dist/content/rules}/hatch3r-ai-evals.md +7 -5
- package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +5 -4
- package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +7 -3
- package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +4 -1
- package/dist/content/rules/hatch3r-android-patterns.md +107 -0
- package/dist/content/rules/hatch3r-android-patterns.mdc +102 -0
- package/dist/content/rules/hatch3r-anti-duplication.md +115 -0
- package/dist/content/rules/hatch3r-anti-duplication.mdc +115 -0
- package/{rules → dist/content/rules}/hatch3r-api-design.md +5 -1
- package/{rules → dist/content/rules}/hatch3r-api-design.mdc +3 -0
- package/{rules → dist/content/rules}/hatch3r-api-versioning.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +5 -2
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +2 -0
- package/{rules → dist/content/rules}/hatch3r-browser-verification.md +8 -10
- package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +8 -10
- package/dist/content/rules/hatch3r-capability-matrix.md +108 -0
- package/dist/content/rules/hatch3r-capability-matrix.mdc +108 -0
- package/{rules → dist/content/rules}/hatch3r-ci-cd.md +9 -1
- package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +7 -0
- package/dist/content/rules/hatch3r-clarification-default.md +73 -0
- package/dist/content/rules/hatch3r-clarification-default.mdc +73 -0
- package/{rules → dist/content/rules}/hatch3r-code-standards.md +23 -47
- package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +22 -46
- package/{rules → dist/content/rules}/hatch3r-component-conventions.md +4 -1
- package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +3 -0
- package/{rules → dist/content/rules}/hatch3r-container-hardening.md +13 -3
- package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +10 -1
- package/{rules → dist/content/rules}/hatch3r-contract-testing.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
- package/dist/content/rules/hatch3r-cost-visibility.md +135 -0
- package/dist/content/rules/hatch3r-cost-visibility.mdc +135 -0
- package/dist/content/rules/hatch3r-cq-rule-frame.md +54 -0
- package/dist/content/rules/hatch3r-cq-rule-frame.mdc +49 -0
- package/{rules → dist/content/rules}/hatch3r-data-classification.md +5 -2
- package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +3 -1
- package/{rules → dist/content/rules}/hatch3r-deep-context.md +14 -14
- package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +13 -13
- package/{rules → dist/content/rules}/hatch3r-dependency-management.md +18 -4
- package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +16 -3
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +4 -2
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
- package/dist/content/rules/hatch3r-dotnet-patterns.md +104 -0
- package/dist/content/rules/hatch3r-dotnet-patterns.mdc +99 -0
- package/dist/content/rules/hatch3r-edge-case-discipline.md +65 -0
- package/dist/content/rules/hatch3r-edge-case-discipline.mdc +65 -0
- package/dist/content/rules/hatch3r-enhancability.md +147 -0
- package/dist/content/rules/hatch3r-enhancability.mdc +142 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
- package/dist/content/rules/hatch3r-fan-out-discipline.md +91 -0
- package/dist/content/rules/hatch3r-fan-out-discipline.mdc +91 -0
- package/{rules → dist/content/rules}/hatch3r-feature-flags.md +2 -0
- package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +2 -0
- package/dist/content/rules/hatch3r-flutter-patterns.md +88 -0
- package/dist/content/rules/hatch3r-flutter-patterns.mdc +83 -0
- package/{rules → dist/content/rules}/hatch3r-git-conventions.md +5 -2
- package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +2 -0
- package/dist/content/rules/hatch3r-go-patterns.md +98 -0
- package/dist/content/rules/hatch3r-go-patterns.mdc +93 -0
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +14 -4
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +13 -3
- package/{rules → dist/content/rules}/hatch3r-i18n.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-i18n.mdc +2 -0
- package/dist/content/rules/hatch3r-iteration-summary.md +108 -0
- package/dist/content/rules/hatch3r-iteration-summary.mdc +108 -0
- package/dist/content/rules/hatch3r-learning-system.md +202 -0
- package/dist/content/rules/hatch3r-learning-system.mdc +202 -0
- package/dist/content/rules/hatch3r-maintainability.md +157 -0
- package/dist/content/rules/hatch3r-maintainability.mdc +152 -0
- package/{rules → dist/content/rules}/hatch3r-migrations.md +4 -2
- package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-tracing.md +46 -36
- package/{rules → dist/content/rules}/hatch3r-observability-tracing.mdc +45 -35
- package/{rules → dist/content/rules}/hatch3r-operability.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-passkey-server.md +4 -2
- package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +3 -1
- package/dist/content/rules/hatch3r-php-laravel-patterns.md +109 -0
- package/dist/content/rules/hatch3r-php-laravel-patterns.mdc +104 -0
- package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +5 -1
- package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +3 -0
- package/dist/content/rules/hatch3r-proof-model.md +131 -0
- package/dist/content/rules/hatch3r-proof-model.mdc +131 -0
- package/dist/content/rules/hatch3r-python-patterns.md +70 -0
- package/dist/content/rules/hatch3r-python-patterns.mdc +65 -0
- package/dist/content/rules/hatch3r-react-native-patterns.md +83 -0
- package/dist/content/rules/hatch3r-react-native-patterns.mdc +78 -0
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
- package/dist/content/rules/hatch3r-reviewer-calibration.md +84 -0
- package/dist/content/rules/hatch3r-reviewer-calibration.mdc +84 -0
- package/dist/content/rules/hatch3r-right-sizing.md +68 -0
- package/dist/content/rules/hatch3r-right-sizing.mdc +66 -0
- package/dist/content/rules/hatch3r-ruby-rails-patterns.md +111 -0
- package/dist/content/rules/hatch3r-ruby-rails-patterns.mdc +106 -0
- package/dist/content/rules/hatch3r-rust-patterns.md +107 -0
- package/dist/content/rules/hatch3r-rust-patterns.mdc +102 -0
- package/dist/content/rules/hatch3r-scalability.md +137 -0
- package/dist/content/rules/hatch3r-scalability.mdc +132 -0
- package/{rules → dist/content/rules}/hatch3r-secrets-management.md +12 -2
- package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +9 -0
- package/{rules → dist/content/rules}/hatch3r-security-patterns.md +38 -35
- package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +36 -34
- package/dist/content/rules/hatch3r-security.md +97 -0
- package/dist/content/rules/hatch3r-security.mdc +92 -0
- package/dist/content/rules/hatch3r-swiftui-patterns.md +98 -0
- package/dist/content/rules/hatch3r-swiftui-patterns.mdc +93 -0
- package/dist/content/rules/hatch3r-testability.md +115 -0
- package/dist/content/rules/hatch3r-testability.mdc +110 -0
- package/{rules → dist/content/rules}/hatch3r-testing.md +6 -2
- package/{rules → dist/content/rules}/hatch3r-testing.mdc +3 -0
- package/{rules → dist/content/rules}/hatch3r-theming.md +3 -1
- package/{rules → dist/content/rules}/hatch3r-theming.mdc +2 -0
- package/dist/content/rules/hatch3r-tool-currency.md +91 -0
- package/dist/content/rules/hatch3r-tool-currency.mdc +86 -0
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +30 -32
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +28 -31
- package/dist/content/rules/hatch3r-typescript-patterns.md +58 -0
- package/dist/content/rules/hatch3r-typescript-patterns.mdc +53 -0
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +13 -5
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +10 -3
- package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +11 -9
- package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +7 -5
- package/dist/content/skills/hatch3r-adhoc-orchestrate/SKILL.md +131 -0
- package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +4 -6
- package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +27 -2
- package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +5 -8
- package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +16 -18
- package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +34 -31
- package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +17 -19
- package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +45 -15
- package/dist/content/skills/hatch3r-browser-verify/SKILL.md +307 -0
- package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +16 -3
- package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +17 -7
- package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +34 -2
- package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +34 -2
- package/dist/content/skills/hatch3r-cli-gh/SKILL.md +139 -0
- package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +43 -9
- package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +36 -4
- package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +376 -0
- package/dist/content/skills/hatch3r-containerize/SKILL.md +157 -0
- package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +27 -9
- package/dist/content/skills/hatch3r-cost-tracking/SKILL.md +164 -0
- package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +9 -13
- package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +29 -9
- package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +4 -8
- package/dist/content/skills/hatch3r-docs-writing/SKILL.md +159 -0
- package/dist/content/skills/hatch3r-enhancability-verify/SKILL.md +152 -0
- package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +54 -4
- package/dist/content/skills/hatch3r-feedback/SKILL.md +103 -0
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +14 -12
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +12 -15
- package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +5 -8
- package/{commands/hatch3r-hooks.md → dist/content/skills/hatch3r-hooks/SKILL.md} +59 -148
- package/dist/content/skills/hatch3r-incident-response/SKILL.md +174 -0
- package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +15 -4
- package/dist/content/skills/hatch3r-learn/SKILL.md +317 -0
- package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +6 -7
- package/dist/content/skills/hatch3r-maintainability-verify/SKILL.md +146 -0
- package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +9 -8
- package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +17 -13
- package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +14 -10
- package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +8 -11
- package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +8 -7
- package/dist/content/skills/hatch3r-recipe/SKILL.md +174 -0
- package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +7 -8
- package/dist/content/skills/hatch3r-release/SKILL.md +265 -0
- package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +9 -5
- package/{commands/hatch3r-report.md → dist/content/skills/hatch3r-report/SKILL.md} +21 -18
- package/dist/content/skills/hatch3r-scalability-verify/SKILL.md +145 -0
- package/dist/content/skills/hatch3r-security-verify/SKILL.md +144 -0
- package/dist/content/skills/hatch3r-team-convention-author/SKILL.md +126 -0
- package/dist/content/skills/hatch3r-testability-verify/SKILL.md +147 -0
- package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +20 -12
- package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +12 -8
- package/package.json +53 -46
- package/agents/hatch3r-a11y-auditor.md +0 -159
- package/agents/hatch3r-dependency-auditor.md +0 -219
- package/agents/hatch3r-implementer.md +0 -278
- package/agents/hatch3r-learnings-loader.md +0 -343
- package/agents/hatch3r-perf-profiler.md +0 -166
- package/agents/hatch3r-reviewer.md +0 -314
- package/agents/hatch3r-security-auditor.md +0 -180
- package/agents/hatch3r-test-writer.md +0 -171
- package/agents/shared/user-question-protocol.md +0 -95
- package/commands/hatch3r-agent-customize.md +0 -201
- package/commands/hatch3r-command-customize.md +0 -113
- package/commands/hatch3r-context-health.md +0 -147
- package/commands/hatch3r-cost-tracking.md +0 -163
- package/commands/hatch3r-dep-audit.md +0 -188
- package/commands/hatch3r-handoff.md +0 -133
- package/commands/hatch3r-learn.md +0 -312
- package/commands/hatch3r-recipe.md +0 -194
- package/commands/hatch3r-release.md +0 -350
- package/commands/hatch3r-rule-customize.md +0 -133
- package/commands/hatch3r-skill-customize.md +0 -112
- package/commands/hatch3r-workflow.md +0 -504
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.js.map +0 -1
- package/github-agents/hatch3r-lint-agent.md +0 -46
- package/prompts/hatch3r-bug-triage.md +0 -158
- package/prompts/hatch3r-code-review.md +0 -134
- package/prompts/hatch3r-pr-description.md +0 -176
- package/rules/hatch3r-agent-orchestration-detail.md +0 -211
- package/rules/hatch3r-agent-orchestration-detail.mdc +0 -206
- package/rules/hatch3r-agent-orchestration.md +0 -376
- package/rules/hatch3r-agent-orchestration.mdc +0 -371
- package/rules/hatch3r-iteration-summary.md +0 -90
- package/rules/hatch3r-iteration-summary.mdc +0 -85
- package/rules/hatch3r-learning-consult.md +0 -42
- package/rules/hatch3r-learning-consult.mdc +0 -38
- package/rules/hatch3r-observability-tracing-detail.md +0 -20
- package/rules/hatch3r-observability-tracing-detail.mdc +0 -14
- package/rules/hatch3r-observability.md +0 -20
- package/rules/hatch3r-observability.mdc +0 -14
- package/skills/hatch3r-agent-customize/SKILL.md +0 -23
- package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
- package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
- package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
- package/skills/hatch3r-cli-bat/SKILL.md +0 -85
- package/skills/hatch3r-cli-comby/SKILL.md +0 -85
- package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
- package/skills/hatch3r-cli-delta/SKILL.md +0 -86
- package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
- package/skills/hatch3r-cli-docker/SKILL.md +0 -89
- package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
- package/skills/hatch3r-cli-gh/SKILL.md +0 -90
- package/skills/hatch3r-cli-glab/SKILL.md +0 -89
- package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
- package/skills/hatch3r-cli-llm/SKILL.md +0 -84
- package/skills/hatch3r-cli-miller/SKILL.md +0 -84
- package/skills/hatch3r-cli-mods/SKILL.md +0 -84
- package/skills/hatch3r-cli-overview/SKILL.md +0 -60
- package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
- package/skills/hatch3r-cli-podman/SKILL.md +0 -84
- package/skills/hatch3r-cli-qsv/SKILL.md +0 -91
- package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
- package/skills/hatch3r-cli-sd/SKILL.md +0 -85
- package/skills/hatch3r-cli-stagehand/SKILL.md +0 -111
- package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
- package/skills/hatch3r-cli-yq/SKILL.md +0 -85
- package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
- package/skills/hatch3r-command-customize/SKILL.md +0 -23
- package/skills/hatch3r-cost-tracking/SKILL.md +0 -92
- package/skills/hatch3r-incident-response/SKILL.md +0 -115
- package/skills/hatch3r-recipe/SKILL.md +0 -91
- package/skills/hatch3r-release/SKILL.md +0 -120
- package/skills/hatch3r-rule-customize/SKILL.md +0 -23
- package/skills/hatch3r-skill-customize/SKILL.md +0 -23
- /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
- /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
- /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
- /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
- /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
- /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
- /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
- /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
- /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
- /package/{agents → dist/content/agents}/modes/regression.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
- /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
- /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
- /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
- /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
- /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-issue-workflow/references/delegation-patterns.md +0 -0
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: hatch3r-lint-agent
|
|
3
|
-
type: github-agent
|
|
4
|
-
description: Code quality enforcer who fixes style, formatting, and type issues
|
|
5
|
-
# Simplified agent for GitHub Copilot/Codex
|
|
6
|
-
tags: [team, devops]
|
|
7
|
-
quality_charter: agents/shared/quality-charter.md
|
|
8
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
9
|
-
cache_friendly: true
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
You are a code quality engineer for the project.
|
|
13
|
-
|
|
14
|
-
## Your Role
|
|
15
|
-
|
|
16
|
-
- You fix ESLint errors, Prettier formatting, TypeScript strict mode violations, and naming convention issues.
|
|
17
|
-
- You identify and remove dead code, unused imports, and obsolete comments.
|
|
18
|
-
- You never change code logic — only style and structure.
|
|
19
|
-
- Your output: clean, consistently formatted code that passes all lint checks.
|
|
20
|
-
|
|
21
|
-
## Project Knowledge
|
|
22
|
-
|
|
23
|
-
- **Conventions (adapt to project):**
|
|
24
|
-
- Functions: camelCase
|
|
25
|
-
- Types/Interfaces: PascalCase
|
|
26
|
-
- Constants: SCREAMING_SNAKE
|
|
27
|
-
- Component files: PascalCase.vue (or project equivalent)
|
|
28
|
-
- Logic files: camelCase.ts
|
|
29
|
-
- No `any` types (use `unknown` + type guards)
|
|
30
|
-
- No `// @ts-ignore` without linked issue
|
|
31
|
-
- Max function length: 50 lines
|
|
32
|
-
- Max file length: 400 lines
|
|
33
|
-
- Cyclomatic complexity: ≤ 10
|
|
34
|
-
|
|
35
|
-
## Commands You Can Use
|
|
36
|
-
|
|
37
|
-
- Lint check: `npm run lint`
|
|
38
|
-
- Auto-fix: `npm run lint:fix`
|
|
39
|
-
- Type check: `npm run typecheck`
|
|
40
|
-
- Run tests (to verify no behavior change): `npm run test`
|
|
41
|
-
|
|
42
|
-
## Boundaries
|
|
43
|
-
|
|
44
|
-
- **Always:** Run `npm run lint:fix`, then `npm run typecheck`, then `npm run test` to verify
|
|
45
|
-
- **Ask first:** Before renaming exported symbols that might be used across modules
|
|
46
|
-
- **Never:** Change code logic or behavior, add new features, modify test assertions, remove code that has side effects
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-bug-triage
|
|
3
|
-
type: prompt
|
|
4
|
-
description: Triage a bug report and suggest investigation steps
|
|
5
|
-
tags: [core]
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
---
|
|
9
|
-
# Bug Triage
|
|
10
|
-
|
|
11
|
-
Triage the described bug and produce a structured investigation plan with severity classification, root cause hypotheses, and recommended fix approach.
|
|
12
|
-
|
|
13
|
-
## Instructions
|
|
14
|
-
|
|
15
|
-
1. **Classify severity** using the matrix below. Consider both user impact and data integrity risk.
|
|
16
|
-
2. **Identify affected area** from the description — map to specific modules, services, or components.
|
|
17
|
-
3. **Assess blast radius** — how many users are affected? Is data at risk? Are there downstream effects?
|
|
18
|
-
4. **List 3–5 investigation steps** with specific files, functions, or logs to check. Order by likelihood of finding the root cause.
|
|
19
|
-
5. **Suggest a minimal reproduction path** — exact steps a developer can follow to reproduce the bug locally.
|
|
20
|
-
6. **Propose a fix approach** if the root cause is evident, including which files to change and what tests to add.
|
|
21
|
-
7. **Flag related issues** — check for similar past bugs, related symptoms, or recent regressions.
|
|
22
|
-
|
|
23
|
-
## Severity Matrix
|
|
24
|
-
|
|
25
|
-
| Priority | Criteria | Response SLA | Examples |
|
|
26
|
-
|----------|----------|-------------|----------|
|
|
27
|
-
| **P0** | Data loss, security breach, complete service outage | Immediate (drop everything) | Credential leak, database corruption, auth bypass |
|
|
28
|
-
| **P1** | Core feature broken, no workaround, significant user impact | Same day | Login fails, payments broken, data not saving |
|
|
29
|
-
| **P2** | Feature degraded, workaround exists, moderate user impact | Within sprint | Slow page load, intermittent error, UI glitch on edge case |
|
|
30
|
-
| **P3** | Cosmetic issue, minor inconvenience, low frequency | Backlog | Typo, alignment off by 1px, tooltip truncated |
|
|
31
|
-
|
|
32
|
-
## Edge Cases to Consider
|
|
33
|
-
|
|
34
|
-
- Is this a regression? Check recent deploys and PRs merged near the reported time.
|
|
35
|
-
- Is this environment-specific? Different behavior in dev/staging/prod, different browsers, or different locales.
|
|
36
|
-
- Is this timing-dependent? Race conditions, timezone issues, cache staleness.
|
|
37
|
-
- Is this data-dependent? Specific user data, edge-case input values, empty/null states.
|
|
38
|
-
- Is this intermittent? Flaky behavior suggests concurrency, caching, or external dependency issues.
|
|
39
|
-
|
|
40
|
-
## Output Template
|
|
41
|
-
|
|
42
|
-
```markdown
|
|
43
|
-
## Bug Triage: {short title}
|
|
44
|
-
|
|
45
|
-
### Classification
|
|
46
|
-
|
|
47
|
-
| Field | Value |
|
|
48
|
-
|-------|-------|
|
|
49
|
-
| **Priority** | P0 / P1 / P2 / P3 |
|
|
50
|
-
| **Affected Area** | {module / service / component} |
|
|
51
|
-
| **Blast Radius** | {all users / subset / single user} |
|
|
52
|
-
| **Regression?** | Yes (since {version/date}) / No / Unknown |
|
|
53
|
-
| **Data at Risk?** | Yes ({what data}) / No |
|
|
54
|
-
|
|
55
|
-
### Reproduction Steps
|
|
56
|
-
|
|
57
|
-
1. {exact step}
|
|
58
|
-
2. {exact step}
|
|
59
|
-
3. {exact step}
|
|
60
|
-
- **Expected:** {what should happen}
|
|
61
|
-
- **Actual:** {what happens instead}
|
|
62
|
-
- **Environment:** {browser, OS, locale, or server environment}
|
|
63
|
-
|
|
64
|
-
### Investigation Plan
|
|
65
|
-
|
|
66
|
-
| # | Step | Where to Look | What to Check |
|
|
67
|
-
|---|------|---------------|---------------|
|
|
68
|
-
| 1 | {action} | `{file:function}` | {what to look for} |
|
|
69
|
-
| 2 | {action} | `{log source}` | {pattern or error message} |
|
|
70
|
-
| 3 | {action} | `{git log / deploy history}` | {recent changes in area} |
|
|
71
|
-
|
|
72
|
-
### Root Cause Hypotheses
|
|
73
|
-
|
|
74
|
-
| Rank | Hypothesis | Likelihood | Evidence |
|
|
75
|
-
|------|-----------|-----------|----------|
|
|
76
|
-
| 1 | {most likely cause} | High / Med / Low | {supporting evidence} |
|
|
77
|
-
| 2 | {alternative cause} | High / Med / Low | {supporting evidence} |
|
|
78
|
-
|
|
79
|
-
### Recommended Fix
|
|
80
|
-
|
|
81
|
-
- **Approach:** {description of fix}
|
|
82
|
-
- **Files to change:** {list}
|
|
83
|
-
- **Tests to add:** {regression test description}
|
|
84
|
-
- **Rollback plan:** {if fix is risky}
|
|
85
|
-
|
|
86
|
-
### Related Issues
|
|
87
|
-
|
|
88
|
-
- #{N} — {title} ({similarity reason})
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## Few-Shot Examples
|
|
92
|
-
|
|
93
|
-
### Example 1: P0 Security Bug
|
|
94
|
-
|
|
95
|
-
**Input:** "Users can see other users' billing information by changing the user ID in the URL."
|
|
96
|
-
|
|
97
|
-
**Output:**
|
|
98
|
-
|
|
99
|
-
```markdown
|
|
100
|
-
## Bug Triage: IDOR in billing endpoint
|
|
101
|
-
|
|
102
|
-
### Classification
|
|
103
|
-
|
|
104
|
-
| Field | Value |
|
|
105
|
-
|-------|-------|
|
|
106
|
-
| **Priority** | P0 |
|
|
107
|
-
| **Affected Area** | API — billing routes |
|
|
108
|
-
| **Blast Radius** | All users with billing data |
|
|
109
|
-
| **Regression?** | Unknown — check when `/api/billing/:userId` was added |
|
|
110
|
-
| **Data at Risk?** | Yes — billing addresses, payment method last-4, invoice history |
|
|
111
|
-
|
|
112
|
-
### Investigation Plan
|
|
113
|
-
|
|
114
|
-
| # | Step | Where to Look | What to Check |
|
|
115
|
-
|---|------|---------------|---------------|
|
|
116
|
-
| 1 | Check auth middleware | `src/routes/billing.ts` | Is `requireAuth` applied? Does it verify `userId === req.user.id`? |
|
|
117
|
-
| 2 | Check authorization | `src/middleware/auth.ts` | Is ownership validated, not just authentication? |
|
|
118
|
-
| 3 | Check other user-scoped routes | `src/routes/*.ts` | Same pattern may exist elsewhere |
|
|
119
|
-
|
|
120
|
-
### Recommended Fix
|
|
121
|
-
|
|
122
|
-
- **Approach:** Add ownership check: `if (params.userId !== req.user.id) return 403`
|
|
123
|
-
- **Files to change:** `src/routes/billing.ts`, `src/middleware/auth.ts` (add `requireOwnership` helper)
|
|
124
|
-
- **Tests to add:** Test that user A cannot access user B's billing endpoint
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Example 2: P2 UI Bug
|
|
128
|
-
|
|
129
|
-
**Input:** "Date picker shows wrong month when timezone is UTC-12."
|
|
130
|
-
|
|
131
|
-
**Output:**
|
|
132
|
-
|
|
133
|
-
```markdown
|
|
134
|
-
## Bug Triage: Date picker timezone offset
|
|
135
|
-
|
|
136
|
-
### Classification
|
|
137
|
-
|
|
138
|
-
| Field | Value |
|
|
139
|
-
|-------|-------|
|
|
140
|
-
| **Priority** | P2 |
|
|
141
|
-
| **Affected Area** | UI — DatePicker component |
|
|
142
|
-
| **Blast Radius** | Users in far-west timezones (low frequency) |
|
|
143
|
-
| **Regression?** | No — likely always present |
|
|
144
|
-
| **Data at Risk?** | No — display only |
|
|
145
|
-
|
|
146
|
-
### Investigation Plan
|
|
147
|
-
|
|
148
|
-
| # | Step | Where to Look | What to Check |
|
|
149
|
-
|---|------|---------------|---------------|
|
|
150
|
-
| 1 | Check date construction | `src/components/DatePicker.ts` | Is `new Date()` used without timezone normalization? |
|
|
151
|
-
| 2 | Check locale formatting | `src/utils/dates.ts` | Is `Intl.DateTimeFormat` using the correct timezone? |
|
|
152
|
-
| 3 | Test with mocked timezone | `tests/unit/` | Set `TZ=Etc/GMT+12` and verify month calculation |
|
|
153
|
-
|
|
154
|
-
### Recommended Fix
|
|
155
|
-
|
|
156
|
-
- **Approach:** Normalize to UTC before extracting month/year for display
|
|
157
|
-
- **Tests to add:** Parameterized test across UTC-12, UTC, UTC+14
|
|
158
|
-
```
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-code-review
|
|
3
|
-
type: prompt
|
|
4
|
-
description: Review code changes for quality, security, and correctness
|
|
5
|
-
tags: [core]
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
---
|
|
9
|
-
# Code Review
|
|
10
|
-
|
|
11
|
-
Review the provided code changes for quality, security, and correctness. Produce a structured review report with actionable feedback.
|
|
12
|
-
|
|
13
|
-
## Instructions
|
|
14
|
-
|
|
15
|
-
1. **Correctness** — Does the code do what it is supposed to? Verify against acceptance criteria, spec references, and expected behavior. Check for off-by-one errors, missing null/undefined handling, incorrect operator usage, and logic inversions.
|
|
16
|
-
2. **Security** — Input validation at boundaries, auth checks on every route, no secrets in code or logs, CSRF protection on mutations, parameterized queries, safe deserialization. Flag any trust boundary violations.
|
|
17
|
-
3. **Code Quality** — Naming follows conventions, functions < 50 lines, files < 400 lines, cyclomatic complexity ≤ 10, no dead code or unused imports, DRY without over-abstraction.
|
|
18
|
-
4. **Type Safety** — No `any`, no `@ts-ignore` without a linked issue, discriminated unions preferred over type assertions, `satisfies` over `as` where applicable.
|
|
19
|
-
5. **Performance** — No N+1 queries, no unnecessary allocations in hot paths, lazy loading for large imports, no unbounded list fetches, bundle size impact assessed.
|
|
20
|
-
6. **Testing** — New logic has unit tests, bug fixes have regression tests, edge cases covered, mocks are minimal and focused.
|
|
21
|
-
7. **Accessibility** — If UI changes: keyboard navigation, WCAG AA contrast (4.5:1), ARIA attributes, `prefers-reduced-motion` respected.
|
|
22
|
-
8. **Error Handling** — Errors caught and handled at the appropriate level, user-facing errors are informative but safe (no stack traces), fail-closed defaults.
|
|
23
|
-
|
|
24
|
-
## Edge Cases to Watch
|
|
25
|
-
|
|
26
|
-
- Empty collections and null/undefined inputs at boundaries
|
|
27
|
-
- Concurrent modifications and race conditions
|
|
28
|
-
- Unicode and multi-byte string handling
|
|
29
|
-
- Timezone-sensitive date operations
|
|
30
|
-
- Large payload sizes and pagination exhaustion
|
|
31
|
-
- Partial failures in batch operations
|
|
32
|
-
|
|
33
|
-
## Severity Classification
|
|
34
|
-
|
|
35
|
-
| Severity | Criteria | Action |
|
|
36
|
-
|----------|----------|--------|
|
|
37
|
-
| **Critical** | Security vulnerability, data loss risk, privacy violation, incorrect business logic | Must fix before merge |
|
|
38
|
-
| **Warning** | Performance regression, missing tests, code quality violation, poor error handling | Should fix, PR author decides timing |
|
|
39
|
-
| **Suggestion** | Naming improvement, alternative pattern, readability enhancement | Nice to have, not blocking |
|
|
40
|
-
|
|
41
|
-
## Output Template
|
|
42
|
-
|
|
43
|
-
```markdown
|
|
44
|
-
## Code Review: {file or PR scope}
|
|
45
|
-
|
|
46
|
-
**Verdict:** APPROVE | REQUEST CHANGES | COMMENT
|
|
47
|
-
|
|
48
|
-
### Critical
|
|
49
|
-
|
|
50
|
-
| # | File:Line | Issue | Suggestion |
|
|
51
|
-
|---|-----------|-------|------------|
|
|
52
|
-
| 1 | `src/auth.ts:42` | Missing token expiry check | Add `if (isExpired(token)) throw new AuthError(...)` |
|
|
53
|
-
|
|
54
|
-
### Warnings
|
|
55
|
-
|
|
56
|
-
| # | File:Line | Issue | Suggestion |
|
|
57
|
-
|---|-----------|-------|------------|
|
|
58
|
-
| 1 | `src/api/users.ts:78` | No test for empty input case | Add unit test for `getUser(undefined)` |
|
|
59
|
-
|
|
60
|
-
### Suggestions
|
|
61
|
-
|
|
62
|
-
| # | File:Line | Issue | Suggestion |
|
|
63
|
-
|---|-----------|-------|------------|
|
|
64
|
-
| 1 | `src/utils.ts:15` | `data` is vague | Rename to `userProfile` for clarity |
|
|
65
|
-
|
|
66
|
-
### Summary
|
|
67
|
-
|
|
68
|
-
- Critical: {n} | Warnings: {n} | Suggestions: {n}
|
|
69
|
-
- Test coverage: {assessed / not assessed}
|
|
70
|
-
- Security: {no issues / issues found}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Few-Shot Examples
|
|
74
|
-
|
|
75
|
-
### Example 1: Security Issue Found
|
|
76
|
-
|
|
77
|
-
**Input:** A diff adding a new API endpoint:
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
app.post("/api/admin/users", async (req, res) => {
|
|
81
|
-
const user = await db.createUser(req.body);
|
|
82
|
-
res.json(user);
|
|
83
|
-
});
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Output:**
|
|
87
|
-
|
|
88
|
-
```markdown
|
|
89
|
-
## Code Review: src/routes/admin.ts
|
|
90
|
-
|
|
91
|
-
**Verdict:** REQUEST CHANGES
|
|
92
|
-
|
|
93
|
-
### Critical
|
|
94
|
-
|
|
95
|
-
| # | File:Line | Issue | Suggestion |
|
|
96
|
-
|---|-----------|-------|------------|
|
|
97
|
-
| 1 | `src/routes/admin.ts:12` | No auth middleware on admin endpoint | Add `requireAuth("admin")` middleware before handler |
|
|
98
|
-
| 2 | `src/routes/admin.ts:13` | `req.body` used without validation | Add zod schema: `const body = CreateUserSchema.parse(req.body)` |
|
|
99
|
-
|
|
100
|
-
### Warnings
|
|
101
|
-
|
|
102
|
-
| # | File:Line | Issue | Suggestion |
|
|
103
|
-
|---|-----------|-------|------------|
|
|
104
|
-
| 1 | `src/routes/admin.ts:14` | Full user object returned including password hash | Return `omit(user, ["passwordHash"])` |
|
|
105
|
-
|
|
106
|
-
### Summary
|
|
107
|
-
|
|
108
|
-
- Critical: 2 | Warnings: 1 | Suggestions: 0
|
|
109
|
-
- Security: AUTH MISSING, INPUT UNVALIDATED
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Example 2: Clean Code with Minor Suggestions
|
|
113
|
-
|
|
114
|
-
**Input:** A utility function refactor with tests.
|
|
115
|
-
|
|
116
|
-
**Output:**
|
|
117
|
-
|
|
118
|
-
```markdown
|
|
119
|
-
## Code Review: src/utils/format.ts
|
|
120
|
-
|
|
121
|
-
**Verdict:** APPROVE
|
|
122
|
-
|
|
123
|
-
### Suggestions
|
|
124
|
-
|
|
125
|
-
| # | File:Line | Issue | Suggestion |
|
|
126
|
-
|---|-----------|-------|------------|
|
|
127
|
-
| 1 | `src/utils/format.ts:8` | `formatDate` accepts `any` | Use `Date | string | number` union type |
|
|
128
|
-
|
|
129
|
-
### Summary
|
|
130
|
-
|
|
131
|
-
- Critical: 0 | Warnings: 0 | Suggestions: 1
|
|
132
|
-
- Test coverage: 4 new tests added, edge cases covered
|
|
133
|
-
- Security: no issues
|
|
134
|
-
```
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-pr-description
|
|
3
|
-
type: prompt
|
|
4
|
-
description: Generate a pull request description from staged changes
|
|
5
|
-
tags: [core]
|
|
6
|
-
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
7
|
-
cache_friendly: true
|
|
8
|
-
---
|
|
9
|
-
# PR Description
|
|
10
|
-
|
|
11
|
-
Generate a pull request description for the current changes. Analyze the diff and produce a structured, reviewer-friendly PR description.
|
|
12
|
-
|
|
13
|
-
## Instructions
|
|
14
|
-
|
|
15
|
-
1. **Analyze the staged diff and recent commits** on this branch. Identify all files changed, lines added/removed, and the nature of each change.
|
|
16
|
-
2. **Identify the type of change:**
|
|
17
|
-
|
|
18
|
-
| Type | Prefix | When to Use |
|
|
19
|
-
|------|--------|-------------|
|
|
20
|
-
| Feature | `feat:` | New functionality or capability |
|
|
21
|
-
| Fix | `fix:` | Bug fix or error correction |
|
|
22
|
-
| Refactor | `refactor:` | Code restructuring without behavior change |
|
|
23
|
-
| Docs | `docs:` | Documentation only |
|
|
24
|
-
| Test | `test:` | Adding or updating tests only |
|
|
25
|
-
| Infra | `infra:` | CI/CD, build config, tooling |
|
|
26
|
-
| Perf | `perf:` | Performance improvement |
|
|
27
|
-
| Security | `security:` | Security fix or hardening |
|
|
28
|
-
|
|
29
|
-
3. **Write a concise title** following Conventional Commits: `{type}: {short description}` (max 72 characters).
|
|
30
|
-
4. **Write the body** with structured sections (see template below).
|
|
31
|
-
5. **Assess risk level** — low (docs, tests), medium (new feature, refactor), high (auth, data model, security).
|
|
32
|
-
|
|
33
|
-
## Edge Cases to Handle
|
|
34
|
-
|
|
35
|
-
- **Multiple change types:** If the PR spans types (e.g., feature + tests + docs), use the primary type and note others in the summary.
|
|
36
|
-
- **Breaking changes:** Always include a `## Breaking Changes` section with migration instructions. Prefix title with `feat!:` or `fix!:`.
|
|
37
|
-
- **Large PRs:** If the diff exceeds 500 lines, suggest splitting. List logical split points.
|
|
38
|
-
- **No linked issue:** Flag this — every PR should reference an issue.
|
|
39
|
-
- **Reverts:** Use `revert:` prefix and link to the original PR being reverted.
|
|
40
|
-
|
|
41
|
-
## Output Template
|
|
42
|
-
|
|
43
|
-
```markdown
|
|
44
|
-
## {type}: {short description}
|
|
45
|
-
|
|
46
|
-
### Summary
|
|
47
|
-
|
|
48
|
-
- {what changed — 1-3 bullet points explaining the change and why it was needed}
|
|
49
|
-
|
|
50
|
-
### Changes
|
|
51
|
-
|
|
52
|
-
| File | Change | Description |
|
|
53
|
-
|------|--------|-------------|
|
|
54
|
-
| `{path}` | Added / Modified / Deleted | {what and why} |
|
|
55
|
-
|
|
56
|
-
### Test Plan
|
|
57
|
-
|
|
58
|
-
- [ ] {how to verify the changes work — specific steps}
|
|
59
|
-
- [ ] {edge case verified}
|
|
60
|
-
- [ ] Lint and typecheck pass
|
|
61
|
-
- [ ] All tests pass
|
|
62
|
-
|
|
63
|
-
### Risk Assessment
|
|
64
|
-
|
|
65
|
-
| Factor | Level | Notes |
|
|
66
|
-
|--------|-------|-------|
|
|
67
|
-
| **Scope** | Low / Med / High | {number of files, modules touched} |
|
|
68
|
-
| **Data impact** | None / Low / High | {any schema or data changes} |
|
|
69
|
-
| **Security** | None / Low / High | {auth, input validation, secrets} |
|
|
70
|
-
| **Rollback** | Easy / Complex | {can this be reverted cleanly?} |
|
|
71
|
-
|
|
72
|
-
### Breaking Changes
|
|
73
|
-
|
|
74
|
-
{None, or describe what breaks and how to migrate}
|
|
75
|
-
|
|
76
|
-
### Related
|
|
77
|
-
|
|
78
|
-
- Closes #{issue_number}
|
|
79
|
-
- Related: #{other_issue}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Few-Shot Examples
|
|
83
|
-
|
|
84
|
-
### Example 1: Feature PR
|
|
85
|
-
|
|
86
|
-
**Input:** Diff adds a new rate-limiting middleware, updates 3 route files, adds tests.
|
|
87
|
-
|
|
88
|
-
**Output:**
|
|
89
|
-
|
|
90
|
-
```markdown
|
|
91
|
-
## feat: add rate limiting to public API endpoints
|
|
92
|
-
|
|
93
|
-
### Summary
|
|
94
|
-
|
|
95
|
-
- Add token-bucket rate limiter middleware to prevent abuse of public endpoints
|
|
96
|
-
- Apply 100 req/min limit to auth endpoints, 1000 req/min to read endpoints
|
|
97
|
-
- Return standard `429 Too Many Requests` with `Retry-After` header
|
|
98
|
-
|
|
99
|
-
### Changes
|
|
100
|
-
|
|
101
|
-
| File | Change | Description |
|
|
102
|
-
|------|--------|-------------|
|
|
103
|
-
| `src/middleware/rateLimiter.ts` | Added | Token-bucket implementation with Redis backing |
|
|
104
|
-
| `src/routes/auth.ts` | Modified | Apply rate limiter with auth-tier limits |
|
|
105
|
-
| `src/routes/api.ts` | Modified | Apply rate limiter with standard-tier limits |
|
|
106
|
-
| `tests/unit/rateLimiter.test.ts` | Added | 8 tests covering burst, steady-state, and reset |
|
|
107
|
-
|
|
108
|
-
### Test Plan
|
|
109
|
-
|
|
110
|
-
- [ ] Verify 429 returned after exceeding limit
|
|
111
|
-
- [ ] Verify `Retry-After` header is accurate
|
|
112
|
-
- [ ] Verify rate limit resets after window expires
|
|
113
|
-
- [ ] Load test confirms no false positives under normal traffic
|
|
114
|
-
|
|
115
|
-
### Risk Assessment
|
|
116
|
-
|
|
117
|
-
| Factor | Level | Notes |
|
|
118
|
-
|--------|-------|-------|
|
|
119
|
-
| **Scope** | Medium | 3 route files + new middleware |
|
|
120
|
-
| **Data impact** | None | No schema changes |
|
|
121
|
-
| **Security** | Low | Additive security improvement |
|
|
122
|
-
| **Rollback** | Easy | Remove middleware from routes |
|
|
123
|
-
|
|
124
|
-
### Breaking Changes
|
|
125
|
-
|
|
126
|
-
None
|
|
127
|
-
|
|
128
|
-
### Related
|
|
129
|
-
|
|
130
|
-
- Closes #42
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Example 2: Bug Fix PR
|
|
134
|
-
|
|
135
|
-
**Input:** Diff fixes an off-by-one error in pagination, adds a regression test.
|
|
136
|
-
|
|
137
|
-
**Output:**
|
|
138
|
-
|
|
139
|
-
```markdown
|
|
140
|
-
## fix: correct off-by-one in cursor pagination
|
|
141
|
-
|
|
142
|
-
### Summary
|
|
143
|
-
|
|
144
|
-
- Fix pagination returning duplicate items when cursor falls on page boundary
|
|
145
|
-
- Root cause: `>=` comparison should have been `>` in cursor offset calculation
|
|
146
|
-
|
|
147
|
-
### Changes
|
|
148
|
-
|
|
149
|
-
| File | Change | Description |
|
|
150
|
-
|------|--------|-------------|
|
|
151
|
-
| `src/db/pagination.ts` | Modified | Fix boundary comparison operator |
|
|
152
|
-
| `tests/unit/pagination.test.ts` | Modified | Add regression test for boundary cursor |
|
|
153
|
-
|
|
154
|
-
### Test Plan
|
|
155
|
-
|
|
156
|
-
- [ ] Verify no duplicates at page boundary (regression test added)
|
|
157
|
-
- [ ] Verify first page, last page, and empty result still work
|
|
158
|
-
- [ ] Existing pagination tests still pass
|
|
159
|
-
|
|
160
|
-
### Risk Assessment
|
|
161
|
-
|
|
162
|
-
| Factor | Level | Notes |
|
|
163
|
-
|--------|-------|-------|
|
|
164
|
-
| **Scope** | Low | Single line fix + test |
|
|
165
|
-
| **Data impact** | None | Read-only query change |
|
|
166
|
-
| **Security** | None | No auth changes |
|
|
167
|
-
| **Rollback** | Easy | Revert single commit |
|
|
168
|
-
|
|
169
|
-
### Breaking Changes
|
|
170
|
-
|
|
171
|
-
None
|
|
172
|
-
|
|
173
|
-
### Related
|
|
174
|
-
|
|
175
|
-
- Closes #87
|
|
176
|
-
```
|