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.
Files changed (396) hide show
  1. package/README.md +68 -178
  2. package/dist/cli/index.js +26966 -15942
  3. package/{agents → dist/content/agents}/hatch3r-architect.md +39 -9
  4. package/dist/content/agents/hatch3r-brownfield-spec.md +254 -0
  5. package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +10 -3
  6. package/{agents → dist/content/agents}/hatch3r-context-rules.md +24 -6
  7. package/{agents → dist/content/agents}/hatch3r-creator.md +78 -39
  8. package/dist/content/agents/hatch3r-dependency-drafter.md +162 -0
  9. package/{agents → dist/content/agents}/hatch3r-devops.md +14 -4
  10. package/{agents → dist/content/agents}/hatch3r-docs-writer.md +11 -1
  11. package/dist/content/agents/hatch3r-edge-case-analyst.md +134 -0
  12. package/dist/content/agents/hatch3r-enhancability.md +192 -0
  13. package/{agents → dist/content/agents}/hatch3r-fixer.md +61 -10
  14. package/dist/content/agents/hatch3r-greenfield-spec.md +256 -0
  15. package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +40 -14
  16. package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +17 -8
  17. package/dist/content/agents/hatch3r-implementer.md +409 -0
  18. package/dist/content/agents/hatch3r-incident-responder.md +96 -0
  19. package/dist/content/agents/hatch3r-learnings-loader.md +377 -0
  20. package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +16 -4
  21. package/dist/content/agents/hatch3r-maintainability.md +183 -0
  22. package/dist/content/agents/hatch3r-pack-installer.md +113 -0
  23. package/dist/content/agents/hatch3r-performance.md +179 -0
  24. package/dist/content/agents/hatch3r-reliability.md +193 -0
  25. package/{agents → dist/content/agents}/hatch3r-researcher.md +30 -7
  26. package/dist/content/agents/hatch3r-reviewer.md +364 -0
  27. package/dist/content/agents/hatch3r-scalability.md +162 -0
  28. package/dist/content/agents/hatch3r-security.md +197 -0
  29. package/dist/content/agents/hatch3r-testability.md +204 -0
  30. package/dist/content/agents/hatch3r-ui.md +175 -0
  31. package/dist/content/agents/hatch3r-ux.md +160 -0
  32. package/{agents → dist/content/agents}/modes/requirements-elicitation.md +1 -1
  33. package/{agents → dist/content/agents}/modes/user-flows.md +2 -2
  34. package/dist/content/agents/shared/clarification-default-block.md +44 -0
  35. package/dist/content/agents/shared/confidence-gate.md +42 -0
  36. package/dist/content/agents/shared/cq-specialist-roster.md +26 -0
  37. package/{agents → dist/content/agents}/shared/efficiency-patterns.md +32 -1
  38. package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
  39. package/{agents → dist/content/agents}/shared/injection-patterns.md +19 -8
  40. package/dist/content/agents/shared/principles.md +60 -0
  41. package/{agents → dist/content/agents}/shared/prompt-structure.md +7 -1
  42. package/{agents → dist/content/agents}/shared/quality-charter.md +73 -9
  43. package/dist/content/agents/shared/quality-specialist-frame.md +141 -0
  44. package/dist/content/agents/shared/rigor-contract.md +151 -0
  45. package/dist/content/agents/shared/severity-mapping.md +92 -0
  46. package/dist/content/agents/shared/triage-vocabulary.md +46 -0
  47. package/{agents → dist/content/agents}/shared/user-content-templates.md +40 -14
  48. package/dist/content/agents/shared/user-question-protocol.md +139 -0
  49. package/{checks → dist/content/checks}/README.md +5 -0
  50. package/{checks → dist/content/checks}/accessibility.md +14 -7
  51. package/{checks → dist/content/checks}/code-quality.md +1 -1
  52. package/{checks → dist/content/checks}/performance.md +7 -4
  53. package/{checks → dist/content/checks}/security.md +6 -6
  54. package/{checks → dist/content/checks}/testing.md +1 -1
  55. package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
  56. package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +41 -14
  57. package/{commands → dist/content/commands}/board/pickup-delegation.md +10 -8
  58. package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
  59. package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
  60. package/{commands → dist/content/commands}/board/pickup-modes.md +1 -0
  61. package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
  62. package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
  63. package/{commands → dist/content/commands}/board/shared-github.md +2 -2
  64. package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
  65. package/{commands → dist/content/commands}/hatch3r-api-spec.md +80 -3
  66. package/dist/content/commands/hatch3r-auth-scaffold.md +250 -0
  67. package/{commands → dist/content/commands}/hatch3r-benchmark.md +91 -8
  68. package/{commands → dist/content/commands}/hatch3r-board-fill.md +104 -18
  69. package/{commands → dist/content/commands}/hatch3r-board-pickup.md +99 -15
  70. package/dist/content/commands/hatch3r-bug-pipeline.md +240 -0
  71. package/{commands → dist/content/commands}/hatch3r-bug-plan.md +84 -8
  72. package/{commands → dist/content/commands}/hatch3r-codebase-map.md +82 -6
  73. package/{commands → dist/content/commands}/hatch3r-create.md +116 -18
  74. package/{commands → dist/content/commands}/hatch3r-debug.md +112 -24
  75. package/dist/content/commands/hatch3r-diagnose.md +238 -0
  76. package/{commands → dist/content/commands}/hatch3r-feature-plan.md +130 -10
  77. package/dist/content/commands/hatch3r-handoff.md +213 -0
  78. package/{commands → dist/content/commands}/hatch3r-healthcheck.md +106 -6
  79. package/dist/content/commands/hatch3r-incident-response.md +228 -0
  80. package/{commands → dist/content/commands}/hatch3r-migration-plan.md +81 -5
  81. package/{commands → dist/content/commands}/hatch3r-onboard.md +100 -9
  82. package/dist/content/commands/hatch3r-pack-install.md +243 -0
  83. package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +114 -31
  84. package/{commands → dist/content/commands}/hatch3r-project-spec.md +85 -9
  85. package/{commands → dist/content/commands}/hatch3r-quick-change.md +115 -20
  86. package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +82 -6
  87. package/dist/content/commands/hatch3r-release.md +401 -0
  88. package/{commands → dist/content/commands}/hatch3r-revision.md +104 -18
  89. package/{commands → dist/content/commands}/hatch3r-roadmap.md +94 -12
  90. package/{commands → dist/content/commands}/hatch3r-security-audit.md +107 -7
  91. package/dist/content/commands/hatch3r-slo-scaffold.md +246 -0
  92. package/dist/content/commands/hatch3r-spec.md +216 -0
  93. package/{commands → dist/content/commands}/hatch3r-test-plan.md +90 -14
  94. package/dist/content/commands/hatch3r-workflow.md +628 -0
  95. package/{commands → dist/content/commands}/revision/revision-delegation.md +8 -7
  96. package/{commands → dist/content/commands}/revision/revision-modes.md +49 -4
  97. package/{commands → dist/content/commands}/revision/revision-quality.md +12 -9
  98. package/dist/content/commands/shared/orchestration-frame.md +119 -0
  99. package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +22 -2
  100. package/dist/content/github-agents/hatch3r-lint-agent.md +66 -0
  101. package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +22 -2
  102. package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +22 -2
  103. package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
  104. package/{hooks → dist/content/hooks}/hatch3r-file-save.md +4 -4
  105. package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
  106. package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
  107. package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +7 -7
  108. package/dist/content/hooks/hatch3r-review-loop-cap.md +52 -0
  109. package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
  110. package/{mcp → dist/content/mcp}/mcp.json +7 -5
  111. package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +16 -3
  112. package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +13 -1
  113. package/dist/content/rules/hatch3r-agent-orchestration-detail.md +250 -0
  114. package/dist/content/rules/hatch3r-agent-orchestration-detail.mdc +245 -0
  115. package/dist/content/rules/hatch3r-agent-orchestration.md +250 -0
  116. package/dist/content/rules/hatch3r-agent-orchestration.mdc +245 -0
  117. package/{rules → dist/content/rules}/hatch3r-ai-evals.md +7 -5
  118. package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +5 -4
  119. package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +7 -3
  120. package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +4 -1
  121. package/dist/content/rules/hatch3r-android-patterns.md +107 -0
  122. package/dist/content/rules/hatch3r-android-patterns.mdc +102 -0
  123. package/dist/content/rules/hatch3r-anti-duplication.md +115 -0
  124. package/dist/content/rules/hatch3r-anti-duplication.mdc +115 -0
  125. package/{rules → dist/content/rules}/hatch3r-api-design.md +5 -1
  126. package/{rules → dist/content/rules}/hatch3r-api-design.mdc +3 -0
  127. package/{rules → dist/content/rules}/hatch3r-api-versioning.md +3 -1
  128. package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
  129. package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +5 -2
  130. package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +2 -0
  131. package/{rules → dist/content/rules}/hatch3r-browser-verification.md +8 -10
  132. package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +8 -10
  133. package/dist/content/rules/hatch3r-capability-matrix.md +108 -0
  134. package/dist/content/rules/hatch3r-capability-matrix.mdc +108 -0
  135. package/{rules → dist/content/rules}/hatch3r-ci-cd.md +9 -1
  136. package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +7 -0
  137. package/dist/content/rules/hatch3r-clarification-default.md +73 -0
  138. package/dist/content/rules/hatch3r-clarification-default.mdc +73 -0
  139. package/{rules → dist/content/rules}/hatch3r-code-standards.md +23 -47
  140. package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +22 -46
  141. package/{rules → dist/content/rules}/hatch3r-component-conventions.md +4 -1
  142. package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +3 -0
  143. package/{rules → dist/content/rules}/hatch3r-container-hardening.md +13 -3
  144. package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +10 -1
  145. package/{rules → dist/content/rules}/hatch3r-contract-testing.md +3 -1
  146. package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
  147. package/dist/content/rules/hatch3r-cost-visibility.md +135 -0
  148. package/dist/content/rules/hatch3r-cost-visibility.mdc +135 -0
  149. package/dist/content/rules/hatch3r-cq-rule-frame.md +54 -0
  150. package/dist/content/rules/hatch3r-cq-rule-frame.mdc +49 -0
  151. package/{rules → dist/content/rules}/hatch3r-data-classification.md +5 -2
  152. package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +3 -1
  153. package/{rules → dist/content/rules}/hatch3r-deep-context.md +14 -14
  154. package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +13 -13
  155. package/{rules → dist/content/rules}/hatch3r-dependency-management.md +18 -4
  156. package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +16 -3
  157. package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +4 -2
  158. package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
  159. package/dist/content/rules/hatch3r-dotnet-patterns.md +104 -0
  160. package/dist/content/rules/hatch3r-dotnet-patterns.mdc +99 -0
  161. package/dist/content/rules/hatch3r-edge-case-discipline.md +65 -0
  162. package/dist/content/rules/hatch3r-edge-case-discipline.mdc +65 -0
  163. package/dist/content/rules/hatch3r-enhancability.md +147 -0
  164. package/dist/content/rules/hatch3r-enhancability.mdc +142 -0
  165. package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +3 -1
  166. package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
  167. package/dist/content/rules/hatch3r-fan-out-discipline.md +91 -0
  168. package/dist/content/rules/hatch3r-fan-out-discipline.mdc +91 -0
  169. package/{rules → dist/content/rules}/hatch3r-feature-flags.md +2 -0
  170. package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +2 -0
  171. package/dist/content/rules/hatch3r-flutter-patterns.md +88 -0
  172. package/dist/content/rules/hatch3r-flutter-patterns.mdc +83 -0
  173. package/{rules → dist/content/rules}/hatch3r-git-conventions.md +5 -2
  174. package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +2 -0
  175. package/dist/content/rules/hatch3r-go-patterns.md +98 -0
  176. package/dist/content/rules/hatch3r-go-patterns.mdc +93 -0
  177. package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +14 -4
  178. package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +13 -3
  179. package/{rules → dist/content/rules}/hatch3r-i18n.md +3 -1
  180. package/{rules → dist/content/rules}/hatch3r-i18n.mdc +2 -0
  181. package/dist/content/rules/hatch3r-iteration-summary.md +108 -0
  182. package/dist/content/rules/hatch3r-iteration-summary.mdc +108 -0
  183. package/dist/content/rules/hatch3r-learning-system.md +202 -0
  184. package/dist/content/rules/hatch3r-learning-system.mdc +202 -0
  185. package/dist/content/rules/hatch3r-maintainability.md +157 -0
  186. package/dist/content/rules/hatch3r-maintainability.mdc +152 -0
  187. package/{rules → dist/content/rules}/hatch3r-migrations.md +4 -2
  188. package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
  189. package/{rules → dist/content/rules}/hatch3r-observability-logging.md +2 -1
  190. package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
  191. package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +2 -1
  192. package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
  193. package/{rules → dist/content/rules}/hatch3r-observability-tracing.md +46 -36
  194. package/{rules → dist/content/rules}/hatch3r-observability-tracing.mdc +45 -35
  195. package/{rules → dist/content/rules}/hatch3r-operability.md +3 -1
  196. package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
  197. package/{rules → dist/content/rules}/hatch3r-passkey-server.md +4 -2
  198. package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
  199. package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +3 -1
  200. package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +3 -1
  201. package/dist/content/rules/hatch3r-php-laravel-patterns.md +109 -0
  202. package/dist/content/rules/hatch3r-php-laravel-patterns.mdc +104 -0
  203. package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +5 -1
  204. package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +3 -0
  205. package/dist/content/rules/hatch3r-proof-model.md +131 -0
  206. package/dist/content/rules/hatch3r-proof-model.mdc +131 -0
  207. package/dist/content/rules/hatch3r-python-patterns.md +70 -0
  208. package/dist/content/rules/hatch3r-python-patterns.mdc +65 -0
  209. package/dist/content/rules/hatch3r-react-native-patterns.md +83 -0
  210. package/dist/content/rules/hatch3r-react-native-patterns.mdc +78 -0
  211. package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +3 -1
  212. package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
  213. package/dist/content/rules/hatch3r-reviewer-calibration.md +84 -0
  214. package/dist/content/rules/hatch3r-reviewer-calibration.mdc +84 -0
  215. package/dist/content/rules/hatch3r-right-sizing.md +68 -0
  216. package/dist/content/rules/hatch3r-right-sizing.mdc +66 -0
  217. package/dist/content/rules/hatch3r-ruby-rails-patterns.md +111 -0
  218. package/dist/content/rules/hatch3r-ruby-rails-patterns.mdc +106 -0
  219. package/dist/content/rules/hatch3r-rust-patterns.md +107 -0
  220. package/dist/content/rules/hatch3r-rust-patterns.mdc +102 -0
  221. package/dist/content/rules/hatch3r-scalability.md +137 -0
  222. package/dist/content/rules/hatch3r-scalability.mdc +132 -0
  223. package/{rules → dist/content/rules}/hatch3r-secrets-management.md +12 -2
  224. package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +9 -0
  225. package/{rules → dist/content/rules}/hatch3r-security-patterns.md +38 -35
  226. package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +36 -34
  227. package/dist/content/rules/hatch3r-security.md +97 -0
  228. package/dist/content/rules/hatch3r-security.mdc +92 -0
  229. package/dist/content/rules/hatch3r-swiftui-patterns.md +98 -0
  230. package/dist/content/rules/hatch3r-swiftui-patterns.mdc +93 -0
  231. package/dist/content/rules/hatch3r-testability.md +115 -0
  232. package/dist/content/rules/hatch3r-testability.mdc +110 -0
  233. package/{rules → dist/content/rules}/hatch3r-testing.md +6 -2
  234. package/{rules → dist/content/rules}/hatch3r-testing.mdc +3 -0
  235. package/{rules → dist/content/rules}/hatch3r-theming.md +3 -1
  236. package/{rules → dist/content/rules}/hatch3r-theming.mdc +2 -0
  237. package/dist/content/rules/hatch3r-tool-currency.md +91 -0
  238. package/dist/content/rules/hatch3r-tool-currency.mdc +86 -0
  239. package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +30 -32
  240. package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +28 -31
  241. package/dist/content/rules/hatch3r-typescript-patterns.md +58 -0
  242. package/dist/content/rules/hatch3r-typescript-patterns.mdc +53 -0
  243. package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +13 -5
  244. package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +10 -3
  245. package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +11 -9
  246. package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +7 -5
  247. package/dist/content/skills/hatch3r-adhoc-orchestrate/SKILL.md +131 -0
  248. package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +4 -6
  249. package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +27 -2
  250. package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +5 -8
  251. package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +16 -18
  252. package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +34 -31
  253. package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +17 -19
  254. package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +45 -15
  255. package/dist/content/skills/hatch3r-browser-verify/SKILL.md +307 -0
  256. package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +16 -3
  257. package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +17 -7
  258. package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +34 -2
  259. package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +34 -2
  260. package/dist/content/skills/hatch3r-cli-gh/SKILL.md +139 -0
  261. package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +43 -9
  262. package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +36 -4
  263. package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +376 -0
  264. package/dist/content/skills/hatch3r-containerize/SKILL.md +157 -0
  265. package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +27 -9
  266. package/dist/content/skills/hatch3r-cost-tracking/SKILL.md +164 -0
  267. package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +9 -13
  268. package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +29 -9
  269. package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +4 -8
  270. package/dist/content/skills/hatch3r-docs-writing/SKILL.md +159 -0
  271. package/dist/content/skills/hatch3r-enhancability-verify/SKILL.md +152 -0
  272. package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +54 -4
  273. package/dist/content/skills/hatch3r-feedback/SKILL.md +103 -0
  274. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +14 -12
  275. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
  276. package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
  277. package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +12 -15
  278. package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +5 -8
  279. package/{commands/hatch3r-hooks.md → dist/content/skills/hatch3r-hooks/SKILL.md} +59 -148
  280. package/dist/content/skills/hatch3r-incident-response/SKILL.md +174 -0
  281. package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +15 -4
  282. package/dist/content/skills/hatch3r-learn/SKILL.md +317 -0
  283. package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +6 -7
  284. package/dist/content/skills/hatch3r-maintainability-verify/SKILL.md +146 -0
  285. package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +9 -8
  286. package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +17 -13
  287. package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +14 -10
  288. package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +8 -11
  289. package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +8 -7
  290. package/dist/content/skills/hatch3r-recipe/SKILL.md +174 -0
  291. package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +7 -8
  292. package/dist/content/skills/hatch3r-release/SKILL.md +265 -0
  293. package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +9 -5
  294. package/{commands/hatch3r-report.md → dist/content/skills/hatch3r-report/SKILL.md} +21 -18
  295. package/dist/content/skills/hatch3r-scalability-verify/SKILL.md +145 -0
  296. package/dist/content/skills/hatch3r-security-verify/SKILL.md +144 -0
  297. package/dist/content/skills/hatch3r-team-convention-author/SKILL.md +126 -0
  298. package/dist/content/skills/hatch3r-testability-verify/SKILL.md +147 -0
  299. package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +20 -12
  300. package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +12 -8
  301. package/package.json +53 -46
  302. package/agents/hatch3r-a11y-auditor.md +0 -159
  303. package/agents/hatch3r-dependency-auditor.md +0 -219
  304. package/agents/hatch3r-implementer.md +0 -278
  305. package/agents/hatch3r-learnings-loader.md +0 -343
  306. package/agents/hatch3r-perf-profiler.md +0 -166
  307. package/agents/hatch3r-reviewer.md +0 -314
  308. package/agents/hatch3r-security-auditor.md +0 -180
  309. package/agents/hatch3r-test-writer.md +0 -171
  310. package/agents/shared/user-question-protocol.md +0 -95
  311. package/commands/hatch3r-agent-customize.md +0 -201
  312. package/commands/hatch3r-command-customize.md +0 -113
  313. package/commands/hatch3r-context-health.md +0 -147
  314. package/commands/hatch3r-cost-tracking.md +0 -163
  315. package/commands/hatch3r-dep-audit.md +0 -188
  316. package/commands/hatch3r-handoff.md +0 -133
  317. package/commands/hatch3r-learn.md +0 -312
  318. package/commands/hatch3r-recipe.md +0 -194
  319. package/commands/hatch3r-release.md +0 -350
  320. package/commands/hatch3r-rule-customize.md +0 -133
  321. package/commands/hatch3r-skill-customize.md +0 -112
  322. package/commands/hatch3r-workflow.md +0 -504
  323. package/dist/cli/index.d.ts +0 -2
  324. package/dist/cli/index.js.map +0 -1
  325. package/github-agents/hatch3r-lint-agent.md +0 -46
  326. package/prompts/hatch3r-bug-triage.md +0 -158
  327. package/prompts/hatch3r-code-review.md +0 -134
  328. package/prompts/hatch3r-pr-description.md +0 -176
  329. package/rules/hatch3r-agent-orchestration-detail.md +0 -211
  330. package/rules/hatch3r-agent-orchestration-detail.mdc +0 -206
  331. package/rules/hatch3r-agent-orchestration.md +0 -376
  332. package/rules/hatch3r-agent-orchestration.mdc +0 -371
  333. package/rules/hatch3r-iteration-summary.md +0 -90
  334. package/rules/hatch3r-iteration-summary.mdc +0 -85
  335. package/rules/hatch3r-learning-consult.md +0 -42
  336. package/rules/hatch3r-learning-consult.mdc +0 -38
  337. package/rules/hatch3r-observability-tracing-detail.md +0 -20
  338. package/rules/hatch3r-observability-tracing-detail.mdc +0 -14
  339. package/rules/hatch3r-observability.md +0 -20
  340. package/rules/hatch3r-observability.mdc +0 -14
  341. package/skills/hatch3r-agent-customize/SKILL.md +0 -23
  342. package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
  343. package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
  344. package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
  345. package/skills/hatch3r-cli-bat/SKILL.md +0 -85
  346. package/skills/hatch3r-cli-comby/SKILL.md +0 -85
  347. package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
  348. package/skills/hatch3r-cli-delta/SKILL.md +0 -86
  349. package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
  350. package/skills/hatch3r-cli-docker/SKILL.md +0 -89
  351. package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
  352. package/skills/hatch3r-cli-gh/SKILL.md +0 -90
  353. package/skills/hatch3r-cli-glab/SKILL.md +0 -89
  354. package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
  355. package/skills/hatch3r-cli-llm/SKILL.md +0 -84
  356. package/skills/hatch3r-cli-miller/SKILL.md +0 -84
  357. package/skills/hatch3r-cli-mods/SKILL.md +0 -84
  358. package/skills/hatch3r-cli-overview/SKILL.md +0 -60
  359. package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
  360. package/skills/hatch3r-cli-podman/SKILL.md +0 -84
  361. package/skills/hatch3r-cli-qsv/SKILL.md +0 -91
  362. package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
  363. package/skills/hatch3r-cli-sd/SKILL.md +0 -85
  364. package/skills/hatch3r-cli-stagehand/SKILL.md +0 -111
  365. package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
  366. package/skills/hatch3r-cli-yq/SKILL.md +0 -85
  367. package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
  368. package/skills/hatch3r-command-customize/SKILL.md +0 -23
  369. package/skills/hatch3r-cost-tracking/SKILL.md +0 -92
  370. package/skills/hatch3r-incident-response/SKILL.md +0 -115
  371. package/skills/hatch3r-recipe/SKILL.md +0 -91
  372. package/skills/hatch3r-release/SKILL.md +0 -120
  373. package/skills/hatch3r-rule-customize/SKILL.md +0 -23
  374. package/skills/hatch3r-skill-customize/SKILL.md +0 -23
  375. /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
  376. /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
  377. /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
  378. /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
  379. /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
  380. /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
  381. /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
  382. /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
  383. /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
  384. /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
  385. /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
  386. /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
  387. /package/{agents → dist/content/agents}/modes/regression.md +0 -0
  388. /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
  389. /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
  390. /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
  391. /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
  392. /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
  393. /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
  394. /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
  395. /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
  396. /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
- ```