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,503 @@
1
+ # Performance Correct Patterns
2
+
3
+ Extended correct patterns for performance optimization. Reference from main SKILL.md.
4
+
5
+ ## Algorithmic Solutions
6
+
7
+ ### N+1 Query Solutions
8
+
9
+ **ORM Eager Loading**
10
+ ```typescript
11
+ // CORRECT: Include related data in single query
12
+ const posts = await Post.findAll({
13
+ include: [
14
+ { model: User, as: 'author' },
15
+ { model: Comment, limit: 10 }
16
+ ]
17
+ });
18
+ ```
19
+
20
+ **GraphQL DataLoader**
21
+ ```typescript
22
+ // CORRECT: Batch and cache with DataLoader
23
+ const userLoader = new DataLoader(async (ids) => {
24
+ const users = await db.users.findAll({ where: { id: ids } });
25
+ return ids.map(id => users.find(u => u.id === id));
26
+ });
27
+
28
+ const resolvers = {
29
+ Post: {
30
+ author: (post) => userLoader.load(post.authorId) // Batched!
31
+ }
32
+ };
33
+ ```
34
+
35
+ **Batch Query with Map**
36
+ ```typescript
37
+ // CORRECT: Single query, map results
38
+ async function enrichOrders(orders: Order[]) {
39
+ const customerIds = [...new Set(orders.map(o => o.customerId))];
40
+ const customers = await db.customers.findByIds(customerIds);
41
+ const customerMap = new Map(customers.map(c => [c.id, c]));
42
+
43
+ return orders.map(o => ({
44
+ ...o,
45
+ customer: customerMap.get(o.customerId)
46
+ }));
47
+ }
48
+ ```
49
+
50
+ ### Efficient Algorithm Patterns
51
+
52
+ **Set for Lookup**
53
+ ```typescript
54
+ // CORRECT: O(n+m) instead of O(n*m)
55
+ function findCommon(list1: string[], list2: string[]) {
56
+ const set = new Set(list2);
57
+ return list1.filter(item => set.has(item));
58
+ }
59
+ ```
60
+
61
+ **Map for Grouping**
62
+ ```typescript
63
+ // CORRECT: Single pass grouping
64
+ function groupBy<T, K extends string>(items: T[], keyFn: (item: T) => K) {
65
+ const groups = new Map<K, T[]>();
66
+ for (const item of items) {
67
+ const key = keyFn(item);
68
+ const group = groups.get(key) || [];
69
+ group.push(item);
70
+ groups.set(key, group);
71
+ }
72
+ return groups;
73
+ }
74
+ ```
75
+
76
+ **Efficient String Building**
77
+ ```typescript
78
+ // CORRECT: Array join instead of string concat
79
+ function buildCsv(rows: string[][]): string {
80
+ return rows.map(row => row.join(',')).join('\n');
81
+ }
82
+
83
+ // Or for very large data: streaming
84
+ function* streamCsv(rows: string[][]): Generator<string> {
85
+ for (const row of rows) {
86
+ yield row.join(',') + '\n';
87
+ }
88
+ }
89
+ ```
90
+
91
+ **Proper Queue Implementation**
92
+ ```typescript
93
+ // CORRECT: O(1) dequeue with circular buffer or linked list
94
+ class Queue<T> {
95
+ private items: T[] = [];
96
+ private head = 0;
97
+
98
+ enqueue(item: T): void {
99
+ this.items.push(item);
100
+ }
101
+
102
+ dequeue(): T | undefined {
103
+ if (this.head >= this.items.length) return undefined;
104
+ const item = this.items[this.head];
105
+ this.items[this.head] = undefined as any; // Allow GC
106
+ this.head++;
107
+
108
+ // Compact when half empty
109
+ if (this.head > this.items.length / 2) {
110
+ this.items = this.items.slice(this.head);
111
+ this.head = 0;
112
+ }
113
+ return item;
114
+ }
115
+ }
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Database Solutions
121
+
122
+ ### Indexing Strategies
123
+
124
+ **Composite Index for Range Queries**
125
+ ```sql
126
+ -- CORRECT: Index supports both equality and range
127
+ CREATE INDEX idx_orders_customer_date ON orders(customer_id, created_at DESC);
128
+
129
+ -- Efficient query
130
+ SELECT * FROM orders
131
+ WHERE customer_id = 123
132
+ ORDER BY created_at DESC
133
+ LIMIT 10;
134
+ ```
135
+
136
+ **Covering Index**
137
+ ```sql
138
+ -- CORRECT: Index includes all needed columns
139
+ CREATE INDEX idx_users_status_email ON users(status) INCLUDE (email, name);
140
+
141
+ -- Query satisfied entirely from index
142
+ SELECT email, name FROM users WHERE status = 'active';
143
+ ```
144
+
145
+ **Partial Index for Common Filters**
146
+ ```sql
147
+ -- CORRECT: Index only relevant rows
148
+ CREATE INDEX idx_orders_pending ON orders(created_at)
149
+ WHERE status = 'pending';
150
+
151
+ -- Efficient for common query pattern
152
+ SELECT * FROM orders WHERE status = 'pending' ORDER BY created_at;
153
+ ```
154
+
155
+ ### Efficient Query Patterns
156
+
157
+ **Select Specific Columns**
158
+ ```typescript
159
+ // CORRECT: Only fetch needed data
160
+ const users = await db.query(
161
+ 'SELECT id, name, email FROM users WHERE status = ?',
162
+ ['active']
163
+ );
164
+ ```
165
+
166
+ **Cursor-Based Pagination**
167
+ ```typescript
168
+ // CORRECT: Efficient for large datasets
169
+ async function getOrdersPage(cursor?: string, limit = 20) {
170
+ const query = cursor
171
+ ? 'SELECT * FROM orders WHERE id > ? ORDER BY id LIMIT ?'
172
+ : 'SELECT * FROM orders ORDER BY id LIMIT ?';
173
+
174
+ const params = cursor ? [cursor, limit + 1] : [limit + 1];
175
+ const rows = await db.query(query, params);
176
+
177
+ const hasMore = rows.length > limit;
178
+ const items = hasMore ? rows.slice(0, -1) : rows;
179
+ const nextCursor = hasMore ? items[items.length - 1].id : null;
180
+
181
+ return { items, nextCursor, hasMore };
182
+ }
183
+ ```
184
+
185
+ **Batch Processing Large Tables**
186
+ ```typescript
187
+ // CORRECT: Process in chunks to avoid memory issues
188
+ async function processAllOrders(batchSize = 1000) {
189
+ let cursor: string | null = null;
190
+
191
+ do {
192
+ const { items, nextCursor } = await getOrdersPage(cursor, batchSize);
193
+ await Promise.all(items.map(processOrder));
194
+ cursor = nextCursor;
195
+ } while (cursor);
196
+ }
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Memory Solutions
202
+
203
+ ### Cleanup Patterns
204
+
205
+ **Event Listener Cleanup**
206
+ ```typescript
207
+ // CORRECT: Track and cleanup listeners
208
+ class Component {
209
+ private cleanupFns: (() => void)[] = [];
210
+
211
+ mount() {
212
+ const handler = (e: Event) => this.handleResize(e);
213
+ window.addEventListener('resize', handler);
214
+ this.cleanupFns.push(() => window.removeEventListener('resize', handler));
215
+ }
216
+
217
+ unmount() {
218
+ this.cleanupFns.forEach(fn => fn());
219
+ this.cleanupFns = [];
220
+ }
221
+ }
222
+ ```
223
+
224
+ **AbortController for Async Cleanup**
225
+ ```typescript
226
+ // CORRECT: Cancel pending operations
227
+ class DataFetcher {
228
+ private controller?: AbortController;
229
+
230
+ async fetch(url: string) {
231
+ this.controller?.abort();
232
+ this.controller = new AbortController();
233
+
234
+ const response = await fetch(url, { signal: this.controller.signal });
235
+ return response.json();
236
+ }
237
+
238
+ cancel() {
239
+ this.controller?.abort();
240
+ }
241
+ }
242
+ ```
243
+
244
+ **Weak References for Caches**
245
+ ```typescript
246
+ // CORRECT: Allow GC to reclaim cached objects
247
+ const cache = new WeakMap<object, ComputedResult>();
248
+
249
+ function getOrCompute(key: object): ComputedResult {
250
+ let result = cache.get(key);
251
+ if (!result) {
252
+ result = computeExpensive(key);
253
+ cache.set(key, result);
254
+ }
255
+ return result;
256
+ }
257
+ ```
258
+
259
+ ### Allocation Optimization
260
+
261
+ **Efficient Object Accumulation**
262
+ ```typescript
263
+ // CORRECT: Direct property assignment
264
+ function indexById<T extends { id: string }>(items: T[]): Record<string, T> {
265
+ const result: Record<string, T> = {};
266
+ for (const item of items) {
267
+ result[item.id] = item; // No spreading
268
+ }
269
+ return result;
270
+ }
271
+ ```
272
+
273
+ **Pre-allocated Arrays**
274
+ ```typescript
275
+ // CORRECT: Single allocation when size known
276
+ function processItems(items: Item[]): ProcessedItem[] {
277
+ const results = new Array<ProcessedItem>(items.length);
278
+ for (let i = 0; i < items.length; i++) {
279
+ results[i] = process(items[i]);
280
+ }
281
+ return results;
282
+ }
283
+ ```
284
+
285
+ **Streaming for Large Data**
286
+ ```typescript
287
+ // CORRECT: Process without loading all into memory
288
+ async function* readLargeFile(path: string): AsyncGenerator<string> {
289
+ const stream = createReadStream(path);
290
+ const rl = readline.createInterface({ input: stream });
291
+
292
+ for await (const line of rl) {
293
+ yield line;
294
+ }
295
+ }
296
+
297
+ // Usage
298
+ for await (const line of readLargeFile('huge.csv')) {
299
+ processLine(line); // Constant memory usage
300
+ }
301
+ ```
302
+
303
+ ---
304
+
305
+ ## I/O Solutions
306
+
307
+ ### Async Patterns
308
+
309
+ **Async File Operations**
310
+ ```typescript
311
+ // CORRECT: Non-blocking I/O
312
+ import fs from 'fs/promises';
313
+
314
+ async function readConfig() {
315
+ return JSON.parse(await fs.readFile('./config.json', 'utf-8'));
316
+ }
317
+ ```
318
+
319
+ **Worker Threads for CPU-Intensive**
320
+ ```typescript
321
+ // CORRECT: Offload to worker
322
+ import { Worker } from 'worker_threads';
323
+
324
+ async function hashPassword(password: string): Promise<string> {
325
+ return new Promise((resolve, reject) => {
326
+ const worker = new Worker('./hash-worker.js', {
327
+ workerData: { password }
328
+ });
329
+ worker.on('message', resolve);
330
+ worker.on('error', reject);
331
+ });
332
+ }
333
+ ```
334
+
335
+ ### Parallelism Patterns
336
+
337
+ **Promise.all for Independent Operations**
338
+ ```typescript
339
+ // CORRECT: Parallel independent fetches
340
+ async function loadDashboard(userId: string) {
341
+ const [user, orders, notifications] = await Promise.all([
342
+ getUser(userId),
343
+ getOrders(userId),
344
+ getNotifications(userId)
345
+ ]);
346
+ return { user, orders, notifications };
347
+ }
348
+ ```
349
+
350
+ **Controlled Concurrency**
351
+ ```typescript
352
+ // CORRECT: Limit parallel operations
353
+ async function processAll(items: Item[], concurrency = 5) {
354
+ const results: Result[] = [];
355
+ const executing: Promise<void>[] = [];
356
+
357
+ for (const item of items) {
358
+ const promise = process(item).then(r => {
359
+ results.push(r);
360
+ executing.splice(executing.indexOf(promise), 1);
361
+ });
362
+ executing.push(promise);
363
+
364
+ if (executing.length >= concurrency) {
365
+ await Promise.race(executing);
366
+ }
367
+ }
368
+
369
+ await Promise.all(executing);
370
+ return results;
371
+ }
372
+ ```
373
+
374
+ **Promise.allSettled for Fault Tolerance**
375
+ ```typescript
376
+ // CORRECT: Continue despite failures
377
+ async function fetchAllWithFallback(urls: string[]) {
378
+ const results = await Promise.allSettled(urls.map(url => fetch(url)));
379
+
380
+ return results.map((result, i) => ({
381
+ url: urls[i],
382
+ success: result.status === 'fulfilled',
383
+ data: result.status === 'fulfilled' ? result.value : null,
384
+ error: result.status === 'rejected' ? result.reason : null
385
+ }));
386
+ }
387
+ ```
388
+
389
+ ---
390
+
391
+ ## Frontend Solutions
392
+
393
+ ### React Optimization Patterns
394
+
395
+ **Memoized Callbacks**
396
+ ```tsx
397
+ // CORRECT: Stable function reference
398
+ function UserList({ users, onSelect }: Props) {
399
+ const handleSelect = useCallback((userId: string) => {
400
+ onSelect(userId);
401
+ }, [onSelect]);
402
+
403
+ return <List items={users} onSelect={handleSelect} />;
404
+ }
405
+ ```
406
+
407
+ **Memoized Computed Values**
408
+ ```tsx
409
+ // CORRECT: Only recompute when dependencies change
410
+ function Dashboard({ data }: Props) {
411
+ const stats = useMemo(() => computeExpensiveStats(data), [data]);
412
+ return <Stats data={stats} />;
413
+ }
414
+ ```
415
+
416
+ **Component Memoization**
417
+ ```tsx
418
+ // CORRECT: Skip re-render if props unchanged
419
+ const UserCard = memo(function UserCard({ user }: Props) {
420
+ return (
421
+ <div>
422
+ <h3>{user.name}</h3>
423
+ <p>{user.email}</p>
424
+ </div>
425
+ );
426
+ });
427
+ ```
428
+
429
+ **Lazy Loading**
430
+ ```tsx
431
+ // CORRECT: Load on demand
432
+ const HeavyChart = lazy(() => import('./HeavyChart'));
433
+
434
+ function Dashboard() {
435
+ const [showChart, setShowChart] = useState(false);
436
+
437
+ return (
438
+ <div>
439
+ <button onClick={() => setShowChart(true)}>Show Chart</button>
440
+ {showChart && (
441
+ <Suspense fallback={<Spinner />}>
442
+ <HeavyChart />
443
+ </Suspense>
444
+ )}
445
+ </div>
446
+ );
447
+ }
448
+ ```
449
+
450
+ **Virtualized Lists**
451
+ ```tsx
452
+ // CORRECT: Only render visible items
453
+ import { useVirtualizer } from '@tanstack/react-virtual';
454
+
455
+ function VirtualList({ items }: Props) {
456
+ const parentRef = useRef<HTMLDivElement>(null);
457
+
458
+ const virtualizer = useVirtualizer({
459
+ count: items.length,
460
+ getScrollElement: () => parentRef.current,
461
+ estimateSize: () => 35
462
+ });
463
+
464
+ return (
465
+ <div ref={parentRef} style={{ height: '400px', overflow: 'auto' }}>
466
+ <div style={{ height: virtualizer.getTotalSize() }}>
467
+ {virtualizer.getVirtualItems().map(virtualRow => (
468
+ <div
469
+ key={virtualRow.key}
470
+ style={{
471
+ position: 'absolute',
472
+ top: virtualRow.start,
473
+ height: virtualRow.size
474
+ }}
475
+ >
476
+ {items[virtualRow.index].name}
477
+ </div>
478
+ ))}
479
+ </div>
480
+ </div>
481
+ );
482
+ }
483
+ ```
484
+
485
+ **Debounced Input**
486
+ ```tsx
487
+ // CORRECT: Debounce expensive operations
488
+ function SearchInput({ onSearch }: Props) {
489
+ const [value, setValue] = useState('');
490
+
491
+ const debouncedSearch = useMemo(
492
+ () => debounce((term: string) => onSearch(term), 300),
493
+ [onSearch]
494
+ );
495
+
496
+ const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
497
+ setValue(e.target.value);
498
+ debouncedSearch(e.target.value);
499
+ };
500
+
501
+ return <input value={value} onChange={handleChange} />;
502
+ }
503
+ ```