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,156 @@
1
+ ---
2
+ name: security-patterns
3
+ description: Security vulnerability analysis patterns for code review. Detects injection flaws, authentication bypasses, insecure cryptography, hardcoded secrets, and missing input sanitization. Loaded by Reviewer agent when focus=security.
4
+ user-invocable: false
5
+ allowed-tools: Read, Grep, Glob
6
+ ---
7
+
8
+ # Security Patterns
9
+
10
+ Domain expertise for security vulnerability detection. Use alongside `review-methodology` for complete security reviews.
11
+
12
+ ## Iron Law
13
+
14
+ > **ASSUME ALL INPUT IS MALICIOUS**
15
+ >
16
+ > Every user input, URL parameter, header, and cookie is an attack vector. Use parameterized
17
+ > queries always. Escape output always. Validate schemas always. "This field is internal"
18
+ > is not a defense. Defense in depth, not wishful thinking.
19
+
20
+ ---
21
+
22
+ ## Vulnerability Categories
23
+
24
+ ### 1. Input Validation & Injection
25
+
26
+ **SQL Injection**
27
+ ```typescript
28
+ // VULNERABLE
29
+ const query = `SELECT * FROM users WHERE email = '${email}'`;
30
+
31
+ // SECURE
32
+ await db.execute("SELECT * FROM users WHERE email = ?", [email]);
33
+ ```
34
+
35
+ **XSS (Cross-Site Scripting)**
36
+ ```typescript
37
+ // VULNERABLE
38
+ element.innerHTML = userInput;
39
+
40
+ // SECURE
41
+ element.textContent = userInput;
42
+ ```
43
+
44
+ > See `references/injection.md` for NoSQL, command injection, path traversal patterns.
45
+
46
+ ### 2. Authentication & Authorization
47
+
48
+ **Missing Auth Checks**
49
+ ```typescript
50
+ // VULNERABLE
51
+ app.delete('/api/users/:id', async (req, res) => {
52
+ await deleteUser(req.params.id); // No auth!
53
+ });
54
+
55
+ // SECURE
56
+ app.delete('/api/users/:id', requireAuth, requireRole('admin'), handler);
57
+ ```
58
+
59
+ > See `references/auth.md` for password policies, session management, JWT patterns.
60
+
61
+ ### 3. Cryptography & Secrets
62
+
63
+ **Hardcoded Secrets**
64
+ ```typescript
65
+ // VULNERABLE
66
+ const API_KEY = 'sk-abc123xyz789';
67
+
68
+ // SECURE
69
+ const API_KEY = process.env.API_KEY;
70
+ ```
71
+
72
+ **Insecure Random**
73
+ ```typescript
74
+ // VULNERABLE
75
+ const token = Math.random().toString(36);
76
+
77
+ // SECURE
78
+ const token = crypto.randomBytes(32).toString('hex');
79
+ ```
80
+
81
+ > See `references/crypto.md` for weak crypto detection, encryption patterns.
82
+
83
+ ### 4. Configuration & Headers
84
+
85
+ ```typescript
86
+ // REQUIRED: Use helmet or set manually
87
+ app.use(helmet());
88
+ res.setHeader('Content-Security-Policy', "default-src 'self'");
89
+ res.setHeader('X-Frame-Options', 'DENY');
90
+ res.setHeader('Strict-Transport-Security', 'max-age=31536000');
91
+
92
+ // CORS: Never use origin: '*'
93
+ app.use(cors({ origin: ['https://myapp.com'], credentials: true }));
94
+ ```
95
+
96
+ ### 5. Business Logic
97
+
98
+ **Race Conditions**
99
+ ```typescript
100
+ // VULNERABLE
101
+ if (balance >= amount) await withdraw(userId, amount);
102
+
103
+ // SECURE: Use transactions with row locks
104
+ await db.transaction(async (tx) => {
105
+ const balance = await tx.getBalance(userId, { forUpdate: true });
106
+ if (balance >= amount) await tx.withdraw(userId, amount);
107
+ });
108
+ ```
109
+
110
+ **Mass Assignment**
111
+ ```typescript
112
+ // VULNERABLE
113
+ await User.create(req.body); // All fields accepted!
114
+
115
+ // SECURE: Explicitly list allowed fields
116
+ await User.create({ email: req.body.email, name: req.body.name });
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Extended References
122
+
123
+ | Reference | Content |
124
+ |-----------|---------|
125
+ | `references/injection.md` | NoSQL, command, path traversal, LDAP, template injection |
126
+ | `references/auth.md` | Password policy, session management, JWT, RBAC/ABAC |
127
+ | `references/crypto.md` | Secret management, weak crypto, encryption, timing attacks |
128
+ | `references/detection.md` | All grep patterns for automated scanning |
129
+
130
+ ---
131
+
132
+ ## Severity Guidelines
133
+
134
+ | Level | Criteria | Examples |
135
+ |-------|----------|----------|
136
+ | **CRITICAL** | Immediate exploitation | SQL injection in auth, RCE, hardcoded admin creds |
137
+ | **HIGH** | Significant risk | XSS, broken access control, weak crypto, CSRF |
138
+ | **MEDIUM** | Moderate with conditions | Missing headers, permissive CORS, missing rate limits |
139
+ | **LOW** | Minor improvement | Outdated deps (no CVE), suboptimal CSP |
140
+
141
+ ---
142
+
143
+ ## OWASP Reference
144
+
145
+ | ID | Category | Examples |
146
+ |----|----------|----------|
147
+ | A01 | Broken Access Control | Missing auth, IDOR, privilege escalation |
148
+ | A02 | Cryptographic Failures | Weak hashing, hardcoded secrets |
149
+ | A03 | Injection | SQL, NoSQL, command, XSS |
150
+ | A04 | Insecure Design | Missing rate limits, mass assignment |
151
+ | A05 | Security Misconfiguration | Debug enabled, missing headers |
152
+ | A06 | Vulnerable Components | Outdated deps with known CVEs |
153
+ | A07 | Auth Failures | Weak passwords, session issues |
154
+ | A08 | Data Integrity Failures | Untrusted deserialization |
155
+ | A09 | Logging Failures | Missing security logs |
156
+ | A10 | SSRF | Unvalidated URLs in server requests |
@@ -0,0 +1,287 @@
1
+ # Security Detection Patterns
2
+
3
+ Comprehensive grep commands and patterns for security vulnerability detection.
4
+
5
+ ## Injection Detection
6
+
7
+ ### SQL Injection
8
+
9
+ ```bash
10
+ # String interpolation in queries
11
+ grep -rn "query.*\${" --include="*.ts" --include="*.js"
12
+ grep -rn "query.*+ " --include="*.ts" --include="*.js"
13
+ grep -rn "execute.*\`" --include="*.ts" --include="*.js"
14
+
15
+ # Raw SQL with variables
16
+ grep -rn "SELECT.*\${" --include="*.ts" --include="*.js"
17
+ grep -rn "INSERT.*\${" --include="*.ts" --include="*.js"
18
+ grep -rn "UPDATE.*\${" --include="*.ts" --include="*.js"
19
+ grep -rn "DELETE.*\${" --include="*.ts" --include="*.js"
20
+
21
+ # ORM raw queries
22
+ grep -rn "\.raw\s*\(" --include="*.ts" --include="*.js"
23
+ grep -rn "\.query\s*\(" --include="*.ts" --include="*.js"
24
+ ```
25
+
26
+ ### NoSQL Injection
27
+
28
+ ```bash
29
+ # MongoDB queries with user input
30
+ grep -rn "findOne.*req\.\|find.*req\." --include="*.ts" --include="*.js"
31
+ grep -rn "\$where" --include="*.ts" --include="*.js"
32
+ grep -rn "\$regex.*req\." --include="*.ts" --include="*.js"
33
+ ```
34
+
35
+ ### Command Injection
36
+
37
+ ```bash
38
+ # Shell execution
39
+ grep -rn "exec\s*\(" --include="*.ts" --include="*.js"
40
+ grep -rn "execSync" --include="*.ts" --include="*.js"
41
+ grep -rn "spawn.*\`" --include="*.ts" --include="*.js"
42
+ grep -rn "child_process" --include="*.ts" --include="*.js"
43
+
44
+ # Eval and similar
45
+ grep -rn "eval\s*\(" --include="*.ts" --include="*.js"
46
+ grep -rn "Function\s*\(" --include="*.ts" --include="*.js"
47
+ grep -rn "new Function" --include="*.ts" --include="*.js"
48
+ ```
49
+
50
+ ### XSS Detection
51
+
52
+ ```bash
53
+ # Dangerous DOM manipulation
54
+ grep -rn "innerHTML" --include="*.ts" --include="*.js" --include="*.tsx" --include="*.jsx"
55
+ grep -rn "document.write" --include="*.ts" --include="*.js"
56
+ grep -rn "dangerouslySetInnerHTML" --include="*.tsx" --include="*.jsx"
57
+
58
+ # React unescaped rendering
59
+ grep -rn "__html" --include="*.tsx" --include="*.jsx"
60
+ ```
61
+
62
+ ### Path Traversal
63
+
64
+ ```bash
65
+ # File operations with user input
66
+ grep -rn "readFile.*req\.\|readFileSync.*req\." --include="*.ts" --include="*.js"
67
+ grep -rn "writeFile.*req\.\|writeFileSync.*req\." --include="*.ts" --include="*.js"
68
+ grep -rn "path\.join.*req\." --include="*.ts" --include="*.js"
69
+ grep -rn "fs\.\|readdir\|unlink" --include="*.ts" --include="*.js"
70
+ ```
71
+
72
+ ## Authentication Detection
73
+
74
+ ### Missing Auth Middleware
75
+
76
+ ```bash
77
+ # Endpoints without auth checks
78
+ grep -rn "app\.\(get\|post\|put\|delete\|patch\).*async" --include="*.ts" --include="*.js" | \
79
+ grep -v "requireAuth\|isAuthenticated\|authorize\|protect"
80
+
81
+ # Express route handlers
82
+ grep -rn "router\.\(get\|post\|put\|delete\).*\(" --include="*.ts" --include="*.js" | \
83
+ grep -v "auth\|protect\|verify"
84
+ ```
85
+
86
+ ### JWT Issues
87
+
88
+ ```bash
89
+ # JWT without algorithm specification
90
+ grep -rn "jwt\.sign\|jwt\.verify" --include="*.ts" --include="*.js" -A 5 | \
91
+ grep -v "algorithm"
92
+
93
+ # JWT without expiration
94
+ grep -rn "jwt\.sign" --include="*.ts" --include="*.js" -A 5 | \
95
+ grep -v "expiresIn\|exp"
96
+
97
+ # Weak JWT secrets
98
+ grep -rn "jwt\.sign.*['\"][a-zA-Z0-9]\{1,20\}['\"]" --include="*.ts" --include="*.js"
99
+ ```
100
+
101
+ ### Session Issues
102
+
103
+ ```bash
104
+ # Session configuration
105
+ grep -rn "session\|cookie" --include="*.ts" --include="*.js" | \
106
+ grep -v "httpOnly\|secure\|sameSite"
107
+
108
+ # Session in URL
109
+ grep -rn "session.*=.*req\.query\|session.*=.*req\.params" --include="*.ts" --include="*.js"
110
+ ```
111
+
112
+ ### Password Handling
113
+
114
+ ```bash
115
+ # Weak password requirements
116
+ grep -rn "password.*length" --include="*.ts" --include="*.js" | \
117
+ grep -v "minLength.*12\|min.*12"
118
+
119
+ # Plain text password storage
120
+ grep -rn "password.*=.*req\." --include="*.ts" --include="*.js" | \
121
+ grep -v "hash\|bcrypt\|argon"
122
+ ```
123
+
124
+ ## Cryptography Detection
125
+
126
+ ### Hardcoded Secrets
127
+
128
+ ```bash
129
+ # Common secret patterns
130
+ grep -rn "password.*=.*['\"]" --include="*.ts" --include="*.js"
131
+ grep -rn "api.key.*=.*['\"]" --include="*.ts" --include="*.js"
132
+ grep -rn "secret.*=.*['\"]" --include="*.ts" --include="*.js"
133
+ grep -rn "token.*=.*['\"]" --include="*.ts" --include="*.js"
134
+
135
+ # API key patterns
136
+ grep -rn "sk-\|pk-\|api_" --include="*.ts" --include="*.js" --include="*.json"
137
+ grep -rn "AKIA[0-9A-Z]\{16\}" --include="*.ts" --include="*.js" # AWS keys
138
+
139
+ # Private keys
140
+ grep -rn "BEGIN.*PRIVATE KEY" --include="*.ts" --include="*.js" --include="*.pem"
141
+ ```
142
+
143
+ ### Weak Algorithms
144
+
145
+ ```bash
146
+ # Weak hash functions
147
+ grep -rn "createHash.*md5\|sha1" --include="*.ts" --include="*.js"
148
+
149
+ # Weak encryption
150
+ grep -rn "DES\|RC4\|Blowfish" --include="*.ts" --include="*.js"
151
+ grep -rn "aes-.*-ecb" --include="*.ts" --include="*.js"
152
+
153
+ # Non-authenticated encryption
154
+ grep -rn "aes-.*-cbc" --include="*.ts" --include="*.js" | \
155
+ grep -v "hmac\|auth"
156
+ ```
157
+
158
+ ### Insecure Random
159
+
160
+ ```bash
161
+ # Math.random for security
162
+ grep -rn "Math.random" --include="*.ts" --include="*.js"
163
+
164
+ # Date-based IDs
165
+ grep -rn "Date.now.*id\|Date.now.*token" --include="*.ts" --include="*.js"
166
+
167
+ # UUID v1 (time-based)
168
+ grep -rn "uuid\.v1\|uuidv1" --include="*.ts" --include="*.js"
169
+ ```
170
+
171
+ ## Configuration Detection
172
+
173
+ ### CORS Issues
174
+
175
+ ```bash
176
+ # Permissive CORS
177
+ grep -rn "cors.*origin.*\*\|Access-Control.*\*" --include="*.ts" --include="*.js"
178
+ grep -rn "cors.*credentials.*true" --include="*.ts" --include="*.js"
179
+ ```
180
+
181
+ ### Missing Headers
182
+
183
+ ```bash
184
+ # Check for security headers
185
+ grep -rn "Content-Security-Policy\|X-Frame-Options\|X-Content-Type-Options" \
186
+ --include="*.ts" --include="*.js" -l
187
+ # If no results, headers may be missing
188
+
189
+ # Check for helmet usage
190
+ grep -rn "helmet" --include="*.ts" --include="*.js"
191
+ ```
192
+
193
+ ### Error Exposure
194
+
195
+ ```bash
196
+ # Stack trace exposure
197
+ grep -rn "err\.stack\|error\.stack" --include="*.ts" --include="*.js" | \
198
+ grep -v "console\|log\|debug"
199
+
200
+ # Verbose errors to client
201
+ grep -rn "res\.json.*error\|res\.send.*error" --include="*.ts" --include="*.js"
202
+ ```
203
+
204
+ ## Business Logic Detection
205
+
206
+ ### Race Conditions
207
+
208
+ ```bash
209
+ # Check-then-act patterns
210
+ grep -rn "if.*balance\|if.*quantity\|if.*available" --include="*.ts" --include="*.js" -A 3 | \
211
+ grep -v "transaction\|lock"
212
+
213
+ # Missing transaction blocks
214
+ grep -rn "await.*update\|await.*delete" --include="*.ts" --include="*.js" | \
215
+ grep -v "transaction\|atomic"
216
+ ```
217
+
218
+ ### Mass Assignment
219
+
220
+ ```bash
221
+ # Direct body assignment
222
+ grep -rn "\.create.*req\.body\|\.update.*req\.body" --include="*.ts" --include="*.js"
223
+ grep -rn "Object\.assign.*req\.body\|{.*\.\.\.req\.body" --include="*.ts" --include="*.js"
224
+ ```
225
+
226
+ ## Quick Security Audit Script
227
+
228
+ ```bash
229
+ #!/bin/bash
230
+ # security-audit.sh - Run all detection patterns
231
+
232
+ echo "=== Security Audit ==="
233
+
234
+ echo -e "\n## Injection Risks"
235
+ echo "SQL Injection:"
236
+ grep -rn "query.*\${" --include="*.ts" --include="*.js" 2>/dev/null | head -5
237
+
238
+ echo -e "\nXSS:"
239
+ grep -rn "innerHTML\|dangerouslySetInnerHTML" --include="*.ts" --include="*.js" --include="*.tsx" 2>/dev/null | head -5
240
+
241
+ echo -e "\n## Hardcoded Secrets"
242
+ grep -rn "password.*=.*['\"]" --include="*.ts" --include="*.js" 2>/dev/null | head -5
243
+ grep -rn "api.key.*=.*['\"]" --include="*.ts" --include="*.js" 2>/dev/null | head -5
244
+
245
+ echo -e "\n## Weak Crypto"
246
+ grep -rn "createHash.*md5\|sha1" --include="*.ts" --include="*.js" 2>/dev/null | head -5
247
+ grep -rn "Math.random" --include="*.ts" --include="*.js" 2>/dev/null | head -5
248
+
249
+ echo -e "\n## Missing Auth"
250
+ grep -rn "app\.\(get\|post\|put\|delete\).*async" --include="*.ts" --include="*.js" 2>/dev/null | \
251
+ grep -v "requireAuth\|isAuthenticated" | head -5
252
+
253
+ echo -e "\n=== End Audit ==="
254
+ ```
255
+
256
+ ## Integration with CI/CD
257
+
258
+ ```yaml
259
+ # .github/workflows/security.yml
260
+ name: Security Scan
261
+ on: [push, pull_request]
262
+
263
+ jobs:
264
+ security:
265
+ runs-on: ubuntu-latest
266
+ steps:
267
+ - uses: actions/checkout@v4
268
+
269
+ - name: Check for hardcoded secrets
270
+ run: |
271
+ if grep -rn "password.*=.*['\"]" --include="*.ts" --include="*.js" src/; then
272
+ echo "::error::Potential hardcoded secrets found"
273
+ exit 1
274
+ fi
275
+
276
+ - name: Check for weak crypto
277
+ run: |
278
+ if grep -rn "createHash.*md5\|sha1" --include="*.ts" --include="*.js" src/; then
279
+ echo "::warning::Weak hash algorithms detected"
280
+ fi
281
+
282
+ - name: Check for Math.random
283
+ run: |
284
+ if grep -rn "Math.random" --include="*.ts" --include="*.js" src/; then
285
+ echo "::warning::Math.random used - verify not for security"
286
+ fi
287
+ ```