devflow-kit 0.9.0 → 1.1.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 (414) hide show
  1. package/CHANGELOG.md +197 -29
  2. package/LICENSE +1 -1
  3. package/README.md +185 -309
  4. package/dist/cli.js +7 -1
  5. package/dist/commands/ambient.d.ts +18 -0
  6. package/dist/commands/ambient.js +136 -0
  7. package/dist/commands/init.d.ts +23 -0
  8. package/dist/commands/init.js +393 -571
  9. package/dist/commands/list.d.ts +3 -0
  10. package/dist/commands/list.js +20 -0
  11. package/dist/commands/memory.d.ts +22 -0
  12. package/dist/commands/memory.js +175 -0
  13. package/dist/commands/uninstall.d.ts +10 -0
  14. package/dist/commands/uninstall.js +418 -78
  15. package/dist/plugins.d.ts +46 -0
  16. package/dist/plugins.js +169 -0
  17. package/dist/utils/cli.d.ts +5 -0
  18. package/dist/utils/cli.js +14 -0
  19. package/dist/utils/installer.d.ts +41 -0
  20. package/dist/utils/installer.js +177 -0
  21. package/dist/utils/paths.d.ts +10 -0
  22. package/dist/utils/paths.js +23 -3
  23. package/dist/utils/post-install.d.ts +80 -0
  24. package/dist/utils/post-install.js +508 -0
  25. package/dist/utils/safe-delete-install.d.ts +29 -0
  26. package/dist/utils/safe-delete-install.js +191 -0
  27. package/dist/utils/safe-delete.d.ts +12 -0
  28. package/dist/utils/safe-delete.js +83 -0
  29. package/package.json +18 -8
  30. package/plugins/devflow-ambient/.claude-plugin/plugin.json +7 -0
  31. package/plugins/devflow-ambient/README.md +49 -0
  32. package/plugins/devflow-ambient/commands/ambient.md +110 -0
  33. package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +89 -0
  34. package/plugins/devflow-ambient/skills/ambient-router/references/skill-catalog.md +64 -0
  35. package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +7 -0
  36. package/plugins/devflow-audit-claude/README.md +46 -0
  37. package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +134 -0
  38. package/plugins/devflow-audit-claude/commands/audit-claude.md +85 -0
  39. package/plugins/devflow-code-review/.claude-plugin/plugin.json +31 -0
  40. package/plugins/devflow-code-review/README.md +73 -0
  41. package/plugins/devflow-code-review/agents/git.md +272 -0
  42. package/plugins/devflow-code-review/agents/reviewer.md +119 -0
  43. package/plugins/devflow-code-review/agents/synthesizer.md +204 -0
  44. package/plugins/devflow-code-review/commands/code-review-teams.md +262 -0
  45. package/plugins/devflow-code-review/commands/code-review.md +141 -0
  46. package/plugins/devflow-code-review/skills/accessibility/SKILL.md +229 -0
  47. package/plugins/devflow-code-review/skills/accessibility/references/detection.md +171 -0
  48. package/plugins/devflow-code-review/skills/accessibility/references/patterns.md +670 -0
  49. package/plugins/devflow-code-review/skills/accessibility/references/violations.md +419 -0
  50. package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +124 -0
  51. package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +104 -0
  52. package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +122 -0
  53. package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +217 -0
  54. package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +153 -0
  55. package/plugins/devflow-code-review/skills/architecture-patterns/references/detection.md +337 -0
  56. package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +873 -0
  57. package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +575 -0
  58. package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +143 -0
  59. package/plugins/devflow-code-review/skills/complexity-patterns/references/detection.md +264 -0
  60. package/plugins/devflow-code-review/skills/complexity-patterns/references/patterns.md +487 -0
  61. package/plugins/devflow-code-review/skills/complexity-patterns/references/violations.md +361 -0
  62. package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +140 -0
  63. package/plugins/devflow-code-review/skills/consistency-patterns/references/detection.md +207 -0
  64. package/plugins/devflow-code-review/skills/consistency-patterns/references/patterns.md +202 -0
  65. package/plugins/devflow-code-review/skills/consistency-patterns/references/violations.md +213 -0
  66. package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +134 -0
  67. package/plugins/devflow-code-review/skills/database-patterns/references/detection.md +208 -0
  68. package/plugins/devflow-code-review/skills/database-patterns/references/patterns.md +394 -0
  69. package/plugins/devflow-code-review/skills/database-patterns/references/violations.md +332 -0
  70. package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +141 -0
  71. package/plugins/devflow-code-review/skills/dependencies-patterns/references/detection.md +181 -0
  72. package/plugins/devflow-code-review/skills/dependencies-patterns/references/patterns.md +225 -0
  73. package/plugins/devflow-code-review/skills/dependencies-patterns/references/violations.md +247 -0
  74. package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +125 -0
  75. package/plugins/devflow-code-review/skills/documentation-patterns/references/detection.md +190 -0
  76. package/plugins/devflow-code-review/skills/documentation-patterns/references/patterns.md +189 -0
  77. package/plugins/devflow-code-review/skills/documentation-patterns/references/violations.md +163 -0
  78. package/plugins/devflow-code-review/skills/frontend-design/SKILL.md +254 -0
  79. package/plugins/devflow-code-review/skills/frontend-design/references/detection.md +184 -0
  80. package/plugins/devflow-code-review/skills/frontend-design/references/patterns.md +511 -0
  81. package/plugins/devflow-code-review/skills/frontend-design/references/violations.md +453 -0
  82. package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +154 -0
  83. package/plugins/devflow-code-review/skills/performance-patterns/references/detection.md +351 -0
  84. package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +503 -0
  85. package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +354 -0
  86. package/plugins/devflow-code-review/skills/react/SKILL.md +276 -0
  87. package/plugins/devflow-code-review/skills/react/references/patterns.md +1331 -0
  88. package/plugins/devflow-code-review/skills/react/references/violations.md +565 -0
  89. package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +146 -0
  90. package/plugins/devflow-code-review/skills/regression-patterns/references/detection.md +237 -0
  91. package/plugins/devflow-code-review/skills/regression-patterns/references/patterns.md +226 -0
  92. package/plugins/devflow-code-review/skills/regression-patterns/references/violations.md +225 -0
  93. package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +119 -0
  94. package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +186 -0
  95. package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +142 -0
  96. package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +125 -0
  97. package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +156 -0
  98. package/plugins/devflow-code-review/skills/security-patterns/references/detection.md +287 -0
  99. package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +507 -0
  100. package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +237 -0
  101. package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +183 -0
  102. package/plugins/devflow-code-review/skills/test-patterns/references/detection.md +149 -0
  103. package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +220 -0
  104. package/plugins/devflow-code-review/skills/test-patterns/references/report-template.md +108 -0
  105. package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +221 -0
  106. package/plugins/devflow-core-skills/.claude-plugin/plugin.json +28 -0
  107. package/plugins/devflow-core-skills/README.md +50 -0
  108. package/plugins/devflow-core-skills/skills/accessibility/SKILL.md +229 -0
  109. package/plugins/devflow-core-skills/skills/accessibility/references/detection.md +171 -0
  110. package/plugins/devflow-core-skills/skills/accessibility/references/patterns.md +670 -0
  111. package/plugins/devflow-core-skills/skills/accessibility/references/violations.md +419 -0
  112. package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +162 -0
  113. package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +276 -0
  114. package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +144 -0
  115. package/plugins/devflow-core-skills/skills/core-patterns/references/detection.md +303 -0
  116. package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +576 -0
  117. package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +369 -0
  118. package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +138 -0
  119. package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +346 -0
  120. package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +221 -0
  121. package/plugins/devflow-core-skills/skills/frontend-design/SKILL.md +254 -0
  122. package/plugins/devflow-core-skills/skills/frontend-design/references/detection.md +184 -0
  123. package/plugins/devflow-core-skills/skills/frontend-design/references/patterns.md +511 -0
  124. package/plugins/devflow-core-skills/skills/frontend-design/references/violations.md +453 -0
  125. package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +122 -0
  126. package/plugins/devflow-core-skills/skills/git-safety/references/detection.md +290 -0
  127. package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +289 -0
  128. package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +18 -0
  129. package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +158 -0
  130. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +115 -0
  131. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +77 -0
  132. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +127 -0
  133. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +96 -0
  134. package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +153 -0
  135. package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +572 -0
  136. package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +298 -0
  137. package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +148 -0
  138. package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +283 -0
  139. package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +361 -0
  140. package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +224 -0
  141. package/plugins/devflow-core-skills/skills/react/SKILL.md +276 -0
  142. package/plugins/devflow-core-skills/skills/react/references/patterns.md +1331 -0
  143. package/plugins/devflow-core-skills/skills/react/references/violations.md +565 -0
  144. package/plugins/devflow-core-skills/skills/test-driven-development/SKILL.md +139 -0
  145. package/plugins/devflow-core-skills/skills/test-driven-development/references/rationalization-prevention.md +111 -0
  146. package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +183 -0
  147. package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +149 -0
  148. package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +220 -0
  149. package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +108 -0
  150. package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +221 -0
  151. package/plugins/devflow-core-skills/skills/typescript/SKILL.md +176 -0
  152. package/plugins/devflow-core-skills/skills/typescript/references/patterns.md +1105 -0
  153. package/plugins/devflow-core-skills/skills/typescript/references/violations.md +433 -0
  154. package/plugins/devflow-debug/.claude-plugin/plugin.json +18 -0
  155. package/plugins/devflow-debug/README.md +65 -0
  156. package/plugins/devflow-debug/agents/git.md +272 -0
  157. package/plugins/devflow-debug/commands/debug-teams.md +231 -0
  158. package/plugins/devflow-debug/commands/debug.md +160 -0
  159. package/plugins/devflow-debug/skills/agent-teams/SKILL.md +124 -0
  160. package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +104 -0
  161. package/plugins/devflow-debug/skills/agent-teams/references/communication.md +122 -0
  162. package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +217 -0
  163. package/plugins/devflow-debug/skills/git-safety/SKILL.md +122 -0
  164. package/plugins/devflow-debug/skills/git-safety/references/detection.md +290 -0
  165. package/plugins/devflow-debug/skills/git-safety/references/patterns.md +289 -0
  166. package/plugins/devflow-debug/skills/git-safety/references/violations.md +18 -0
  167. package/plugins/devflow-implement/.claude-plugin/plugin.json +21 -0
  168. package/plugins/devflow-implement/README.md +71 -0
  169. package/plugins/devflow-implement/agents/coder.md +122 -0
  170. package/plugins/devflow-implement/agents/git.md +272 -0
  171. package/plugins/devflow-implement/agents/scrutinizer.md +80 -0
  172. package/plugins/devflow-implement/agents/shepherd.md +94 -0
  173. package/plugins/devflow-implement/agents/simplifier.md +62 -0
  174. package/plugins/devflow-implement/agents/skimmer.md +88 -0
  175. package/plugins/devflow-implement/agents/synthesizer.md +204 -0
  176. package/plugins/devflow-implement/agents/validator.md +86 -0
  177. package/plugins/devflow-implement/commands/implement-teams.md +608 -0
  178. package/plugins/devflow-implement/commands/implement.md +426 -0
  179. package/plugins/devflow-implement/skills/accessibility/SKILL.md +229 -0
  180. package/plugins/devflow-implement/skills/accessibility/references/detection.md +171 -0
  181. package/plugins/devflow-implement/skills/accessibility/references/patterns.md +670 -0
  182. package/plugins/devflow-implement/skills/accessibility/references/violations.md +419 -0
  183. package/plugins/devflow-implement/skills/agent-teams/SKILL.md +124 -0
  184. package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +104 -0
  185. package/plugins/devflow-implement/skills/agent-teams/references/communication.md +122 -0
  186. package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +217 -0
  187. package/plugins/devflow-implement/skills/frontend-design/SKILL.md +254 -0
  188. package/plugins/devflow-implement/skills/frontend-design/references/detection.md +184 -0
  189. package/plugins/devflow-implement/skills/frontend-design/references/patterns.md +511 -0
  190. package/plugins/devflow-implement/skills/frontend-design/references/violations.md +453 -0
  191. package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +162 -0
  192. package/plugins/devflow-implement/skills/implementation-patterns/references/patterns.md +1063 -0
  193. package/plugins/devflow-implement/skills/implementation-patterns/references/violations.md +483 -0
  194. package/plugins/devflow-implement/skills/self-review/SKILL.md +149 -0
  195. package/plugins/devflow-implement/skills/self-review/references/patterns.md +405 -0
  196. package/plugins/devflow-implement/skills/self-review/references/report-template.md +253 -0
  197. package/plugins/devflow-implement/skills/self-review/references/violations.md +308 -0
  198. package/plugins/devflow-resolve/.claude-plugin/plugin.json +19 -0
  199. package/plugins/devflow-resolve/README.md +65 -0
  200. package/plugins/devflow-resolve/agents/git.md +272 -0
  201. package/plugins/devflow-resolve/agents/resolver.md +131 -0
  202. package/plugins/devflow-resolve/agents/simplifier.md +62 -0
  203. package/plugins/devflow-resolve/commands/resolve-teams.md +298 -0
  204. package/plugins/devflow-resolve/commands/resolve.md +237 -0
  205. package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +124 -0
  206. package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +104 -0
  207. package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +122 -0
  208. package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +217 -0
  209. package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +162 -0
  210. package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +1063 -0
  211. package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +483 -0
  212. package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +156 -0
  213. package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +287 -0
  214. package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +507 -0
  215. package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +237 -0
  216. package/plugins/devflow-self-review/.claude-plugin/plugin.json +7 -0
  217. package/plugins/devflow-self-review/README.md +38 -0
  218. package/plugins/devflow-self-review/agents/scrutinizer.md +80 -0
  219. package/plugins/devflow-self-review/agents/simplifier.md +62 -0
  220. package/plugins/devflow-self-review/agents/validator.md +86 -0
  221. package/plugins/devflow-self-review/commands/self-review.md +126 -0
  222. package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +162 -0
  223. package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +276 -0
  224. package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +144 -0
  225. package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +303 -0
  226. package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +576 -0
  227. package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +369 -0
  228. package/plugins/devflow-self-review/skills/self-review/SKILL.md +149 -0
  229. package/plugins/devflow-self-review/skills/self-review/references/patterns.md +405 -0
  230. package/plugins/devflow-self-review/skills/self-review/references/report-template.md +253 -0
  231. package/plugins/devflow-self-review/skills/self-review/references/violations.md +308 -0
  232. package/plugins/devflow-specify/.claude-plugin/plugin.json +15 -0
  233. package/plugins/devflow-specify/README.md +46 -0
  234. package/plugins/devflow-specify/agents/skimmer.md +88 -0
  235. package/plugins/devflow-specify/agents/synthesizer.md +204 -0
  236. package/plugins/devflow-specify/commands/specify-teams.md +314 -0
  237. package/plugins/devflow-specify/commands/specify.md +179 -0
  238. package/plugins/devflow-specify/skills/agent-teams/SKILL.md +124 -0
  239. package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +104 -0
  240. package/plugins/devflow-specify/skills/agent-teams/references/communication.md +122 -0
  241. package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +217 -0
  242. package/scripts/hooks/ambient-prompt.sh +48 -0
  243. package/scripts/hooks/background-memory-update.sh +208 -0
  244. package/scripts/hooks/ensure-memory-gitignore.sh +17 -0
  245. package/scripts/hooks/pre-compact-memory.sh +87 -0
  246. package/scripts/hooks/session-start-memory.sh +126 -0
  247. package/scripts/hooks/stop-update-memory.sh +85 -0
  248. package/shared/agents/coder.md +122 -0
  249. package/shared/agents/git.md +272 -0
  250. package/shared/agents/resolver.md +131 -0
  251. package/shared/agents/reviewer.md +119 -0
  252. package/shared/agents/scrutinizer.md +80 -0
  253. package/shared/agents/shepherd.md +94 -0
  254. package/shared/agents/simplifier.md +62 -0
  255. package/shared/agents/skimmer.md +88 -0
  256. package/shared/agents/synthesizer.md +204 -0
  257. package/shared/agents/validator.md +86 -0
  258. package/shared/skills/accessibility/SKILL.md +229 -0
  259. package/shared/skills/accessibility/references/detection.md +171 -0
  260. package/shared/skills/accessibility/references/patterns.md +670 -0
  261. package/shared/skills/accessibility/references/violations.md +419 -0
  262. package/shared/skills/agent-teams/SKILL.md +124 -0
  263. package/shared/skills/agent-teams/references/cleanup.md +104 -0
  264. package/shared/skills/agent-teams/references/communication.md +122 -0
  265. package/shared/skills/agent-teams/references/team-patterns.md +217 -0
  266. package/shared/skills/ambient-router/SKILL.md +89 -0
  267. package/shared/skills/ambient-router/references/skill-catalog.md +64 -0
  268. package/shared/skills/architecture-patterns/SKILL.md +153 -0
  269. package/shared/skills/architecture-patterns/references/detection.md +337 -0
  270. package/shared/skills/architecture-patterns/references/patterns.md +873 -0
  271. package/shared/skills/architecture-patterns/references/violations.md +575 -0
  272. package/shared/skills/complexity-patterns/SKILL.md +143 -0
  273. package/shared/skills/complexity-patterns/references/detection.md +264 -0
  274. package/shared/skills/complexity-patterns/references/patterns.md +487 -0
  275. package/shared/skills/complexity-patterns/references/violations.md +361 -0
  276. package/shared/skills/consistency-patterns/SKILL.md +140 -0
  277. package/shared/skills/consistency-patterns/references/detection.md +207 -0
  278. package/shared/skills/consistency-patterns/references/patterns.md +202 -0
  279. package/shared/skills/consistency-patterns/references/violations.md +213 -0
  280. package/shared/skills/core-patterns/SKILL.md +162 -0
  281. package/shared/skills/core-patterns/references/checklist.md +276 -0
  282. package/shared/skills/core-patterns/references/code-smell-violations.md +144 -0
  283. package/shared/skills/core-patterns/references/detection.md +303 -0
  284. package/shared/skills/core-patterns/references/patterns.md +576 -0
  285. package/shared/skills/core-patterns/references/violations.md +369 -0
  286. package/shared/skills/database-patterns/SKILL.md +134 -0
  287. package/shared/skills/database-patterns/references/detection.md +208 -0
  288. package/shared/skills/database-patterns/references/patterns.md +394 -0
  289. package/shared/skills/database-patterns/references/violations.md +332 -0
  290. package/shared/skills/dependencies-patterns/SKILL.md +141 -0
  291. package/shared/skills/dependencies-patterns/references/detection.md +181 -0
  292. package/shared/skills/dependencies-patterns/references/patterns.md +225 -0
  293. package/shared/skills/dependencies-patterns/references/violations.md +247 -0
  294. package/shared/skills/docs-framework/SKILL.md +138 -0
  295. package/shared/skills/docs-framework/references/patterns.md +346 -0
  296. package/shared/skills/docs-framework/references/violations.md +221 -0
  297. package/shared/skills/documentation-patterns/SKILL.md +125 -0
  298. package/shared/skills/documentation-patterns/references/detection.md +190 -0
  299. package/shared/skills/documentation-patterns/references/patterns.md +189 -0
  300. package/shared/skills/documentation-patterns/references/violations.md +163 -0
  301. package/shared/skills/frontend-design/SKILL.md +254 -0
  302. package/shared/skills/frontend-design/references/detection.md +184 -0
  303. package/shared/skills/frontend-design/references/patterns.md +511 -0
  304. package/shared/skills/frontend-design/references/violations.md +453 -0
  305. package/shared/skills/git-safety/SKILL.md +122 -0
  306. package/shared/skills/git-safety/references/detection.md +290 -0
  307. package/shared/skills/git-safety/references/patterns.md +289 -0
  308. package/shared/skills/git-safety/references/violations.md +18 -0
  309. package/shared/skills/git-workflow/SKILL.md +158 -0
  310. package/shared/skills/git-workflow/references/commit-patterns.md +115 -0
  311. package/shared/skills/git-workflow/references/commit-violations.md +77 -0
  312. package/shared/skills/git-workflow/references/pr-patterns.md +127 -0
  313. package/shared/skills/git-workflow/references/pr-violations.md +96 -0
  314. package/shared/skills/github-patterns/SKILL.md +153 -0
  315. package/shared/skills/github-patterns/references/patterns.md +572 -0
  316. package/shared/skills/github-patterns/references/violations.md +298 -0
  317. package/shared/skills/implementation-patterns/SKILL.md +162 -0
  318. package/shared/skills/implementation-patterns/references/patterns.md +1063 -0
  319. package/shared/skills/implementation-patterns/references/violations.md +483 -0
  320. package/shared/skills/input-validation/SKILL.md +148 -0
  321. package/shared/skills/input-validation/references/detection.md +283 -0
  322. package/shared/skills/input-validation/references/patterns.md +361 -0
  323. package/shared/skills/input-validation/references/violations.md +224 -0
  324. package/shared/skills/performance-patterns/SKILL.md +154 -0
  325. package/shared/skills/performance-patterns/references/detection.md +351 -0
  326. package/shared/skills/performance-patterns/references/patterns.md +503 -0
  327. package/shared/skills/performance-patterns/references/violations.md +354 -0
  328. package/shared/skills/react/SKILL.md +276 -0
  329. package/shared/skills/react/references/patterns.md +1331 -0
  330. package/shared/skills/react/references/violations.md +565 -0
  331. package/shared/skills/regression-patterns/SKILL.md +146 -0
  332. package/shared/skills/regression-patterns/references/detection.md +237 -0
  333. package/shared/skills/regression-patterns/references/patterns.md +226 -0
  334. package/shared/skills/regression-patterns/references/violations.md +225 -0
  335. package/shared/skills/review-methodology/SKILL.md +119 -0
  336. package/shared/skills/review-methodology/references/patterns.md +186 -0
  337. package/shared/skills/review-methodology/references/report-template.md +142 -0
  338. package/shared/skills/review-methodology/references/violations.md +125 -0
  339. package/shared/skills/security-patterns/SKILL.md +156 -0
  340. package/shared/skills/security-patterns/references/detection.md +287 -0
  341. package/shared/skills/security-patterns/references/patterns.md +507 -0
  342. package/shared/skills/security-patterns/references/violations.md +237 -0
  343. package/shared/skills/self-review/SKILL.md +149 -0
  344. package/shared/skills/self-review/references/patterns.md +405 -0
  345. package/shared/skills/self-review/references/report-template.md +253 -0
  346. package/shared/skills/self-review/references/violations.md +308 -0
  347. package/shared/skills/test-driven-development/SKILL.md +139 -0
  348. package/shared/skills/test-driven-development/references/rationalization-prevention.md +111 -0
  349. package/shared/skills/test-patterns/SKILL.md +183 -0
  350. package/shared/skills/test-patterns/references/detection.md +149 -0
  351. package/shared/skills/test-patterns/references/patterns.md +220 -0
  352. package/shared/skills/test-patterns/references/report-template.md +108 -0
  353. package/shared/skills/test-patterns/references/violations.md +221 -0
  354. package/shared/skills/typescript/SKILL.md +176 -0
  355. package/shared/skills/typescript/references/patterns.md +1105 -0
  356. package/shared/skills/typescript/references/violations.md +433 -0
  357. package/src/templates/claudeignore.template +188 -0
  358. package/src/templates/managed-settings.json +160 -0
  359. package/src/templates/settings.json +59 -0
  360. package/dist/cli.d.ts.map +0 -1
  361. package/dist/cli.js.map +0 -1
  362. package/dist/commands/init.d.ts.map +0 -1
  363. package/dist/commands/init.js.map +0 -1
  364. package/dist/commands/uninstall.d.ts.map +0 -1
  365. package/dist/commands/uninstall.js.map +0 -1
  366. package/dist/utils/git.d.ts.map +0 -1
  367. package/dist/utils/git.js.map +0 -1
  368. package/dist/utils/paths.d.ts.map +0 -1
  369. package/dist/utils/paths.js.map +0 -1
  370. package/src/claude/CLAUDE.md +0 -400
  371. package/src/claude/agents/devflow/audit-architecture.md +0 -132
  372. package/src/claude/agents/devflow/audit-complexity.md +0 -132
  373. package/src/claude/agents/devflow/audit-database.md +0 -132
  374. package/src/claude/agents/devflow/audit-dependencies.md +0 -132
  375. package/src/claude/agents/devflow/audit-documentation.md +0 -132
  376. package/src/claude/agents/devflow/audit-performance.md +0 -256
  377. package/src/claude/agents/devflow/audit-security.md +0 -259
  378. package/src/claude/agents/devflow/audit-tests.md +0 -132
  379. package/src/claude/agents/devflow/audit-typescript.md +0 -132
  380. package/src/claude/agents/devflow/brainstorm.md +0 -279
  381. package/src/claude/agents/devflow/catch-up.md +0 -345
  382. package/src/claude/agents/devflow/code-review.md +0 -307
  383. package/src/claude/agents/devflow/commit.md +0 -380
  384. package/src/claude/agents/devflow/debug.md +0 -476
  385. package/src/claude/agents/devflow/design.md +0 -491
  386. package/src/claude/agents/devflow/get-issue.md +0 -286
  387. package/src/claude/agents/devflow/pr-comments.md +0 -285
  388. package/src/claude/agents/devflow/project-state.md +0 -419
  389. package/src/claude/agents/devflow/pull-request.md +0 -493
  390. package/src/claude/agents/devflow/release.md +0 -1137
  391. package/src/claude/agents/devflow/tech-debt.md +0 -338
  392. package/src/claude/commands/devflow/brainstorm.md +0 -68
  393. package/src/claude/commands/devflow/breakdown.md +0 -125
  394. package/src/claude/commands/devflow/catch-up.md +0 -29
  395. package/src/claude/commands/devflow/code-review.md +0 -237
  396. package/src/claude/commands/devflow/commit.md +0 -17
  397. package/src/claude/commands/devflow/debug.md +0 -56
  398. package/src/claude/commands/devflow/design.md +0 -82
  399. package/src/claude/commands/devflow/devlog.md +0 -408
  400. package/src/claude/commands/devflow/get-issue.md +0 -16
  401. package/src/claude/commands/devflow/implement.md +0 -100
  402. package/src/claude/commands/devflow/plan.md +0 -223
  403. package/src/claude/commands/devflow/pull-request.md +0 -20
  404. package/src/claude/commands/devflow/release.md +0 -251
  405. package/src/claude/commands/devflow/resolve-comments.md +0 -583
  406. package/src/claude/scripts/statusline.sh +0 -47
  407. package/src/claude/settings.json +0 -6
  408. package/src/claude/skills/devflow/code-smell/SKILL.md +0 -428
  409. package/src/claude/skills/devflow/debug/SKILL.md +0 -119
  410. package/src/claude/skills/devflow/error-handling/SKILL.md +0 -597
  411. package/src/claude/skills/devflow/input-validation/SKILL.md +0 -514
  412. package/src/claude/skills/devflow/pattern-check/SKILL.md +0 -238
  413. package/src/claude/skills/devflow/research/SKILL.md +0 -138
  414. package/src/claude/skills/devflow/test-design/SKILL.md +0 -384
