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,419 @@
1
+ # Accessibility Violations
2
+
3
+ Extended violation patterns for accessibility reviews. Reference from main SKILL.md.
4
+
5
+ ## Keyboard Navigation Violations
6
+
7
+ ### No Keyboard Access
8
+
9
+ ```tsx
10
+ // VIOLATION: onClick without keyboard equivalent
11
+ <div onClick={handleClick} className="card">
12
+ Click me
13
+ </div>
14
+
15
+ // VIOLATION: Custom element not focusable
16
+ <span className="link" onClick={() => navigate('/page')}>
17
+ Go to page
18
+ </span>
19
+
20
+ // VIOLATION: Drag-only interaction
21
+ <div
22
+ draggable
23
+ onDragStart={handleDrag}
24
+ onDragEnd={handleDrop}
25
+ >
26
+ Drag me (no keyboard alternative)
27
+ </div>
28
+ ```
29
+
30
+ ### Missing Focus Management
31
+
32
+ ```tsx
33
+ // VIOLATION: Modal doesn't trap focus
34
+ function Modal({ isOpen, children }) {
35
+ return isOpen ? (
36
+ <div className="modal-overlay">
37
+ <div className="modal-content">
38
+ {children}
39
+ <button onClick={onClose}>Close</button>
40
+ </div>
41
+ </div>
42
+ ) : null;
43
+ }
44
+
45
+ // VIOLATION: Dropdown doesn't return focus on close
46
+ function Dropdown() {
47
+ const [isOpen, setIsOpen] = useState(false);
48
+
49
+ return (
50
+ <div>
51
+ <button onClick={() => setIsOpen(true)}>Open</button>
52
+ {isOpen && (
53
+ <ul>
54
+ <li onClick={() => setIsOpen(false)}>Option 1</li>
55
+ {/* Focus lost when dropdown closes */}
56
+ </ul>
57
+ )}
58
+ </div>
59
+ );
60
+ }
61
+ ```
62
+
63
+ ### Poor Focus Visibility
64
+
65
+ ```css
66
+ /* VIOLATION: Focus removed entirely */
67
+ *:focus {
68
+ outline: none;
69
+ }
70
+
71
+ /* VIOLATION: Focus invisible on dark backgrounds */
72
+ button:focus {
73
+ outline: 1px solid #333;
74
+ }
75
+
76
+ /* VIOLATION: Focus style same as hover */
77
+ button:hover,
78
+ button:focus {
79
+ background: #eee;
80
+ }
81
+ ```
82
+
83
+ ### Illogical Tab Order
84
+
85
+ ```tsx
86
+ // VIOLATION: tabIndex breaks natural order
87
+ <div>
88
+ <input tabIndex={3} placeholder="Third" />
89
+ <input tabIndex={1} placeholder="First" />
90
+ <input tabIndex={2} placeholder="Second" />
91
+ </div>
92
+
93
+ // VIOLATION: Positive tabIndex on many elements
94
+ <nav>
95
+ <a href="/" tabIndex={1}>Home</a>
96
+ <a href="/about" tabIndex={2}>About</a>
97
+ <a href="/contact" tabIndex={3}>Contact</a>
98
+ </nav>
99
+ ```
100
+
101
+ ---
102
+
103
+ ## ARIA Violations
104
+
105
+ ### Missing Labels
106
+
107
+ ```tsx
108
+ // VIOLATION: Icon button without accessible name
109
+ <button onClick={handleClose}>
110
+ <CloseIcon />
111
+ </button>
112
+
113
+ // VIOLATION: Input without label
114
+ <input type="text" placeholder="Search" />
115
+
116
+ // VIOLATION: Image without alt
117
+ <img src="/logo.png" />
118
+
119
+ // VIOLATION: Link without text
120
+ <a href="/profile">
121
+ <Avatar src={user.avatar} />
122
+ </a>
123
+ ```
124
+
125
+ ### Incorrect ARIA Usage
126
+
127
+ ```tsx
128
+ // VIOLATION: role="button" on already-button element
129
+ <button role="button" onClick={handleClick}>Submit</button>
130
+
131
+ // VIOLATION: aria-hidden on focusable element
132
+ <button aria-hidden="true" onClick={handleClick}>
133
+ Hidden but focusable
134
+ </button>
135
+
136
+ // VIOLATION: Missing required ARIA attributes
137
+ <div role="slider">
138
+ {/* Missing aria-valuenow, aria-valuemin, aria-valuemax */}
139
+ </div>
140
+
141
+ // VIOLATION: aria-label duplicating visible text
142
+ <button aria-label="Submit form">Submit form</button>
143
+ ```
144
+
145
+ ### Overuse of ARIA
146
+
147
+ ```tsx
148
+ // VIOLATION: ARIA where semantic HTML suffices
149
+ <div role="navigation" aria-label="Main navigation">
150
+ <div role="list">
151
+ <div role="listitem">
152
+ <div role="link" onClick={() => navigate('/')}>Home</div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+
157
+ // Should be:
158
+ <nav aria-label="Main">
159
+ <ul>
160
+ <li><a href="/">Home</a></li>
161
+ </ul>
162
+ </nav>
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Color and Contrast Violations
168
+
169
+ ### Insufficient Contrast
170
+
171
+ ```css
172
+ /* VIOLATION: Light gray on white (1.5:1 ratio) */
173
+ .muted-text {
174
+ color: #aaa;
175
+ background: #fff;
176
+ }
177
+
178
+ /* VIOLATION: Placeholder text too light */
179
+ input::placeholder {
180
+ color: #ccc;
181
+ }
182
+
183
+ /* VIOLATION: Disabled state invisible */
184
+ button:disabled {
185
+ color: #eee;
186
+ background: #f5f5f5;
187
+ }
188
+ ```
189
+
190
+ ### Color-Only Information
191
+
192
+ ```tsx
193
+ // VIOLATION: Status only indicated by color
194
+ <span style={{ color: status === 'error' ? 'red' : 'green' }}>
195
+ {status}
196
+ </span>
197
+
198
+ // VIOLATION: Required fields only marked red
199
+ <label style={{ color: required ? 'red' : 'inherit' }}>
200
+ {label}
201
+ </label>
202
+
203
+ // VIOLATION: Chart using only color to differentiate data
204
+ <LineChart>
205
+ <Line stroke="red" data={series1} />
206
+ <Line stroke="blue" data={series2} />
207
+ {/* No pattern, icon, or label differentiation */}
208
+ </LineChart>
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Form Violations
214
+
215
+ ### Missing Error Association
216
+
217
+ ```tsx
218
+ // VIOLATION: Error not associated with input
219
+ <div>
220
+ <input id="email" type="email" />
221
+ {error && <span className="error">{error}</span>}
222
+ </div>
223
+
224
+ // VIOLATION: Error not announced to screen readers
225
+ <div>
226
+ <input aria-invalid={!!error} />
227
+ {error && <div className="error-message">{error}</div>}
228
+ </div>
229
+ ```
230
+
231
+ ### Placeholder as Label
232
+
233
+ ```tsx
234
+ // VIOLATION: Placeholder disappears, no persistent label
235
+ <input placeholder="Email address" />
236
+
237
+ // VIOLATION: Floating label without visible label initially
238
+ function FloatingInput({ label }) {
239
+ const [value, setValue] = useState('');
240
+ return (
241
+ <div>
242
+ <input
243
+ value={value}
244
+ onChange={(e) => setValue(e.target.value)}
245
+ />
246
+ <label className={value ? 'floating' : 'hidden'}>{label}</label>
247
+ </div>
248
+ );
249
+ }
250
+ ```
251
+
252
+ ### Form Not Keyboard Navigable
253
+
254
+ ```tsx
255
+ // VIOLATION: Custom select not keyboard accessible
256
+ function CustomSelect({ options, value, onChange }) {
257
+ const [isOpen, setIsOpen] = useState(false);
258
+
259
+ return (
260
+ <div className="select" onClick={() => setIsOpen(!isOpen)}>
261
+ <span>{value}</span>
262
+ {isOpen && (
263
+ <ul className="options">
264
+ {options.map(opt => (
265
+ <li onClick={() => onChange(opt)}>{opt}</li>
266
+ ))}
267
+ </ul>
268
+ )}
269
+ </div>
270
+ );
271
+ }
272
+ ```
273
+
274
+ ---
275
+
276
+ ## Motion and Animation Violations
277
+
278
+ ### No Reduced Motion Support
279
+
280
+ ```css
281
+ /* VIOLATION: Animation ignores user preference */
282
+ .hero {
283
+ animation: slideIn 1s ease-in-out;
284
+ }
285
+
286
+ @keyframes slideIn {
287
+ from { transform: translateY(100%); }
288
+ to { transform: translateY(0); }
289
+ }
290
+ ```
291
+
292
+ ### Autoplay Without Pause
293
+
294
+ ```tsx
295
+ // VIOLATION: Video autoplays without pause control
296
+ <video autoPlay loop muted>
297
+ <source src="/background.mp4" />
298
+ </video>
299
+
300
+ // VIOLATION: Carousel auto-advances without pause
301
+ function Carousel({ slides }) {
302
+ useEffect(() => {
303
+ const interval = setInterval(nextSlide, 3000);
304
+ return () => clearInterval(interval);
305
+ }, []);
306
+ // No pause on hover or focus
307
+ }
308
+ ```
309
+
310
+ ### Flashing Content
311
+
312
+ ```css
313
+ /* VIOLATION: Flash rate > 3 per second */
314
+ @keyframes flash {
315
+ 0%, 100% { opacity: 1; }
316
+ 50% { opacity: 0; }
317
+ }
318
+ .alert {
319
+ animation: flash 0.2s infinite;
320
+ }
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Touch Target Violations
326
+
327
+ ### Small Touch Targets
328
+
329
+ ```css
330
+ /* VIOLATION: Icon buttons too small */
331
+ .icon-btn {
332
+ width: 24px;
333
+ height: 24px;
334
+ padding: 4px;
335
+ }
336
+
337
+ /* VIOLATION: Inline links with no padding */
338
+ .inline-link {
339
+ /* Natural text height only */
340
+ }
341
+
342
+ /* VIOLATION: Close button in corner */
343
+ .modal-close {
344
+ position: absolute;
345
+ top: 4px;
346
+ right: 4px;
347
+ width: 16px;
348
+ height: 16px;
349
+ }
350
+ ```
351
+
352
+ ### Targets Too Close Together
353
+
354
+ ```tsx
355
+ // VIOLATION: Adjacent small targets
356
+ <div className="button-group">
357
+ <button className="icon-btn">A</button>
358
+ <button className="icon-btn">B</button>
359
+ <button className="icon-btn">C</button>
360
+ {/* No spacing between 24px buttons */}
361
+ </div>
362
+ ```
363
+
364
+ ---
365
+
366
+ ## Screen Reader Violations
367
+
368
+ ### Hidden Important Content
369
+
370
+ ```tsx
371
+ // VIOLATION: Visually hidden but important content
372
+ <span className="sr-only">
373
+ Loading... {/* Never announced because sr-only wrong implementation */}
374
+ </span>
375
+
376
+ // VIOLATION: aria-hidden on important element
377
+ <main aria-hidden="true">
378
+ {/* Page content hidden from AT */}
379
+ </main>
380
+ ```
381
+
382
+ ### Meaningless Link Text
383
+
384
+ ```tsx
385
+ // VIOLATION: Generic link text
386
+ <p>
387
+ To learn more about our services, <a href="/services">click here</a>.
388
+ </p>
389
+
390
+ // VIOLATION: Repeated "Read more" links
391
+ {posts.map(post => (
392
+ <article>
393
+ <h2>{post.title}</h2>
394
+ <p>{post.excerpt}</p>
395
+ <a href={post.url}>Read more</a>
396
+ </article>
397
+ ))}
398
+ ```
399
+
400
+ ### Missing Page Structure
401
+
402
+ ```tsx
403
+ // VIOLATION: No landmark regions
404
+ function App() {
405
+ return (
406
+ <div>
407
+ <div className="header">...</div>
408
+ <div className="sidebar">...</div>
409
+ <div className="content">...</div>
410
+ <div className="footer">...</div>
411
+ </div>
412
+ );
413
+ }
414
+
415
+ // VIOLATION: Skipped heading levels
416
+ <h1>Page Title</h1>
417
+ <h3>Section</h3> {/* h2 skipped */}
418
+ <h5>Subsection</h5> {/* h4 skipped */}
419
+ ```
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: core-patterns
3
+ description: This skill should be used when the user asks to "handle errors", "inject dependencies", "return Result", "make it immutable", "compose with pipes", or implements business logic, error handling, or service composition. Provides Result type patterns, dependency injection, immutability by default, pipe composition, and structured logging for robust application architecture.
4
+ user-invocable: false
5
+ allowed-tools: Read, Grep, Glob, AskUserQuestion
6
+ ---
7
+
8
+ # Core Engineering Patterns
9
+
10
+ The canonical source of architectural patterns and principles for consistent, high-quality code.
11
+
12
+ ## Iron Law
13
+
14
+ > **NEVER THROW IN BUSINESS LOGIC**
15
+ >
16
+ > All operations that can fail MUST return Result types. Exceptions are allowed
17
+ > ONLY at system boundaries (API handlers, database adapters). Any `throw` statement
18
+ > in business logic is a violation. No exceptions.
19
+
20
+ ## Philosophy
21
+
22
+ 1. **Type Safety First** - Strict type checking, avoid dynamic types
23
+ 2. **Functional Core, Imperative Shell** - Business logic pure, side effects isolated
24
+ 3. **Explicit Error Handling** - Result types instead of exceptions
25
+ 4. **Immutability by Default** - Return new objects, don't mutate
26
+ 5. **Dependency Injection** - Inject dependencies for testability
27
+ 6. **Test Behaviors** - Simple tests that validate behavior, not implementation
28
+ 7. **No Fake Solutions** - Be honest about limitations and workarounds
29
+ 8. **Fix Root Causes** - Never work around bad architecture
30
+
31
+ ---
32
+
33
+ ## Pattern 1: Result Types
34
+
35
+ ```typescript
36
+ type Result<T, E = Error> = { ok: true; value: T } | { ok: false; error: E };
37
+
38
+ function createUser(data: unknown): Result<User, ValidationError> {
39
+ if (!valid(data)) return Err({ type: 'ValidationFailed', details: validate(data).errors });
40
+ return Ok(buildUser(data));
41
+ }
42
+ ```
43
+
44
+ ## Pattern 2: Dependency Injection
45
+
46
+ ```typescript
47
+ class UserService {
48
+ constructor(private db: Database, private emailer: EmailService) {}
49
+ }
50
+ // Easy to test: new UserService(mockDb, mockEmailer)
51
+ ```
52
+
53
+ Never: `private db = new Database()` - can't mock.
54
+
55
+ ## Pattern 3: Immutability
56
+
57
+ ```typescript
58
+ function updateUser(user: User, changes: Partial<User>): User {
59
+ return { ...user, ...changes }; // New object, no mutation
60
+ }
61
+ ```
62
+
63
+ Never mutate inputs. Copy before `.sort()`.
64
+
65
+ ## Pattern 4: Pure Functions
66
+
67
+ ```typescript
68
+ function calculateTotal(items: Item[], taxRate: number): number {
69
+ return items.reduce((sum, i) => sum + i.price, 0) * (1 + taxRate);
70
+ }
71
+ ```
72
+
73
+ No side effects in pure functions.
74
+
75
+ ## Pattern 5: Type Safety
76
+
77
+ ```typescript
78
+ type Status = 'pending' | 'completed' | 'failed';
79
+ function handleStatus(status: Status): string {
80
+ switch (status) {
81
+ case 'pending': return 'Waiting';
82
+ case 'completed': return 'Done';
83
+ case 'failed': return 'Error';
84
+ } // Exhaustive - no default needed
85
+ }
86
+ ```
87
+
88
+ ## Pattern 6: Error Type Design
89
+
90
+ ```typescript
91
+ type UserError =
92
+ | { type: 'NotFound'; userId: string }
93
+ | { type: 'ValidationFailed'; field: string; message: string };
94
+ ```
95
+
96
+ ## Pattern 7: Resource Cleanup
97
+
98
+ ```typescript
99
+ const handle = await fs.open(path);
100
+ try {
101
+ return Ok(parse(await handle.readFile()));
102
+ } finally {
103
+ await handle.close();
104
+ }
105
+ ```
106
+
107
+ ## Pattern 8: Architecture Documentation
108
+
109
+ ```typescript
110
+ // ARCHITECTURE: Repository returns domain objects only
111
+ // ARCHITECTURE EXCEPTION: Direct DB for health check - must work if service layer down
112
+ ```
113
+
114
+ ## Pattern 9: Naming Conventions
115
+
116
+ - **Types/Classes**: PascalCase (`UserProfile`)
117
+ - **Functions/Variables**: camelCase (`calculateTotal`)
118
+ - **Constants**: SCREAMING_SNAKE_CASE (`MAX_RETRY`)
119
+
120
+ ## Pattern 10: Performance Awareness
121
+
122
+ ```typescript
123
+ const customerMap = new Map(customers.map(c => [c.id, c])); // O(1) vs O(n)
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Consistency Rules
129
+
130
+ - Result types: if one method returns Result, ALL must
131
+ - DI: apply consistently throughout
132
+ - Async: single pattern (don't mix callbacks/promises)
133
+
134
+ ## Anti-Patterns
135
+
136
+ | Pattern | Description |
137
+ |---------|-------------|
138
+ | Fake Solutions | Hardcoded responses simulating functionality |
139
+ | Silent Failures | Catch blocks that swallow errors |
140
+ | Magic Values | Unlabeled constants with special meaning |
141
+ | Deceptive Code | Functions that pretend to work (e.g., `return true` with no logic) |
142
+
143
+ ### Workaround Labeling (Required)
144
+
145
+ All workarounds, hacks, and temporary solutions MUST be labeled:
146
+
147
+ | Label | Use When |
148
+ |-------|----------|
149
+ | `HACK:` | Workaround for specific problem |
150
+ | `MOCK:` | Fake data for testing/development |
151
+ | `TODO:` | Work that needs to be done |
152
+ | `TEMPORARY:` | Short-term solution with deadline |
153
+ | `NOT-PRODUCTION:` | Code that should never ship |
154
+ | `ARCHITECTURE EXCEPTION:` | Violates pattern with justification |
155
+
156
+ Unlabeled workarounds, empty catch blocks, and early returns without rationale are violations. See `references/code-smell-violations.md` for extended examples.
157
+
158
+ ---
159
+
160
+ ## Extended References
161
+
162
+ See `references/` for: violations.md, patterns.md, detection.md, checklist.md