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,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
+ ```