@@ -0,0 +1,487 @@
1
+ # Complexity Resolution Patterns
2
+
3
+ Correct patterns for addressing complexity issues.
4
+
5
+ ---
6
+
7
+ ## Deep Nesting Solutions
8
+
9
+ ### Early Returns
10
+
11
+ ```typescript
12
+ // Extract nested conditionals with early returns
13
+ function processOrder(order: Order) {
14
+ if (!order?.items) return;
15
+
16
+ for (const item of order.items) {
17
+ processItem(item);
18
+ }
19
+ }
20
+
21
+ function processItem(item: OrderItem) {
22
+ if (item.quantity <= 0) return;
23
+ if (!item.product?.inStock) return;
24
+
25
+ // Actual logic at top level
26
+ }
27
+ ```
28
+
29
+ ### Guard Clauses
30
+
31
+ ```typescript
32
+ // Validate preconditions first
33
+ async function updateUser(userId: string, data: UpdateData) {
34
+ // Guards at the top
35
+ if (!userId) return Err({ type: 'InvalidInput', field: 'userId' });
36
+ if (!data) return Err({ type: 'InvalidInput', field: 'data' });
37
+
38
+ const user = await userRepo.findById(userId);
39
+ if (!user) return Err({ type: 'NotFound', id: userId });
40
+ if (!user.canBeUpdated) return Err({ type: 'Forbidden' });
41
+
42
+ // Happy path at normal indentation
43
+ const updated = { ...user, ...data };
44
+ return Ok(await userRepo.save(updated));
45
+ }
46
+ ```
47
+
48
+ ### Extract and Compose
49
+
50
+ ```typescript
51
+ // Break nested try-catch into composed functions
52
+ async function fetchAndProcess(url: string): Promise<Result<void, Error>> {
53
+ const response = await safeFetch(url);
54
+ if (!response.ok) return response;
55
+
56
+ const data = await safeParseJson(response.value);
57
+ if (!data.ok) return data;
58
+
59
+ return processItems(data.value.items);
60
+ }
61
+
62
+ async function safeFetch(url: string): Promise<Result<Response, Error>> {
63
+ try {
64
+ const response = await fetch(url);
65
+ if (!response.ok) return Err(new Error(`HTTP ${response.status}`));
66
+ return Ok(response);
67
+ } catch (error) {
68
+ return Err(error as Error);
69
+ }
70
+ }
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Long Function Solutions
76
+
77
+ ### Extract Logical Units
78
+
79
+ ```typescript
80
+ // Break monolithic function into composed steps
81
+ async function handleCheckout(cart: Cart, user: User) {
82
+ const validated = validateCart(cart);
83
+ const priced = calculatePricing(validated);
84
+ const reserved = await reserveInventory(priced);
85
+ const payment = await processPayment(reserved, user);
86
+ await sendNotifications(payment);
87
+ trackAnalytics(payment);
88
+ return payment;
89
+ }
90
+ ```
91
+
92
+ ### Pipeline Pattern
93
+
94
+ ```typescript
95
+ // Chain transformations clearly
96
+ async function userRegistrationFlow(formData: FormData): Promise<Result<User, Error>> {
97
+ return pipe(
98
+ formData,
99
+ validateFormData,
100
+ sanitizeInput,
101
+ checkForDuplicates,
102
+ hashPassword,
103
+ createUserRecord,
104
+ sendVerificationEmail,
105
+ createSession
106
+ );
107
+ }
108
+ ```
109
+
110
+ ### Command Pattern
111
+
112
+ ```typescript
113
+ // Encapsulate each step as a command
114
+ class CheckoutProcessor {
115
+ private steps: CheckoutStep[] = [
116
+ new ValidateCartStep(),
117
+ new CalculatePricingStep(),
118
+ new ReserveInventoryStep(),
119
+ new ProcessPaymentStep(),
120
+ new SendNotificationsStep(),
121
+ ];
122
+
123
+ async process(cart: Cart, user: User): Promise<CheckoutResult> {
124
+ let context = { cart, user };
125
+ for (const step of this.steps) {
126
+ const result = await step.execute(context);
127
+ if (!result.ok) return result;
128
+ context = result.value;
129
+ }
130
+ return Ok(context);
131
+ }
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## High Cyclomatic Complexity Solutions
138
+
139
+ ### Data-Driven Approach
140
+
141
+ ```typescript
142
+ // Replace decision tree with lookup
143
+ const categoryRules: Record<string, (item: Item) => string> = {
144
+ 'A': categorizeTypeA,
145
+ 'B': categorizeTypeB,
146
+ 'C': categorizeTypeC,
147
+ };
148
+
149
+ function categorize(item: Item): string {
150
+ const handler = categoryRules[item.type];
151
+ return handler ? handler(item) : 'unknown';
152
+ }
153
+
154
+ function categorizeTypeA(item: Item): string {
155
+ const size = item.size > 10 ? 'large' : 'small';
156
+ const color = item.color || 'other';
157
+ return `A-${size}-${color}`;
158
+ }
159
+ ```
160
+
161
+ ### Strategy Pattern
162
+
163
+ ```typescript
164
+ // Encapsulate variants in classes
165
+ interface EventHandler {
166
+ canHandle(event: Event): boolean;
167
+ handle(event: Event): Promise<void>;
168
+ }
169
+
170
+ class UserCreatedHandler implements EventHandler {
171
+ canHandle(event: Event) { return event.type === 'USER_CREATED'; }
172
+ async handle(event: Event) { /* focused logic */ }
173
+ }
174
+
175
+ class EventProcessor {
176
+ constructor(private handlers: EventHandler[]) {}
177
+
178
+ async process(event: Event) {
179
+ const handler = this.handlers.find(h => h.canHandle(event));
180
+ if (handler) await handler.handle(event);
181
+ }
182
+ }
183
+ ```
184
+
185
+ ### Polymorphism
186
+
187
+ ```typescript
188
+ // Use type system to eliminate conditionals
189
+ abstract class User {
190
+ abstract getPermissions(): Permission[];
191
+ abstract canAccessResource(resource: Resource): boolean;
192
+ }
193
+
194
+ class AdminUser extends User {
195
+ getPermissions() { return ALL_PERMISSIONS; }
196
+ canAccessResource() { return true; }
197
+ }
198
+
199
+ class RegularUser extends User {
200
+ getPermissions() { return BASIC_PERMISSIONS; }
201
+ canAccessResource(resource: Resource) {
202
+ return resource.isPublic || this.owns(resource);
203
+ }
204
+ }
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Magic Value Solutions
210
+
211
+ ### Named Constants
212
+
213
+ ```typescript
214
+ // Extract literals to named constants
215
+ const OrderStatus = {
216
+ PENDING: 1,
217
+ PROCESSING: 2,
218
+ COMPLETED: 3,
219
+ } as const;
220
+
221
+ const ONE_DAY_MS = 24 * 60 * 60 * 1000;
222
+ const MAX_RETRIES = 5;
223
+
224
+ if (status === OrderStatus.COMPLETED) {
225
+ setTimeout(callback, ONE_DAY_MS);
226
+ retry(MAX_RETRIES);
227
+ }
228
+ ```
229
+
230
+ ### Configuration Objects
231
+
232
+ ```typescript
233
+ // Centralize business rules
234
+ const ShippingRates = {
235
+ HEAVY_ITEM_THRESHOLD: 50, // kg
236
+ LONG_DISTANCE_THRESHOLD: 500, // km
237
+ rates: {
238
+ heavy: 29.99,
239
+ longDistance: 19.99,
240
+ bulky: 24.99,
241
+ standard: 9.99,
242
+ }
243
+ } as const;
244
+
245
+ function calculateShipping(weight: number, distance: number): number {
246
+ if (weight > ShippingRates.HEAVY_ITEM_THRESHOLD) return ShippingRates.rates.heavy;
247
+ if (distance > ShippingRates.LONG_DISTANCE_THRESHOLD) return ShippingRates.rates.longDistance;
248
+ return ShippingRates.rates.standard;
249
+ }
250
+ ```
251
+
252
+ ---
253
+
254
+ ## Complex Expression Solutions
255
+
256
+ ### Break Into Named Steps
257
+
258
+ ```typescript
259
+ // Replace chained operations with named steps
260
+ const activePremiumUsers = data.filter(isActivePremium);
261
+ const withScores = activePremiumUsers.map(calculateScore);
262
+ const topScore = findHighestScore(withScores);
263
+
264
+ function isActivePremium(user: User) {
265
+ return user.active && user.type === 'premium';
266
+ }
267
+
268
+ function calculateScore(user: User) {
269
+ const multiplier = user.bonus ? 1.5 : 1;
270
+ return { ...user, score: (user.points * multiplier) / user.level };
271
+ }
272
+
273
+ function findHighestScore(users: ScoredUser[]) {
274
+ return users.sort((a, b) => b.score - a.score)[0]?.score ?? 0;
275
+ }
276
+ ```
277
+
278
+ ### Replace Ternary Chains
279
+
280
+ ```typescript
281
+ // Use mapping or switch for multiple conditions
282
+ function getUserStatus(user: User): string {
283
+ if (user.isAdmin) return 'admin';
284
+ if (user.isModerator) return 'moderator';
285
+ if (user.isVerified) return 'verified';
286
+ if (user.isPending) return 'pending';
287
+ return 'guest';
288
+ }
289
+
290
+ // Or use a lookup
291
+ const statusPriority = [
292
+ { check: (u: User) => u.isAdmin, status: 'admin' },
293
+ { check: (u: User) => u.isModerator, status: 'moderator' },
294
+ { check: (u: User) => u.isVerified, status: 'verified' },
295
+ { check: (u: User) => u.isPending, status: 'pending' },
296
+ ];
297
+
298
+ function getUserStatus(user: User): string {
299
+ return statusPriority.find(p => p.check(user))?.status ?? 'guest';
300
+ }
301
+ ```
302
+
303
+ ---
304
+
305
+ ## Naming Solutions
306
+
307
+ ### Descriptive Names
308
+
309
+ ```typescript
310
+ // Replace cryptic with descriptive
311
+ const now = new Date();
312
+ const oneDayAgo = now.getTime() - ONE_DAY_MS;
313
+ const recentItems = items.filter(item => item.timestamp > oneDayAgo);
314
+ const totalPrice = recentItems.reduce((sum, item) => sum + item.price, 0);
315
+ ```
316
+
317
+ ### Intent-Revealing Names
318
+
319
+ ```typescript
320
+ // Name functions by what they do
321
+ function findOverdueInvoices(invoices: Invoice[]): Invoice[] {
322
+ const thirtyDaysAgo = subDays(new Date(), 30);
323
+ return invoices.filter(inv => inv.dueDate < thirtyDaysAgo && !inv.paid);
324
+ }
325
+
326
+ // Not: function process(data) or function filter(items)
327
+ ```
328
+
329
+ ---
330
+
331
+ ## Code Duplication Solutions
332
+
333
+ ### Generic Validation Framework
334
+
335
+ ```typescript
336
+ // Extract common pattern
337
+ type ValidationRule<T> = (value: T) => string | null;
338
+
339
+ function validate<T>(value: T, rules: ValidationRule<T>[]): ValidationResult {
340
+ for (const rule of rules) {
341
+ const error = rule(value);
342
+ if (error) return { valid: false, error };
343
+ }
344
+ return { valid: true, error: null };
345
+ }
346
+
347
+ const required = (v: string) => v ? null : 'Required';
348
+ const minLength = (n: number) => (v: string) => v.length >= n ? null : 'Too short';
349
+ const isEmail = (v: string) => v.includes('@') ? null : 'Invalid format';
350
+
351
+ const validateEmail = (email: string) => validate(email, [required, isEmail]);
352
+ const validateUsername = (name: string) => validate(name, [required, minLength(3)]);
353
+ ```
354
+
355
+ ### Generic Resource Handler
356
+
357
+ ```typescript
358
+ // Abstract the common pattern
359
+ function createResourceHandler<T>(
360
+ tableName: string,
361
+ findById: (id: string) => Promise<T | null>
362
+ ) {
363
+ return async (req: Request, res: Response) => {
364
+ try {
365
+ const entity = await findById(req.params.id);
366
+ if (!entity) return res.status(404).json({ error: 'Not found' });
367
+ res.json(entity);
368
+ } catch (error) {
369
+ res.status(500).json({ error: 'Internal error' });
370
+ }
371
+ };
372
+ }
373
+
374
+ app.get('/users/:id', createResourceHandler('users', db.users.findById));
375
+ app.get('/orders/:id', createResourceHandler('orders', db.orders.findById));
376
+ ```
377
+
378
+ ---
379
+
380
+ ## Parameter List Solutions
381
+
382
+ ### Object Parameter
383
+
384
+ ```typescript
385
+ // Group related parameters
386
+ interface CreateUserParams {
387
+ name: string;
388
+ email: string;
389
+ password: string;
390
+ role: string;
391
+ department: string;
392
+ manager?: string;
393
+ startDate: Date;
394
+ salary: number;
395
+ benefits?: string[];
396
+ }
397
+
398
+ function createUser(params: CreateUserParams) {
399
+ // ...
400
+ }
401
+ ```
402
+
403
+ ### Options Object for Booleans
404
+
405
+ ```typescript
406
+ // Replace boolean flags with named options
407
+ interface FormatOptions {
408
+ includeHeader?: boolean;
409
+ includeFooter?: boolean;
410
+ useColor?: boolean;
411
+ landscape?: boolean;
412
+ doubleSided?: boolean;
413
+ }
414
+
415
+ function formatDocument(doc: Document, options: FormatOptions = {}) {
416
+ // ...
417
+ }
418
+
419
+ // Call site is clear:
420
+ formatDocument(doc, { useColor: true, doubleSided: true });
421
+ ```
422
+
423
+ ---
424
+
425
+ ## Boolean Complexity Solutions
426
+
427
+ ### Extract Named Predicates
428
+
429
+ ```typescript
430
+ // Replace complex boolean with readable function
431
+ const canModerate = (user: User): boolean => {
432
+ if (!user.active || user.deleted) return false;
433
+ if (!['admin', 'moderator'].includes(user.role)) return false;
434
+ if (!user.verified) return false;
435
+ if (user.suspended && user.suspendedUntil >= Date.now()) return false;
436
+ return true;
437
+ };
438
+
439
+ if (canModerate(user)) {
440
+ // ...
441
+ }
442
+ ```
443
+
444
+ ### Positive Conditions
445
+
446
+ ```typescript
447
+ // Eliminate double negatives
448
+ // Before: if (!user.isNotActive && !items.isEmpty())
449
+ // After:
450
+ if (user.isActive && items.length > 0) {
451
+ // ...
452
+ }
453
+
454
+ // Apply De Morgan's law and simplify
455
+ // Before: if (!(a && !b) || !(!c || d))
456
+ // After:
457
+ if (!a || b || (c && !d)) {
458
+ // ...
459
+ }
460
+ ```
461
+
462
+ ---
463
+
464
+ ## Shotgun Surgery Solutions
465
+
466
+ ### Encapsulate Variation
467
+
468
+ ```typescript
469
+ // Adding new type = one new class
470
+ interface UserTypeHandler {
471
+ validate(data: UserData): ValidationResult;
472
+ serialize(user: User): SerializedUser;
473
+ getPermissions(): Permission[];
474
+ }
475
+
476
+ class AdminUserHandler implements UserTypeHandler { /* ... */ }
477
+ class RegularUserHandler implements UserTypeHandler { /* ... */ }
478
+ class GuestUserHandler implements UserTypeHandler { /* ... */ }
479
+
480
+ // Registry for handlers
481
+ const handlers = new Map<UserType, UserTypeHandler>();
482
+ handlers.set('admin', new AdminUserHandler());
483
+ handlers.set('regular', new RegularUserHandler());
484
+ handlers.set('guest', new GuestUserHandler());
485
+
486
+ // Adding new type: just add one new class and register it
487
+ ```