devflow-kit 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/CHANGELOG.md +167 -29
  2. package/LICENSE +1 -1
  3. package/README.md +179 -310
  4. package/dist/cli.js +3 -1
  5. package/dist/commands/init.d.ts +21 -0
  6. package/dist/commands/init.js +311 -576
  7. package/dist/commands/list.d.ts +3 -0
  8. package/dist/commands/list.js +20 -0
  9. package/dist/commands/uninstall.d.ts +10 -0
  10. package/dist/commands/uninstall.js +351 -78
  11. package/dist/plugins.d.ts +46 -0
  12. package/dist/plugins.js +162 -0
  13. package/dist/utils/cli.d.ts +5 -0
  14. package/dist/utils/cli.js +14 -0
  15. package/dist/utils/installer.d.ts +41 -0
  16. package/dist/utils/installer.js +177 -0
  17. package/dist/utils/paths.d.ts +10 -0
  18. package/dist/utils/paths.js +23 -3
  19. package/dist/utils/post-install.d.ts +68 -0
  20. package/dist/utils/post-install.js +427 -0
  21. package/dist/utils/safe-delete-install.d.ts +22 -0
  22. package/dist/utils/safe-delete-install.js +156 -0
  23. package/dist/utils/safe-delete.d.ts +12 -0
  24. package/dist/utils/safe-delete.js +83 -0
  25. package/package.json +18 -8
  26. package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
  27. package/plugins/devflow-audit-claude/README.md +46 -0
  28. package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
  29. package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
  30. package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
  31. package/plugins/devflow-code-review/README.md +73 -0
  32. package/plugins/devflow-code-review/agents/git.md +272 -0
  33. package/plugins/devflow-code-review/agents/reviewer.md +119 -0
  34. package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
  35. package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
  36. package/plugins/devflow-code-review/commands/code-review.md +141 -0
  37. package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
  38. package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
  39. package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
  40. package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
  41. package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
  42. package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
  43. package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
  44. package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
  45. package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
  46. package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
  47. package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
  48. package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
  49. package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
  50. package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
  51. package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
  52. package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
  53. package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
  54. package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
  55. package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
  56. package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
  57. package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
  58. package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
  59. package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
  60. package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
  61. package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
  62. package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
  63. package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
  64. package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
  65. package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
  66. package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
  67. package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
  68. package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
  69. package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
  70. package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
  71. package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
  72. package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
  73. package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
  74. package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
  75. package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
  76. package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
  77. package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
  78. package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
  79. package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
  80. package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
  81. package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
  82. package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
  83. package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
  84. package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
  85. package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
  86. package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
  87. package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
  88. package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
  89. package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
  90. package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
  91. package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
  92. package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
  93. package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
  94. package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
  95. package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
  96. package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
  97. package/plugins/devflow-core-skills/.claude-plugin/plugin.json +27 -0
  98. package/plugins/devflow-core-skills/README.md +50 -0
  99. package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
  100. package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
  101. package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
  102. package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
  103. package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
  104. package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
  105. package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
  106. package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
  107. package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
  108. package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
  109. package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +134 -0
  110. package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
  111. package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
  112. package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
  113. package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
  114. package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
  115. package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
  116. package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
  117. package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
  118. package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
  119. package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
  120. package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
  121. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
  122. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
  123. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
  124. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
  125. package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
  126. package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
  127. package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
  128. package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
  129. package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
  130. package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
  131. package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
  132. package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
  133. package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
  134. package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
  135. package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
  136. package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
  137. package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
  138. package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
  139. package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
  140. package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
  141. package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
  142. package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
  143. package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
  144. package/plugins/devflow-debug/README.md +65 -0
  145. package/plugins/devflow-debug/agents/git.md +272 -0
  146. package/plugins/devflow-debug/commands/debug-teams.md +231 -0
  147. package/plugins/devflow-debug/commands/debug.md +160 -0
  148. package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
  149. package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
  150. package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
  151. package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
  152. package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
  153. package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
  154. package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
  155. package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
  156. package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
  157. package/plugins/devflow-implement/README.md +71 -0
  158. package/plugins/devflow-implement/agents/coder.md +122 -0
  159. package/plugins/devflow-implement/agents/git.md +272 -0
  160. package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
  161. package/plugins/devflow-implement/agents/shepherd.md +94 -0
  162. package/plugins/devflow-implement/agents/simplifier.md +62 -0
  163. package/plugins/devflow-implement/agents/skimmer.md +88 -0
  164. package/plugins/devflow-implement/agents/synthesizer.md +204 -0
  165. package/plugins/devflow-implement/agents/validator.md +86 -0
  166. package/plugins/devflow-implement/commands/implement-teams.md +608 -0
  167. package/plugins/devflow-implement/commands/implement.md +426 -0
  168. package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
  169. package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
  170. package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
  171. package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
  172. package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
  173. package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
  174. package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
  175. package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
  176. package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
  177. package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
  178. package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
  179. package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
  180. package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
  181. package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
  182. package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
  183. package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
  184. package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
  185. package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
  186. package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
  187. package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
  188. package/plugins/devflow-resolve/README.md +65 -0
  189. package/plugins/devflow-resolve/agents/git.md +272 -0
  190. package/plugins/devflow-resolve/agents/resolver.md +131 -0
  191. package/plugins/devflow-resolve/agents/simplifier.md +62 -0
  192. package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
  193. package/plugins/devflow-resolve/commands/resolve.md +237 -0
  194. package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
  195. package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
  196. package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
  197. package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
  198. package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
  199. package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
  200. package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
  201. package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
  202. package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
  203. package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
  204. package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
  205. package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
  206. package/plugins/devflow-self-review/README.md +38 -0
  207. package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
  208. package/plugins/devflow-self-review/agents/simplifier.md +62 -0
  209. package/plugins/devflow-self-review/agents/validator.md +86 -0
  210. package/plugins/devflow-self-review/commands/self-review.md +126 -0
  211. package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
  212. package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
  213. package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
  214. package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
  215. package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
  216. package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
  217. package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
  218. package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
  219. package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
  220. package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
  221. package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
  222. package/plugins/devflow-specify/README.md +46 -0
  223. package/plugins/devflow-specify/agents/skimmer.md +88 -0
  224. package/plugins/devflow-specify/agents/synthesizer.md +204 -0
  225. package/plugins/devflow-specify/commands/specify-teams.md +314 -0
  226. package/plugins/devflow-specify/commands/specify.md +179 -0
  227. package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
  228. package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
  229. package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
  230. package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
  231. package/scripts/hooks/background-memory-update.sh +167 -0
  232. package/scripts/hooks/pre-compact-memory.sh +81 -0
  233. package/scripts/hooks/session-start-memory.sh +84 -0
  234. package/scripts/hooks/stop-update-memory.sh +81 -0
  235. package/shared/agents/coder.md +122 -0
  236. package/shared/agents/git.md +272 -0
  237. package/shared/agents/resolver.md +131 -0
  238. package/shared/agents/reviewer.md +119 -0
  239. package/shared/agents/scrutinizer.md +80 -0
  240. package/shared/agents/shepherd.md +94 -0
  241. package/shared/agents/simplifier.md +62 -0
  242. package/shared/agents/skimmer.md +88 -0
  243. package/shared/agents/synthesizer.md +204 -0
  244. package/shared/agents/validator.md +86 -0
  245. package/shared/skills/accessibility/SKILL.md +229 -0
  246. package/shared/skills/accessibility/references/detection.md +171 -0
  247. package/shared/skills/accessibility/references/patterns.md +670 -0
  248. package/shared/skills/accessibility/references/violations.md +419 -0
  249. package/shared/skills/agent-teams/SKILL.md +124 -0
  250. package/shared/skills/agent-teams/references/cleanup.md +104 -0
  251. package/shared/skills/agent-teams/references/communication.md +122 -0
  252. package/shared/skills/agent-teams/references/team-patterns.md +217 -0
  253. package/shared/skills/architecture-patterns/SKILL.md +153 -0
  254. package/shared/skills/architecture-patterns/references/detection.md +337 -0
  255. package/shared/skills/architecture-patterns/references/patterns.md +873 -0
  256. package/shared/skills/architecture-patterns/references/violations.md +575 -0
  257. package/shared/skills/complexity-patterns/SKILL.md +143 -0
  258. package/shared/skills/complexity-patterns/references/detection.md +264 -0
  259. package/shared/skills/complexity-patterns/references/patterns.md +487 -0
  260. package/shared/skills/complexity-patterns/references/violations.md +361 -0
  261. package/shared/skills/consistency-patterns/SKILL.md +140 -0
  262. package/shared/skills/consistency-patterns/references/detection.md +207 -0
  263. package/shared/skills/consistency-patterns/references/patterns.md +202 -0
  264. package/shared/skills/consistency-patterns/references/violations.md +213 -0
  265. package/shared/skills/core-patterns/SKILL.md +162 -0
  266. package/shared/skills/core-patterns/references/checklist.md +276 -0
  267. package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
  268. package/shared/skills/core-patterns/references/detection.md +303 -0
  269. package/shared/skills/core-patterns/references/patterns.md +576 -0
  270. package/shared/skills/core-patterns/references/violations.md +369 -0
  271. package/shared/skills/database-patterns/SKILL.md +134 -0
  272. package/shared/skills/database-patterns/references/detection.md +208 -0
  273. package/shared/skills/database-patterns/references/patterns.md +394 -0
  274. package/shared/skills/database-patterns/references/violations.md +332 -0
  275. package/shared/skills/dependencies-patterns/SKILL.md +141 -0
  276. package/shared/skills/dependencies-patterns/references/detection.md +181 -0
  277. package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
  278. package/shared/skills/dependencies-patterns/references/violations.md +247 -0
  279. package/shared/skills/docs-framework/SKILL.md +134 -0
  280. package/shared/skills/docs-framework/references/patterns.md +346 -0
  281. package/shared/skills/docs-framework/references/violations.md +221 -0
  282. package/shared/skills/documentation-patterns/SKILL.md +125 -0
  283. package/shared/skills/documentation-patterns/references/detection.md +190 -0
  284. package/shared/skills/documentation-patterns/references/patterns.md +189 -0
  285. package/shared/skills/documentation-patterns/references/violations.md +163 -0
  286. package/shared/skills/frontend-design/SKILL.md +254 -0
  287. package/shared/skills/frontend-design/references/detection.md +184 -0
  288. package/shared/skills/frontend-design/references/patterns.md +511 -0
  289. package/shared/skills/frontend-design/references/violations.md +453 -0
  290. package/shared/skills/git-safety/SKILL.md +122 -0
  291. package/shared/skills/git-safety/references/detection.md +290 -0
  292. package/shared/skills/git-safety/references/patterns.md +289 -0
  293. package/shared/skills/git-safety/references/violations.md +18 -0
  294. package/shared/skills/git-workflow/SKILL.md +158 -0
  295. package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
  296. package/shared/skills/git-workflow/references/commit-violations.md +77 -0
  297. package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
  298. package/shared/skills/git-workflow/references/pr-violations.md +96 -0
  299. package/shared/skills/github-patterns/SKILL.md +153 -0
  300. package/shared/skills/github-patterns/references/patterns.md +572 -0
  301. package/shared/skills/github-patterns/references/violations.md +298 -0
  302. package/shared/skills/implementation-patterns/SKILL.md +162 -0
  303. package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
  304. package/shared/skills/implementation-patterns/references/violations.md +483 -0
  305. package/shared/skills/input-validation/SKILL.md +148 -0
  306. package/shared/skills/input-validation/references/detection.md +283 -0
  307. package/shared/skills/input-validation/references/patterns.md +361 -0
  308. package/shared/skills/input-validation/references/violations.md +224 -0
  309. package/shared/skills/performance-patterns/SKILL.md +154 -0
  310. package/shared/skills/performance-patterns/references/detection.md +351 -0
  311. package/shared/skills/performance-patterns/references/patterns.md +503 -0
  312. package/shared/skills/performance-patterns/references/violations.md +354 -0
  313. package/shared/skills/react/SKILL.md +276 -0
  314. package/shared/skills/react/references/patterns.md +1331 -0
  315. package/shared/skills/react/references/violations.md +565 -0
  316. package/shared/skills/regression-patterns/SKILL.md +146 -0
  317. package/shared/skills/regression-patterns/references/detection.md +237 -0
  318. package/shared/skills/regression-patterns/references/patterns.md +226 -0
  319. package/shared/skills/regression-patterns/references/violations.md +225 -0
  320. package/shared/skills/review-methodology/SKILL.md +119 -0
  321. package/shared/skills/review-methodology/references/patterns.md +186 -0
  322. package/shared/skills/review-methodology/references/report-template.md +142 -0
  323. package/shared/skills/review-methodology/references/violations.md +125 -0
  324. package/shared/skills/security-patterns/SKILL.md +156 -0
  325. package/shared/skills/security-patterns/references/detection.md +287 -0
  326. package/shared/skills/security-patterns/references/patterns.md +507 -0
  327. package/shared/skills/security-patterns/references/violations.md +237 -0
  328. package/shared/skills/self-review/SKILL.md +149 -0
  329. package/shared/skills/self-review/references/patterns.md +405 -0
  330. package/shared/skills/self-review/references/report-template.md +253 -0
  331. package/shared/skills/self-review/references/violations.md +308 -0
  332. package/shared/skills/test-patterns/SKILL.md +183 -0
  333. package/shared/skills/test-patterns/references/detection.md +149 -0
  334. package/shared/skills/test-patterns/references/patterns.md +220 -0
  335. package/shared/skills/test-patterns/references/report-template.md +108 -0
  336. package/shared/skills/test-patterns/references/violations.md +221 -0
  337. package/shared/skills/typescript/SKILL.md +176 -0
  338. package/shared/skills/typescript/references/patterns.md +1105 -0
  339. package/shared/skills/typescript/references/violations.md +433 -0
  340. package/src/templates/claudeignore.template +188 -0
  341. package/src/templates/managed-settings.json +146 -0
  342. package/src/templates/settings.json +59 -0
  343. package/dist/cli.d.ts.map +0 -1
  344. package/dist/cli.js.map +0 -1
  345. package/dist/commands/init.d.ts.map +0 -1
  346. package/dist/commands/init.js.map +0 -1
  347. package/dist/commands/uninstall.d.ts.map +0 -1
  348. package/dist/commands/uninstall.js.map +0 -1
  349. package/dist/utils/git.d.ts.map +0 -1
  350. package/dist/utils/git.js.map +0 -1
  351. package/dist/utils/paths.d.ts.map +0 -1
  352. package/dist/utils/paths.js.map +0 -1
  353. package/src/claude/CLAUDE.md +0 -400
  354. package/src/claude/agents/devflow/audit-architecture.md +0 -132
  355. package/src/claude/agents/devflow/audit-complexity.md +0 -132
  356. package/src/claude/agents/devflow/audit-database.md +0 -132
  357. package/src/claude/agents/devflow/audit-dependencies.md +0 -132
  358. package/src/claude/agents/devflow/audit-documentation.md +0 -132
  359. package/src/claude/agents/devflow/audit-performance.md +0 -256
  360. package/src/claude/agents/devflow/audit-security.md +0 -259
  361. package/src/claude/agents/devflow/audit-tests.md +0 -132
  362. package/src/claude/agents/devflow/audit-typescript.md +0 -132
  363. package/src/claude/agents/devflow/brainstorm.md +0 -279
  364. package/src/claude/agents/devflow/catch-up.md +0 -345
  365. package/src/claude/agents/devflow/code-review.md +0 -307
  366. package/src/claude/agents/devflow/commit.md +0 -380
  367. package/src/claude/agents/devflow/debug.md +0 -476
  368. package/src/claude/agents/devflow/design.md +0 -491
  369. package/src/claude/agents/devflow/get-issue.md +0 -286
  370. package/src/claude/agents/devflow/pr-comments.md +0 -285
  371. package/src/claude/agents/devflow/project-state.md +0 -419
  372. package/src/claude/agents/devflow/pull-request.md +0 -493
  373. package/src/claude/agents/devflow/release.md +0 -1137
  374. package/src/claude/agents/devflow/tech-debt.md +0 -338
  375. package/src/claude/commands/devflow/brainstorm.md +0 -68
  376. package/src/claude/commands/devflow/breakdown.md +0 -125
  377. package/src/claude/commands/devflow/catch-up.md +0 -29
  378. package/src/claude/commands/devflow/code-review.md +0 -237
  379. package/src/claude/commands/devflow/commit.md +0 -17
  380. package/src/claude/commands/devflow/debug.md +0 -56
  381. package/src/claude/commands/devflow/design.md +0 -82
  382. package/src/claude/commands/devflow/devlog.md +0 -408
  383. package/src/claude/commands/devflow/get-issue.md +0 -16
  384. package/src/claude/commands/devflow/implement.md +0 -100
  385. package/src/claude/commands/devflow/plan.md +0 -223
  386. package/src/claude/commands/devflow/pull-request.md +0 -20
  387. package/src/claude/commands/devflow/release.md +0 -251
  388. package/src/claude/commands/devflow/resolve-comments.md +0 -583
  389. package/src/claude/scripts/statusline.sh +0 -47
  390. package/src/claude/settings.json +0 -6
  391. package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
  392. package/src/claude/skills/devflow/debug/SKILL.md +0 -119
  393. package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
  394. package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
  395. package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
  396. package/src/claude/skills/devflow/research/SKILL.md +0 -138
  397. package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
@@ -0,0 +1,237 @@
1
+ # Regression Detection Reference
2
+
3
+ Bash commands and techniques for detecting regressions during code review.
4
+
5
+ ---
6
+
7
+ ## Export Comparison
8
+
9
+ ### Compare Module Exports
10
+
11
+ ```bash
12
+ # List exports in main branch
13
+ git show main:src/index.ts | grep -E "^export" > /tmp/exports_before.txt
14
+
15
+ # List exports in current branch
16
+ grep -E "^export" src/index.ts > /tmp/exports_after.txt
17
+
18
+ # Find removed exports
19
+ diff /tmp/exports_before.txt /tmp/exports_after.txt | grep "^<"
20
+ ```
21
+
22
+ ### Find All Removed Exports Across Files
23
+
24
+ ```bash
25
+ # Get list of changed .ts files
26
+ git diff main...HEAD --name-only --diff-filter=M "*.ts" | while read file; do
27
+ echo "=== $file ==="
28
+ diff <(git show main:"$file" 2>/dev/null | grep "^export") \
29
+ <(cat "$file" | grep "^export") | grep "^<" || echo "(no removals)"
30
+ done
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Function Usage Analysis
36
+
37
+ ### Find Removed Function Calls
38
+
39
+ ```bash
40
+ # Check if function is still called
41
+ git show main:src/*.ts | grep "oldFunction" | wc -l # Before: 15
42
+ grep -r "oldFunction" src/*.ts | wc -l # After: 3 (12 removed!)
43
+ ```
44
+
45
+ ### Verify All Consumers Updated
46
+
47
+ ```bash
48
+ # Find all imports of changed module
49
+ grep -rn "from './changed-module'" --include="*.ts"
50
+
51
+ # Check each importer for usage of changed exports
52
+ for file in $(grep -l "from './changed-module'" src/**/*.ts); do
53
+ echo "=== $file ==="
54
+ grep -n "changedExport\|renamedFunction" "$file"
55
+ done
56
+ ```
57
+
58
+ ### Find Incomplete Migrations
59
+
60
+ ```bash
61
+ # Count usages of old vs new API
62
+ echo "Old API usages:"
63
+ grep -r "oldFunction" src/ --include="*.ts" | wc -l
64
+
65
+ echo "New API usages:"
66
+ grep -r "newFunction" src/ --include="*.ts" | wc -l
67
+
68
+ # List files still using old API
69
+ grep -rl "oldFunction" src/ --include="*.ts"
70
+ ```
71
+
72
+ ---
73
+
74
+ ## File Structure Comparison
75
+
76
+ ### Compare File Trees
77
+
78
+ ```bash
79
+ # Compare file structure
80
+ diff <(git ls-tree -r --name-only main src/) \
81
+ <(git ls-tree -r --name-only HEAD src/)
82
+ ```
83
+
84
+ ### Find Deleted Files
85
+
86
+ ```bash
87
+ # Find removed files
88
+ git diff main...HEAD --name-status | grep "^D"
89
+
90
+ # Find removed test files specifically
91
+ git diff main...HEAD --name-status | grep "^D.*test"
92
+
93
+ # Find removed type definition files
94
+ git diff main...HEAD --name-status | grep "^D.*\.d\.ts"
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Change Analysis
100
+
101
+ ### Find Large Deletions
102
+
103
+ ```bash
104
+ # Find files with significant deletions
105
+ git diff main...HEAD --stat | grep -E "^\s+-" | head -20
106
+
107
+ # Show deletion-heavy changes
108
+ git diff main...HEAD --numstat | awk '$2 > 50 {print $3 ": +" $1 " -" $2}'
109
+ ```
110
+
111
+ ### Find TODO/FIXME Additions
112
+
113
+ ```bash
114
+ # Find incomplete work markers
115
+ git diff main...HEAD | grep "^\+.*TODO\|^\+.*FIXME"
116
+
117
+ # Count new vs resolved TODOs
118
+ echo "New TODOs:"
119
+ git diff main...HEAD | grep "^\+.*TODO" | wc -l
120
+
121
+ echo "Resolved TODOs:"
122
+ git diff main...HEAD | grep "^-.*TODO" | wc -l
123
+ ```
124
+
125
+ ---
126
+
127
+ ## API Endpoint Analysis
128
+
129
+ ### Find Removed Routes
130
+
131
+ ```bash
132
+ # Compare route definitions
133
+ diff <(git show main:src/routes/*.ts | grep -E "app\.(get|post|put|delete|patch)") \
134
+ <(cat src/routes/*.ts | grep -E "app\.(get|post|put|delete|patch)")
135
+
136
+ # Find removed Express routes
137
+ git diff main...HEAD src/routes/ | grep "^-.*app\.\(get\|post\|put\|delete\)"
138
+ ```
139
+
140
+ ### Find Removed Event Handlers
141
+
142
+ ```bash
143
+ # Compare event handlers
144
+ diff <(git show main:src/**/*.ts | grep -E "\.on\(|\.addEventListener\(") \
145
+ <(cat src/**/*.ts | grep -E "\.on\(|\.addEventListener\(") | grep "^<"
146
+ ```
147
+
148
+ ---
149
+
150
+ ## CLI Option Analysis
151
+
152
+ ### Compare CLI Options
153
+
154
+ ```bash
155
+ # Find commander/yargs options before
156
+ git show main:src/cli.ts | grep -E "\.option\(|\.command\(" > /tmp/cli_before.txt
157
+
158
+ # Find options after
159
+ grep -E "\.option\(|\.command\(" src/cli.ts > /tmp/cli_after.txt
160
+
161
+ # Compare
162
+ diff /tmp/cli_before.txt /tmp/cli_after.txt | grep "^<"
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Return Type Analysis
168
+
169
+ ### Find Changed Return Types
170
+
171
+ ```bash
172
+ # Extract function signatures
173
+ git show main:src/services/*.ts | grep -E "function.*\):" > /tmp/sigs_before.txt
174
+ grep -E "function.*\):" src/services/*.ts > /tmp/sigs_after.txt
175
+
176
+ # Compare (look for added | null, | undefined)
177
+ diff /tmp/sigs_before.txt /tmp/sigs_after.txt
178
+ ```
179
+
180
+ ---
181
+
182
+ ## Side Effect Analysis
183
+
184
+ ### Find Removed Logging
185
+
186
+ ```bash
187
+ # Count logger calls before vs after
188
+ echo "Logging before:"
189
+ git show main:src/**/*.ts | grep -c "logger\.\|console\."
190
+
191
+ echo "Logging after:"
192
+ grep -rc "logger\.\|console\." src/**/*.ts | awk -F: '{sum += $2} END {print sum}'
193
+ ```
194
+
195
+ ### Find Removed Event Emissions
196
+
197
+ ```bash
198
+ # Count event emissions before vs after
199
+ echo "Events before:"
200
+ git show main:src/**/*.ts | grep -c "\.emit\("
201
+
202
+ echo "Events after:"
203
+ grep -rc "\.emit\(" src/**/*.ts | awk -F: '{sum += $2} END {print sum}'
204
+ ```
205
+
206
+ ---
207
+
208
+ ## Quick Regression Checks
209
+
210
+ ### All-in-One Regression Scan
211
+
212
+ ```bash
213
+ #!/bin/bash
214
+ # regression-check.sh
215
+
216
+ echo "=== REGRESSION CHECK ==="
217
+
218
+ echo -e "\n1. Removed exports:"
219
+ git diff main...HEAD | grep "^-export" | head -10
220
+
221
+ echo -e "\n2. Removed files:"
222
+ git diff main...HEAD --name-status | grep "^D" | head -10
223
+
224
+ echo -e "\n3. Removed routes:"
225
+ git diff main...HEAD | grep "^-.*app\.\(get\|post\|put\|delete\)" | head -10
226
+
227
+ echo -e "\n4. Removed event handlers:"
228
+ git diff main...HEAD | grep "^-.*\.on\(" | head -10
229
+
230
+ echo -e "\n5. New TODOs (incomplete work):"
231
+ git diff main...HEAD | grep "^\+.*TODO" | head -10
232
+
233
+ echo -e "\n6. Type changes (potential breaks):"
234
+ git diff main...HEAD | grep "^\+.*| null\|^\+.*| undefined" | head -10
235
+
236
+ echo -e "\n=== END CHECK ==="
237
+ ```
@@ -0,0 +1,226 @@
1
+ # Regression-Safe Patterns Reference
2
+
3
+ Correct patterns for avoiding regressions during code changes.
4
+
5
+ ---
6
+
7
+ ## Safe Export Changes
8
+
9
+ ### Deprecation Before Removal
10
+
11
+ ```typescript
12
+ // Step 1: Deprecate (release v1.1)
13
+ /**
14
+ * @deprecated Use `createUserV2` instead. Will be removed in v2.0.
15
+ */
16
+ export function createUser(data: UserData): User {
17
+ console.warn('createUser is deprecated. Use createUserV2.');
18
+ return createUserV2({ ...data, version: 1 });
19
+ }
20
+
21
+ // New function
22
+ export function createUserV2(data: UserDataV2): User { }
23
+
24
+ // Step 2: Remove in next major version (v2.0)
25
+ // export function createUser - REMOVED with changelog entry
26
+ export function createUserV2(data: UserDataV2): User { }
27
+ ```
28
+
29
+ ### Additive Changes Only
30
+
31
+ ```typescript
32
+ // SAFE: Adding new exports
33
+ export function existingFunction() { } // Unchanged
34
+ export function newFunction() { } // Added - safe
35
+ export const NEW_CONSTANT = 'value'; // Added - safe
36
+
37
+ // SAFE: Adding optional parameters
38
+ function fetch(url: string, options?: FetchOptions): Promise<Response> { }
39
+ // Adding options parameter with default - safe for existing callers
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Safe Return Type Changes
45
+
46
+ ### Widening with Type Guards
47
+
48
+ ```typescript
49
+ // BEFORE
50
+ function getUser(id: string): User { }
51
+
52
+ // AFTER: Widen return type safely
53
+ function getUser(id: string): User | null { }
54
+
55
+ // MIGRATION: Provide type guard for existing callers
56
+ function isUserFound(user: User | null): user is User {
57
+ return user !== null;
58
+ }
59
+
60
+ // Usage for existing code:
61
+ const user = getUser(id);
62
+ if (isUserFound(user)) {
63
+ console.log(user.name); // Safe - type narrowed
64
+ }
65
+ ```
66
+
67
+ ### Result Type Migration
68
+
69
+ ```typescript
70
+ // BEFORE: Throws
71
+ function parseConfig(json: string): Config {
72
+ if (!valid) throw new ConfigError('Invalid');
73
+ return config;
74
+ }
75
+
76
+ // AFTER: Returns Result
77
+ function parseConfig(json: string): Result<Config, ConfigError> {
78
+ if (!valid) return { ok: false, error: new ConfigError('Invalid') };
79
+ return { ok: true, value: config };
80
+ }
81
+
82
+ // MIGRATION: Provide wrapper for existing callers
83
+ function parseConfigOrThrow(json: string): Config {
84
+ const result = parseConfig(json);
85
+ if (!result.ok) throw result.error;
86
+ return result.value;
87
+ }
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Safe Default Value Changes
93
+
94
+ ### Explicit Override
95
+
96
+ ```typescript
97
+ // BEFORE
98
+ function fetch(url: string, timeout = 5000): Promise<Response> { }
99
+
100
+ // AFTER: New default with explicit legacy option
101
+ const LEGACY_TIMEOUT = 5000;
102
+ const NEW_TIMEOUT = 1000;
103
+
104
+ function fetch(
105
+ url: string,
106
+ timeout = NEW_TIMEOUT,
107
+ options?: { useLegacyTimeout?: boolean }
108
+ ): Promise<Response> {
109
+ const actualTimeout = options?.useLegacyTimeout ? LEGACY_TIMEOUT : timeout;
110
+ // ...
111
+ }
112
+
113
+ // Existing code can opt-in to legacy behavior
114
+ fetch(url, undefined, { useLegacyTimeout: true });
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Safe API Changes
120
+
121
+ ### Versioned Endpoints
122
+
123
+ ```typescript
124
+ // Keep old endpoint, add new version
125
+ app.get('/api/v1/users/:id', getUserV1); // Unchanged
126
+ app.get('/api/v2/users/:id', getUserV2); // New version
127
+
128
+ // Document deprecation timeline
129
+ // v1 sunset: 2025-06-01
130
+ ```
131
+
132
+ ### Backward Compatible Response
133
+
134
+ ```typescript
135
+ // BEFORE response
136
+ { id: '123', name: 'John' }
137
+
138
+ // AFTER: Add fields, don't remove
139
+ { id: '123', name: 'John', displayName: 'John Doe', avatar: 'url' }
140
+ // name still present for backward compatibility
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Complete Migration Pattern
146
+
147
+ ### Track Migration Progress
148
+
149
+ ```typescript
150
+ // migration-tracker.ts
151
+ const MIGRATION_STATUS = {
152
+ 'src/api/users.ts': 'complete',
153
+ 'src/api/orders.ts': 'complete',
154
+ 'src/services/auth.ts': 'pending', // NOT YET MIGRATED
155
+ 'src/utils/format.ts': 'pending', // NOT YET MIGRATED
156
+ } as const;
157
+
158
+ // Verify before merge
159
+ function assertMigrationComplete(): void {
160
+ const pending = Object.entries(MIGRATION_STATUS)
161
+ .filter(([_, status]) => status === 'pending');
162
+
163
+ if (pending.length > 0) {
164
+ throw new Error(`Migration incomplete: ${pending.map(([f]) => f).join(', ')}`);
165
+ }
166
+ }
167
+ ```
168
+
169
+ ### Automated Consumer Updates
170
+
171
+ ```typescript
172
+ // codemod for migration
173
+ // jscodeshift transform
174
+ export default function transformer(file, api) {
175
+ const j = api.jscodeshift;
176
+
177
+ return j(file.source)
178
+ .find(j.CallExpression, { callee: { name: 'oldFunction' } })
179
+ .replaceWith(path => {
180
+ const [a, b] = path.node.arguments;
181
+ return j.callExpression(
182
+ j.identifier('newFunction'),
183
+ [j.objectExpression([
184
+ j.property('init', j.identifier('a'), a),
185
+ j.property('init', j.identifier('b'), b),
186
+ ])]
187
+ );
188
+ })
189
+ .toSource();
190
+ }
191
+ ```
192
+
193
+ ---
194
+
195
+ ## Event Handler Safety
196
+
197
+ ### Preserve Side Effects
198
+
199
+ ```typescript
200
+ // When refactoring, preserve all side effects
201
+ function processOrder(order: Order): ProcessedOrder {
202
+ // PRESERVED: Logging for debugging
203
+ logger.info('Processing order', { orderId: order.id });
204
+
205
+ const result = doProcessing(order);
206
+
207
+ // PRESERVED: Event for downstream systems
208
+ events.emit('order.processed', result);
209
+
210
+ return result;
211
+ }
212
+ ```
213
+
214
+ ### Document Intentional Removal
215
+
216
+ ```typescript
217
+ // If side effect removal is intentional, document it
218
+ function processOrder(order: Order): ProcessedOrder {
219
+ // INTENTIONAL: Removed analytics event (tracked in ANALYTICS-123)
220
+ // Reason: Moving to dedicated analytics service
221
+ // Migration: Analytics service polls order database directly
222
+
223
+ const result = doProcessing(order);
224
+ return result;
225
+ }
226
+ ```
@@ -0,0 +1,225 @@
1
+ # Regression Violations Reference
2
+
3
+ Extended examples of regression patterns to detect during code review.
4
+
5
+ ---
6
+
7
+ ## Lost Functionality Violations
8
+
9
+ ### Removed Exports
10
+
11
+ ```typescript
12
+ // BEFORE: module exports
13
+ export function createUser(data: UserData): User { }
14
+ export function deleteUser(id: string): void { }
15
+ export function updateUser(id: string, data: Partial<UserData>): User { }
16
+ export const USER_ROLES = ['admin', 'user', 'guest'] as const;
17
+
18
+ // AFTER: exports removed (REGRESSION!)
19
+ export function createUser(data: UserData): User { }
20
+ // deleteUser - REMOVED
21
+ // updateUser - REMOVED
22
+ // USER_ROLES - REMOVED
23
+ ```
24
+
25
+ ### Removed CLI Options
26
+
27
+ ```typescript
28
+ // BEFORE
29
+ program
30
+ .option('-v, --verbose', 'Verbose output')
31
+ .option('-q, --quiet', 'Quiet mode')
32
+ .option('-f, --force', 'Force operation')
33
+ .option('--dry-run', 'Preview changes');
34
+
35
+ // AFTER: options removed (REGRESSION!)
36
+ program
37
+ .option('-v, --verbose', 'Verbose output');
38
+ // --quiet, --force, --dry-run REMOVED
39
+
40
+ // Users with scripts using these flags will break!
41
+ ```
42
+
43
+ ### Removed API Endpoints
44
+
45
+ ```typescript
46
+ // BEFORE
47
+ app.get('/api/users', listUsers);
48
+ app.get('/api/users/:id', getUser);
49
+ app.post('/api/users', createUser);
50
+ app.delete('/api/users/:id', deleteUser); // REMOVED!
51
+
52
+ // AFTER
53
+ app.get('/api/users', listUsers);
54
+ app.get('/api/users/:id', getUser);
55
+ app.post('/api/users', createUser);
56
+ // DELETE endpoint removed - clients will get 404!
57
+ ```
58
+
59
+ ### Removed Event Handlers
60
+
61
+ ```typescript
62
+ // BEFORE
63
+ eventBus.on('user.created', sendWelcomeEmail);
64
+ eventBus.on('user.created', syncToAnalytics);
65
+ eventBus.on('order.completed', updateInventory);
66
+
67
+ // AFTER
68
+ eventBus.on('user.created', sendWelcomeEmail);
69
+ // syncToAnalytics handler REMOVED - analytics will be incomplete!
70
+ // updateInventory handler REMOVED - inventory won't update!
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Broken Behavior Violations
76
+
77
+ ### Changed Return Types
78
+
79
+ ```typescript
80
+ // BEFORE
81
+ async function getUser(id: string): Promise<User> {
82
+ return user;
83
+ }
84
+
85
+ // AFTER: Return type changed (BREAKING!)
86
+ async function getUser(id: string): Promise<User | null> {
87
+ return user ?? null;
88
+ }
89
+
90
+ // All callers assuming non-null will break:
91
+ const user = await getUser(id);
92
+ console.log(user.name); // Potential null dereference!
93
+ ```
94
+
95
+ ### Changed Side Effects
96
+
97
+ ```typescript
98
+ // BEFORE: Function logs and emits event
99
+ function processOrder(order: Order): ProcessedOrder {
100
+ logger.info('Processing order', { orderId: order.id });
101
+ const result = doProcessing(order);
102
+ events.emit('order.processed', result);
103
+ return result;
104
+ }
105
+
106
+ // AFTER: Side effects removed (REGRESSION!)
107
+ function processOrder(order: Order): ProcessedOrder {
108
+ const result = doProcessing(order);
109
+ return result;
110
+ // No logging - harder to debug production issues!
111
+ // No event - downstream systems won't be notified!
112
+ }
113
+ ```
114
+
115
+ ### Changed Default Values
116
+
117
+ ```typescript
118
+ // BEFORE
119
+ interface Options {
120
+ timeout?: number; // default: 5000
121
+ retries?: number; // default: 3
122
+ }
123
+
124
+ function fetch(url: string, options: Options = { timeout: 5000, retries: 3 }) { }
125
+
126
+ // AFTER: Defaults changed (REGRESSION!)
127
+ function fetch(url: string, options: Options = { timeout: 1000, retries: 1 }) { }
128
+ // Existing code relying on 5s timeout may start failing!
129
+ ```
130
+
131
+ ### Changed Error Handling
132
+
133
+ ```typescript
134
+ // BEFORE: Throws specific error
135
+ async function authenticate(credentials: Credentials): Promise<User> {
136
+ if (!valid) throw new AuthenticationError('Invalid credentials');
137
+ return user;
138
+ }
139
+
140
+ // AFTER: Returns null instead (BREAKING!)
141
+ async function authenticate(credentials: Credentials): Promise<User | null> {
142
+ if (!valid) return null; // Callers catching AuthenticationError will miss this!
143
+ return user;
144
+ }
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Intent Mismatch Violations
150
+
151
+ ### Commit Says X, Code Does Y
152
+
153
+ ```typescript
154
+ // Commit message: "Add retry logic to API calls"
155
+
156
+ // ACTUAL CODE: No retry logic!
157
+ async function fetchData(): Promise<Data> {
158
+ const response = await api.get('/data');
159
+ return response.data;
160
+ }
161
+
162
+ // Expected: Retry on failure
163
+ // Reality: No retry implemented
164
+ ```
165
+
166
+ ### Partial Implementation
167
+
168
+ ```typescript
169
+ // Commit message: "Implement user preferences"
170
+
171
+ // ACTUAL CODE: Only partial implementation
172
+ interface UserPreferences {
173
+ theme: 'light' | 'dark';
174
+ language: string;
175
+ notifications: NotificationSettings; // Not implemented!
176
+ privacy: PrivacySettings; // Not implemented!
177
+ }
178
+
179
+ function updatePreferences(prefs: Partial<UserPreferences>) {
180
+ if (prefs.theme) user.theme = prefs.theme;
181
+ if (prefs.language) user.language = prefs.language;
182
+ // notifications and privacy not handled!
183
+ }
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Incomplete Migration Violations
189
+
190
+ ### Partial Call Site Updates
191
+
192
+ ```typescript
193
+ // OLD API
194
+ function oldFunction(a: string, b: number): Result { }
195
+
196
+ // NEW API
197
+ function newFunction(params: { a: string; b: number }): Result { }
198
+
199
+ // PARTIALLY MIGRATED:
200
+ // file1.ts - Updated
201
+ const result = newFunction({ a: 'test', b: 42 });
202
+
203
+ // file2.ts - NOT updated (REGRESSION!)
204
+ const result = oldFunction('test', 42); // Still using old API!
205
+
206
+ // file3.ts - NOT updated (REGRESSION!)
207
+ const result = oldFunction('other', 100); // Still using old API!
208
+ ```
209
+
210
+ ### Consumer Model Mismatch
211
+
212
+ ```typescript
213
+ // CHANGED: User model
214
+ interface User {
215
+ id: string;
216
+ email: string;
217
+ // name: string; // REMOVED
218
+ displayName: string; // ADDED (replacement)
219
+ }
220
+
221
+ // CONSUMER NOT UPDATED (REGRESSION!)
222
+ function formatUserGreeting(user: User): string {
223
+ return `Hello, ${user.name}!`; // TypeScript error: 'name' doesn't exist
224
+ }
225
+ ```