devflow-kit 1.8.3 → 2.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 (867) hide show
  1. package/CHANGELOG.md +183 -6
  2. package/LICENSE +1 -1
  3. package/README.md +139 -219
  4. package/dist/cli/agents-view/index.js +9 -0
  5. package/dist/cli/agents-view/render.js +310 -0
  6. package/dist/cli/agents-view/state.js +423 -0
  7. package/dist/cli/agents-view/terminal.js +179 -0
  8. package/dist/cli/commands/agents.js +585 -0
  9. package/dist/cli/commands/ambient.js +231 -0
  10. package/dist/cli/commands/capture.js +133 -0
  11. package/dist/cli/commands/compliance-prompts.js +174 -0
  12. package/dist/cli/commands/compliance.js +337 -0
  13. package/dist/cli/commands/context.js +66 -0
  14. package/dist/cli/commands/debug.js +122 -0
  15. package/dist/cli/commands/flags.js +119 -0
  16. package/dist/cli/commands/hud.js +229 -0
  17. package/dist/cli/commands/init-seed.js +226 -0
  18. package/dist/cli/commands/init.js +1786 -0
  19. package/dist/cli/commands/knowledge/index.js +25 -0
  20. package/dist/cli/commands/knowledge/list.js +115 -0
  21. package/dist/cli/commands/knowledge/toggle.js +84 -0
  22. package/dist/cli/commands/learning.js +311 -0
  23. package/dist/cli/commands/legacy-hooks.js +40 -0
  24. package/dist/cli/commands/memory.js +349 -0
  25. package/dist/cli/commands/proxy.js +1435 -0
  26. package/dist/cli/commands/rules.js +334 -0
  27. package/dist/cli/commands/safe-delete.js +140 -0
  28. package/dist/cli/commands/security.js +179 -0
  29. package/dist/cli/commands/skills.js +140 -0
  30. package/dist/cli/commands/uninstall.js +1214 -0
  31. package/dist/cli.js +35 -10
  32. package/dist/commands/bug-analysis.md +400 -0
  33. package/dist/commands/code-review.md +403 -0
  34. package/dist/commands/debug.md +282 -0
  35. package/dist/commands/dynamic-build.md +972 -0
  36. package/dist/commands/dynamic-plan.md +383 -0
  37. package/dist/commands/dynamic-profile.md +206 -0
  38. package/dist/commands/dynamic-tickets.md +583 -0
  39. package/dist/commands/explore.md +208 -0
  40. package/dist/commands/implement.md +590 -0
  41. package/dist/commands/plan.md +570 -0
  42. package/dist/commands/release.md +206 -0
  43. package/dist/commands/research.md +212 -0
  44. package/dist/commands/resolve.md +731 -0
  45. package/dist/commands/self-review.md +251 -0
  46. package/dist/core/agent-frontmatter.js +209 -0
  47. package/dist/core/agent-models.js +556 -0
  48. package/dist/core/agent-state.js +44 -0
  49. package/dist/core/assets.js +39 -0
  50. package/dist/core/cache.js +205 -0
  51. package/dist/core/codex-auth-inspect.js +128 -0
  52. package/dist/core/compliance-compose.js +458 -0
  53. package/dist/core/compliance.js +165 -0
  54. package/dist/core/external-models.js +76 -0
  55. package/dist/core/feature-config.js +125 -0
  56. package/dist/core/flags.js +309 -0
  57. package/dist/core/fs-atomic.js +74 -0
  58. package/dist/core/git.js +61 -0
  59. package/dist/core/learning-queue-cleanup.js +92 -0
  60. package/dist/core/learning-tuning-config.js +78 -0
  61. package/dist/core/manifest.js +171 -0
  62. package/dist/core/migrations.js +330 -0
  63. package/dist/core/model-discovery.js +655 -0
  64. package/dist/core/observation-io.js +50 -0
  65. package/dist/core/observations.js +109 -0
  66. package/dist/core/orphan-sweep.js +92 -0
  67. package/dist/core/paths.js +48 -0
  68. package/dist/core/plugins.js +525 -0
  69. package/dist/core/project-paths.js +159 -0
  70. package/dist/core/proxy-log.js +165 -0
  71. package/dist/core/proxy-state.js +305 -0
  72. package/dist/core/safe-delete-install.js +191 -0
  73. package/dist/core/teammate-mode-cleanup.js +33 -0
  74. package/dist/hud/colors.js +13 -2
  75. package/dist/hud/components/config-counts.js +2 -2
  76. package/dist/hud/components/context-usage.js +2 -2
  77. package/dist/hud/components/learning-counts.js +92 -0
  78. package/dist/hud/components/session-cost.js +10 -2
  79. package/dist/hud/components/usage-quota.js +43 -8
  80. package/dist/hud/components/version-badge.js +14 -4
  81. package/dist/hud/config.js +4 -2
  82. package/dist/hud/cost-history.js +281 -0
  83. package/dist/hud/git.js +112 -71
  84. package/dist/hud/index.js +47 -4
  85. package/dist/hud/render.js +8 -20
  86. package/dist/hud/transcript.js +5 -6
  87. package/dist/targets/claude-code/claude-paths.js +106 -0
  88. package/dist/targets/claude-code/compliance-install.js +305 -0
  89. package/dist/targets/claude-code/hooks.js +9 -0
  90. package/dist/targets/claude-code/installer.js +458 -0
  91. package/dist/targets/claude-code/legacy.js +239 -0
  92. package/dist/targets/claude-code/post-install.js +971 -0
  93. package/package.json +23 -17
  94. package/src/assets/agents/code.md +244 -0
  95. package/src/assets/agents/design.md +113 -0
  96. package/src/assets/agents/diagnose.md +210 -0
  97. package/src/assets/agents/evaluate.md +117 -0
  98. package/src/assets/agents/git.md +938 -0
  99. package/src/assets/agents/knowledge.md +89 -0
  100. package/src/assets/agents/learning.md +203 -0
  101. package/src/assets/agents/research.md +134 -0
  102. package/src/assets/agents/review.md +220 -0
  103. package/src/assets/agents/scrutinize.md +95 -0
  104. package/src/assets/agents/simplify.md +108 -0
  105. package/src/assets/agents/skim.md +136 -0
  106. package/src/assets/agents/synthesize.md +402 -0
  107. package/src/assets/agents/test.md +155 -0
  108. package/src/assets/agents/triage.md +141 -0
  109. package/src/assets/agents/validate.md +103 -0
  110. package/src/assets/commands/_partials/_compliance.mds +5 -0
  111. package/src/assets/commands/_partials/_decisions.mds +20 -0
  112. package/src/assets/commands/_partials/_engine.mds +244 -0
  113. package/src/assets/commands/_partials/_factory.mds +216 -0
  114. package/src/assets/commands/_partials/_knowledge.mds +95 -0
  115. package/src/assets/commands/_partials/_plan_contract.mds +51 -0
  116. package/src/assets/commands/_partials/_preamble.mds +82 -0
  117. package/src/assets/commands/_partials/_publication.mds +7 -0
  118. package/src/assets/commands/_partials/_roster.mds +31 -0
  119. package/src/assets/commands/_partials/_ticket_template.mds +59 -0
  120. package/src/assets/commands/_partials/_wave.mds +123 -0
  121. package/src/assets/commands/bug-analysis.mds +353 -0
  122. package/src/assets/commands/code-review.mds +355 -0
  123. package/src/assets/commands/debug.mds +224 -0
  124. package/src/assets/commands/dynamic-build.mds +534 -0
  125. package/src/assets/commands/dynamic-plan.mds +244 -0
  126. package/src/assets/commands/dynamic-profile.mds +132 -0
  127. package/src/assets/commands/dynamic-tickets.mds +226 -0
  128. package/src/assets/commands/explore.mds +150 -0
  129. package/src/assets/commands/implement.mds +496 -0
  130. package/src/assets/commands/plan.mds +523 -0
  131. package/src/assets/commands/release.md +206 -0
  132. package/src/assets/commands/research.mds +164 -0
  133. package/src/assets/commands/resolve.mds +636 -0
  134. package/src/assets/commands/self-review.mds +156 -0
  135. package/src/assets/rules/accessibility.md +11 -0
  136. package/src/assets/rules/compliance.md +15 -0
  137. package/src/assets/rules/engineering.md +13 -0
  138. package/src/assets/rules/go.md +12 -0
  139. package/src/assets/rules/java.md +12 -0
  140. package/src/assets/rules/python.md +12 -0
  141. package/src/assets/rules/quality.md +14 -0
  142. package/src/assets/rules/react.md +11 -0
  143. package/src/assets/rules/reliability.md +12 -0
  144. package/src/assets/rules/rust.md +12 -0
  145. package/src/assets/rules/security.md +12 -0
  146. package/src/assets/rules/typescript.md +12 -0
  147. package/src/assets/rules/ui-design.md +11 -0
  148. package/src/assets/scripts/hooks/assets/orchestrator-charter.md +21 -0
  149. package/src/assets/scripts/hooks/background-memory-update +460 -0
  150. package/src/assets/scripts/hooks/capture-prompt +87 -0
  151. package/src/assets/scripts/hooks/capture-question +153 -0
  152. package/src/assets/scripts/hooks/capture-turn +105 -0
  153. package/src/assets/scripts/hooks/debug-trace +75 -0
  154. package/src/assets/scripts/hooks/decisions-usage-scan.cjs +131 -0
  155. package/src/assets/scripts/hooks/ensure-devflow-init +39 -0
  156. package/src/assets/scripts/hooks/ensure-proxy +294 -0
  157. package/src/assets/scripts/hooks/ensure-root-gitignore +116 -0
  158. package/src/assets/scripts/hooks/get-mtime +23 -0
  159. package/src/assets/scripts/hooks/git-marker +16 -0
  160. package/src/assets/scripts/hooks/hook-bootstrap +25 -0
  161. package/src/assets/scripts/hooks/hook-log-init +41 -0
  162. package/src/assets/scripts/hooks/json-helper.cjs +725 -0
  163. package/src/assets/scripts/hooks/json-parse +243 -0
  164. package/src/assets/scripts/hooks/learning-lock +44 -0
  165. package/src/assets/scripts/hooks/lib/decisions-format.cjs +301 -0
  166. package/src/assets/scripts/hooks/lib/mkdir-lock.cjs +106 -0
  167. package/src/assets/scripts/hooks/lib/project-paths.cjs +230 -0
  168. package/src/assets/scripts/hooks/lib/render-decisions.cjs +398 -0
  169. package/src/assets/scripts/hooks/lib/safe-path.cjs +29 -0
  170. package/src/assets/scripts/hooks/log-paths +24 -0
  171. package/src/assets/scripts/hooks/memory-worker +101 -0
  172. package/src/assets/scripts/hooks/pre-compact-memory +126 -0
  173. package/src/assets/scripts/hooks/preamble +77 -0
  174. package/src/assets/scripts/hooks/queue-append +120 -0
  175. package/src/assets/scripts/hooks/resolve-project-root +37 -0
  176. package/src/assets/scripts/hooks/run-hook +31 -0
  177. package/src/assets/scripts/hooks/session-start-context +180 -0
  178. package/src/assets/scripts/hooks/session-start-memory +318 -0
  179. package/src/assets/scripts/hooks/session-start-orchestrator +54 -0
  180. package/src/assets/scripts/hud.sh +5 -0
  181. package/src/assets/scripts/redact-secrets.cjs +410 -0
  182. package/src/assets/skills/accessibility/SKILL.md +145 -0
  183. package/src/assets/skills/accessibility/references/patterns.md +398 -0
  184. package/src/assets/skills/accessibility/references/sources.md +26 -0
  185. package/src/assets/skills/accessibility/references/violations.md +358 -0
  186. package/src/assets/skills/apply-decisions/SKILL.md +100 -0
  187. package/src/assets/skills/apply-feature-knowledge/SKILL.md +69 -0
  188. package/src/assets/skills/architecture/SKILL.md +138 -0
  189. package/src/assets/skills/architecture/references/patterns.md +378 -0
  190. package/src/assets/skills/architecture/references/sources.md +41 -0
  191. package/src/assets/skills/architecture/references/violations.md +314 -0
  192. package/src/assets/skills/boundary-validation/SKILL.md +119 -0
  193. package/src/assets/skills/boundary-validation/references/detection.md +283 -0
  194. package/src/assets/skills/boundary-validation/references/patterns.md +283 -0
  195. package/src/assets/skills/boundary-validation/references/sources.md +41 -0
  196. package/src/assets/skills/boundary-validation/references/violations.md +211 -0
  197. package/src/assets/skills/complexity/SKILL.md +150 -0
  198. package/src/assets/skills/compliance/SKILL.md +121 -0
  199. package/src/assets/skills/compliance/frameworks/gdpr/fragment.md +11 -0
  200. package/src/assets/skills/compliance/frameworks/gdpr/reference.md +50 -0
  201. package/src/assets/skills/compliance/frameworks/hipaa/fragment.md +11 -0
  202. package/src/assets/skills/compliance/frameworks/hipaa/reference.md +44 -0
  203. package/src/assets/skills/compliance/frameworks/iso-27001/fragment.md +10 -0
  204. package/src/assets/skills/compliance/frameworks/iso-27001/reference.md +45 -0
  205. package/src/assets/skills/compliance/frameworks/pci-dss/fragment.md +11 -0
  206. package/src/assets/skills/compliance/frameworks/pci-dss/reference.md +55 -0
  207. package/src/assets/skills/compliance/frameworks/soc2/fragment.md +10 -0
  208. package/src/assets/skills/compliance/frameworks/soc2/reference.md +53 -0
  209. package/src/assets/skills/compliance/frameworks/sox/fragment.md +10 -0
  210. package/src/assets/skills/compliance/frameworks/sox/reference.md +67 -0
  211. package/src/assets/skills/compliance/references/detection.md +108 -0
  212. package/src/assets/skills/compliance/references/sources.md +28 -0
  213. package/src/assets/skills/consistency/SKILL.md +140 -0
  214. package/src/assets/skills/database/SKILL.md +134 -0
  215. package/src/assets/skills/dependencies/SKILL.md +141 -0
  216. package/src/assets/skills/dependency-research/SKILL.md +133 -0
  217. package/src/assets/skills/dependency-research/references/evaluation-criteria.md +101 -0
  218. package/src/assets/skills/design-review/SKILL.md +155 -0
  219. package/src/assets/skills/design-review/references/anti-patterns.md +207 -0
  220. package/src/assets/skills/docs-framework/SKILL.md +190 -0
  221. package/src/assets/skills/docs-framework/references/patterns.md +381 -0
  222. package/src/assets/skills/docs-framework/references/violations.md +221 -0
  223. package/src/assets/skills/documentation/SKILL.md +126 -0
  224. package/src/assets/skills/feature-knowledge/SKILL.md +341 -0
  225. package/src/assets/skills/gap-analysis/SKILL.md +151 -0
  226. package/src/assets/skills/gap-analysis/references/check-layers.md +125 -0
  227. package/src/assets/skills/git/SKILL.md +287 -0
  228. package/src/assets/skills/git/references/github-api.md +666 -0
  229. package/src/assets/skills/git/references/patterns.md +324 -0
  230. package/src/assets/skills/git/references/sources.md +16 -0
  231. package/src/assets/skills/git/references/violations.md +128 -0
  232. package/src/assets/skills/go/SKILL.md +147 -0
  233. package/src/assets/skills/go/references/concurrency.md +335 -0
  234. package/src/assets/skills/go/references/patterns.md +278 -0
  235. package/src/assets/skills/go/references/sources.md +41 -0
  236. package/src/assets/skills/go/references/violations.md +262 -0
  237. package/src/assets/skills/java/SKILL.md +148 -0
  238. package/src/assets/skills/java/references/modern-java.md +335 -0
  239. package/src/assets/skills/java/references/patterns.md +311 -0
  240. package/src/assets/skills/java/references/sources.md +44 -0
  241. package/src/assets/skills/java/references/violations.md +257 -0
  242. package/src/assets/skills/patterns/SKILL.md +162 -0
  243. package/src/assets/skills/performance/SKILL.md +135 -0
  244. package/src/assets/skills/performance/references/patterns.md +516 -0
  245. package/src/assets/skills/performance/references/sources.md +41 -0
  246. package/src/assets/skills/performance/references/violations.md +417 -0
  247. package/src/assets/skills/python/SKILL.md +156 -0
  248. package/src/assets/skills/python/references/async.md +255 -0
  249. package/src/assets/skills/python/references/patterns.md +280 -0
  250. package/src/assets/skills/python/references/sources.md +41 -0
  251. package/src/assets/skills/python/references/violations.md +272 -0
  252. package/src/assets/skills/qa/SKILL.md +136 -0
  253. package/src/assets/skills/qa/references/browser-testing.md +97 -0
  254. package/src/assets/skills/qa/references/patterns.md +118 -0
  255. package/src/assets/skills/qa/references/scenario-templates.md +102 -0
  256. package/src/assets/skills/qa/references/sources.md +30 -0
  257. package/src/assets/skills/qa/references/violations.md +98 -0
  258. package/src/assets/skills/quality-gates/SKILL.md +152 -0
  259. package/src/assets/skills/quality-gates/references/stub-detection.md +135 -0
  260. package/src/assets/skills/react/SKILL.md +143 -0
  261. package/src/assets/skills/react/references/error-handling.md +179 -0
  262. package/src/assets/skills/react/references/forms.md +214 -0
  263. package/src/assets/skills/react/references/hooks.md +193 -0
  264. package/src/assets/skills/react/references/patterns.md +1336 -0
  265. package/src/assets/skills/react/references/sources.md +35 -0
  266. package/src/assets/skills/react/references/violations.md +570 -0
  267. package/src/assets/skills/regression/SKILL.md +146 -0
  268. package/src/assets/skills/reliability/SKILL.md +153 -0
  269. package/src/assets/skills/reliability/references/detection.md +66 -0
  270. package/src/assets/skills/reliability/references/patterns.md +151 -0
  271. package/src/assets/skills/reliability/references/sources.md +27 -0
  272. package/src/assets/skills/reliability/references/violations.md +125 -0
  273. package/src/assets/skills/research-codebase/SKILL.md +135 -0
  274. package/src/assets/skills/research-competitor/SKILL.md +145 -0
  275. package/src/assets/skills/research-external/SKILL.md +141 -0
  276. package/src/assets/skills/research-market/SKILL.md +145 -0
  277. package/src/assets/skills/research-technology/SKILL.md +180 -0
  278. package/src/assets/skills/review-methodology/SKILL.md +121 -0
  279. package/src/assets/skills/review-methodology/references/patterns.md +186 -0
  280. package/src/assets/skills/review-methodology/references/report-template.md +142 -0
  281. package/src/assets/skills/review-methodology/references/violations.md +125 -0
  282. package/src/assets/skills/rust/SKILL.md +148 -0
  283. package/src/assets/skills/rust/references/ownership.md +278 -0
  284. package/src/assets/skills/rust/references/patterns.md +247 -0
  285. package/src/assets/skills/rust/references/sources.md +46 -0
  286. package/src/assets/skills/rust/references/violations.md +252 -0
  287. package/src/assets/skills/security/SKILL.md +121 -0
  288. package/src/assets/skills/security/references/patterns.md +271 -0
  289. package/src/assets/skills/security/references/sources.md +41 -0
  290. package/src/assets/skills/security/references/violations.md +241 -0
  291. package/src/assets/skills/software-design/SKILL.md +143 -0
  292. package/src/assets/skills/software-design/references/checklist.md +259 -0
  293. package/src/assets/skills/software-design/references/code-smell-violations.md +189 -0
  294. package/src/assets/skills/software-design/references/patterns.md +359 -0
  295. package/src/assets/skills/software-design/references/sources.md +41 -0
  296. package/src/assets/skills/software-design/references/violations.md +341 -0
  297. package/src/assets/skills/test-driven-development/SKILL.md +197 -0
  298. package/src/assets/skills/testing/SKILL.md +139 -0
  299. package/src/assets/skills/testing/references/patterns.md +346 -0
  300. package/src/assets/skills/testing/references/sources.md +53 -0
  301. package/src/assets/skills/testing/references/violations.md +322 -0
  302. package/src/assets/skills/typescript/SKILL.md +150 -0
  303. package/src/assets/skills/typescript/references/async.md +333 -0
  304. package/src/assets/skills/typescript/references/patterns.md +440 -0
  305. package/src/assets/skills/typescript/references/sources.md +41 -0
  306. package/src/assets/skills/typescript/references/type-guards.md +333 -0
  307. package/src/assets/skills/typescript/references/utility-types.md +255 -0
  308. package/src/assets/skills/typescript/references/violations.md +285 -0
  309. package/src/assets/skills/ui-design/SKILL.md +144 -0
  310. package/src/assets/skills/ui-design/references/patterns.md +341 -0
  311. package/src/assets/skills/ui-design/references/sources.md +41 -0
  312. package/src/assets/skills/ui-design/references/violations.md +312 -0
  313. package/src/assets/skills/worktree-support/SKILL.md +92 -0
  314. package/src/targets/claude-code/templates/claudeignore.template +188 -0
  315. package/src/targets/claude-code/templates/settings.json +86 -0
  316. package/dist/cli.d.ts +0 -3
  317. package/dist/commands/ambient.d.ts +0 -18
  318. package/dist/commands/ambient.js +0 -137
  319. package/dist/commands/hud.d.ts +0 -22
  320. package/dist/commands/hud.js +0 -180
  321. package/dist/commands/init.d.ts +0 -16
  322. package/dist/commands/init.js +0 -738
  323. package/dist/commands/list.d.ts +0 -24
  324. package/dist/commands/list.js +0 -89
  325. package/dist/commands/memory.d.ts +0 -22
  326. package/dist/commands/memory.js +0 -175
  327. package/dist/commands/skills.d.ts +0 -11
  328. package/dist/commands/skills.js +0 -116
  329. package/dist/commands/uninstall.d.ts +0 -22
  330. package/dist/commands/uninstall.js +0 -558
  331. package/dist/hud/cache.d.ts +0 -14
  332. package/dist/hud/cache.js +0 -54
  333. package/dist/hud/colors.d.ts +0 -23
  334. package/dist/hud/components/config-counts.d.ts +0 -8
  335. package/dist/hud/components/context-usage.d.ts +0 -8
  336. package/dist/hud/components/diff-stats.d.ts +0 -3
  337. package/dist/hud/components/directory.d.ts +0 -3
  338. package/dist/hud/components/git-ahead-behind.d.ts +0 -3
  339. package/dist/hud/components/git-branch.d.ts +0 -3
  340. package/dist/hud/components/model.d.ts +0 -3
  341. package/dist/hud/components/release-info.d.ts +0 -3
  342. package/dist/hud/components/session-cost.d.ts +0 -3
  343. package/dist/hud/components/session-duration.d.ts +0 -3
  344. package/dist/hud/components/todo-progress.d.ts +0 -3
  345. package/dist/hud/components/usage-quota.d.ts +0 -3
  346. package/dist/hud/components/version-badge.d.ts +0 -3
  347. package/dist/hud/components/worktree-count.d.ts +0 -3
  348. package/dist/hud/config.d.ts +0 -10
  349. package/dist/hud/credentials.d.ts +0 -17
  350. package/dist/hud/credentials.js +0 -99
  351. package/dist/hud/git.d.ts +0 -7
  352. package/dist/hud/index.d.ts +0 -2
  353. package/dist/hud/render.d.ts +0 -7
  354. package/dist/hud/stdin.d.ts +0 -6
  355. package/dist/hud/transcript.d.ts +0 -7
  356. package/dist/hud/types.d.ts +0 -116
  357. package/dist/hud/usage-api.d.ts +0 -7
  358. package/dist/hud/usage-api.js +0 -84
  359. package/dist/plugins.d.ts +0 -46
  360. package/dist/plugins.js +0 -233
  361. package/dist/utils/cli.d.ts +0 -5
  362. package/dist/utils/cli.js +0 -14
  363. package/dist/utils/git.d.ts +0 -11
  364. package/dist/utils/git.js +0 -36
  365. package/dist/utils/installer.d.ts +0 -41
  366. package/dist/utils/installer.js +0 -195
  367. package/dist/utils/manifest.d.ts +0 -46
  368. package/dist/utils/manifest.js +0 -100
  369. package/dist/utils/paths.d.ts +0 -42
  370. package/dist/utils/paths.js +0 -106
  371. package/dist/utils/post-install.d.ts +0 -87
  372. package/dist/utils/post-install.js +0 -546
  373. package/dist/utils/safe-delete-install.d.ts +0 -29
  374. package/dist/utils/safe-delete-install.js +0 -191
  375. package/dist/utils/safe-delete.d.ts +0 -12
  376. package/plugins/devflow-accessibility/.claude-plugin/plugin.json +0 -21
  377. package/plugins/devflow-accessibility/skills/accessibility/SKILL.md +0 -229
  378. package/plugins/devflow-accessibility/skills/accessibility/references/patterns.md +0 -670
  379. package/plugins/devflow-accessibility/skills/accessibility/references/violations.md +0 -419
  380. package/plugins/devflow-ambient/.claude-plugin/plugin.json +0 -33
  381. package/plugins/devflow-ambient/README.md +0 -68
  382. package/plugins/devflow-ambient/agents/coder.md +0 -135
  383. package/plugins/devflow-ambient/agents/reviewer.md +0 -165
  384. package/plugins/devflow-ambient/agents/scrutinizer.md +0 -82
  385. package/plugins/devflow-ambient/agents/shepherd.md +0 -108
  386. package/plugins/devflow-ambient/agents/simplifier.md +0 -102
  387. package/plugins/devflow-ambient/agents/skimmer.md +0 -143
  388. package/plugins/devflow-ambient/agents/validator.md +0 -86
  389. package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +0 -145
  390. package/plugins/devflow-ambient/skills/ambient-router/references/skill-catalog.md +0 -74
  391. package/plugins/devflow-ambient/skills/debug-orchestration/SKILL.md +0 -69
  392. package/plugins/devflow-ambient/skills/implementation-orchestration/SKILL.md +0 -92
  393. package/plugins/devflow-ambient/skills/plan-orchestration/SKILL.md +0 -71
  394. package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +0 -19
  395. package/plugins/devflow-audit-claude/README.md +0 -46
  396. package/plugins/devflow-audit-claude/agents/claude-md-auditor.md +0 -134
  397. package/plugins/devflow-audit-claude/commands/audit-claude.md +0 -89
  398. package/plugins/devflow-code-review/.claude-plugin/plugin.json +0 -38
  399. package/plugins/devflow-code-review/README.md +0 -73
  400. package/plugins/devflow-code-review/agents/git.md +0 -277
  401. package/plugins/devflow-code-review/agents/reviewer.md +0 -165
  402. package/plugins/devflow-code-review/agents/synthesizer.md +0 -211
  403. package/plugins/devflow-code-review/commands/code-review-teams.md +0 -285
  404. package/plugins/devflow-code-review/commands/code-review.md +0 -163
  405. package/plugins/devflow-code-review/skills/agent-teams/SKILL.md +0 -124
  406. package/plugins/devflow-code-review/skills/agent-teams/references/cleanup.md +0 -104
  407. package/plugins/devflow-code-review/skills/agent-teams/references/communication.md +0 -122
  408. package/plugins/devflow-code-review/skills/agent-teams/references/team-patterns.md +0 -217
  409. package/plugins/devflow-code-review/skills/architecture-patterns/SKILL.md +0 -153
  410. package/plugins/devflow-code-review/skills/architecture-patterns/references/patterns.md +0 -873
  411. package/plugins/devflow-code-review/skills/architecture-patterns/references/violations.md +0 -575
  412. package/plugins/devflow-code-review/skills/complexity-patterns/SKILL.md +0 -143
  413. package/plugins/devflow-code-review/skills/consistency-patterns/SKILL.md +0 -140
  414. package/plugins/devflow-code-review/skills/database-patterns/SKILL.md +0 -134
  415. package/plugins/devflow-code-review/skills/dependencies-patterns/SKILL.md +0 -141
  416. package/plugins/devflow-code-review/skills/documentation-patterns/SKILL.md +0 -125
  417. package/plugins/devflow-code-review/skills/knowledge-persistence/SKILL.md +0 -128
  418. package/plugins/devflow-code-review/skills/knowledge-persistence/references/examples.md +0 -44
  419. package/plugins/devflow-code-review/skills/performance-patterns/SKILL.md +0 -154
  420. package/plugins/devflow-code-review/skills/performance-patterns/references/patterns.md +0 -503
  421. package/plugins/devflow-code-review/skills/performance-patterns/references/violations.md +0 -354
  422. package/plugins/devflow-code-review/skills/regression-patterns/SKILL.md +0 -146
  423. package/plugins/devflow-code-review/skills/review-methodology/SKILL.md +0 -119
  424. package/plugins/devflow-code-review/skills/review-methodology/references/patterns.md +0 -186
  425. package/plugins/devflow-code-review/skills/review-methodology/references/report-template.md +0 -142
  426. package/plugins/devflow-code-review/skills/review-methodology/references/violations.md +0 -125
  427. package/plugins/devflow-code-review/skills/security-patterns/SKILL.md +0 -156
  428. package/plugins/devflow-code-review/skills/security-patterns/references/patterns.md +0 -507
  429. package/plugins/devflow-code-review/skills/security-patterns/references/violations.md +0 -237
  430. package/plugins/devflow-code-review/skills/test-patterns/SKILL.md +0 -183
  431. package/plugins/devflow-code-review/skills/test-patterns/references/patterns.md +0 -220
  432. package/plugins/devflow-code-review/skills/test-patterns/references/violations.md +0 -221
  433. package/plugins/devflow-core-skills/.claude-plugin/plugin.json +0 -31
  434. package/plugins/devflow-core-skills/README.md +0 -50
  435. package/plugins/devflow-core-skills/skills/core-patterns/SKILL.md +0 -162
  436. package/plugins/devflow-core-skills/skills/core-patterns/references/checklist.md +0 -276
  437. package/plugins/devflow-core-skills/skills/core-patterns/references/code-smell-violations.md +0 -144
  438. package/plugins/devflow-core-skills/skills/core-patterns/references/patterns.md +0 -576
  439. package/plugins/devflow-core-skills/skills/core-patterns/references/violations.md +0 -369
  440. package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +0 -143
  441. package/plugins/devflow-core-skills/skills/docs-framework/references/patterns.md +0 -346
  442. package/plugins/devflow-core-skills/skills/docs-framework/references/violations.md +0 -221
  443. package/plugins/devflow-core-skills/skills/git-safety/SKILL.md +0 -122
  444. package/plugins/devflow-core-skills/skills/git-safety/references/patterns.md +0 -289
  445. package/plugins/devflow-core-skills/skills/git-safety/references/violations.md +0 -18
  446. package/plugins/devflow-core-skills/skills/git-workflow/SKILL.md +0 -158
  447. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-patterns.md +0 -115
  448. package/plugins/devflow-core-skills/skills/git-workflow/references/commit-violations.md +0 -77
  449. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-patterns.md +0 -127
  450. package/plugins/devflow-core-skills/skills/git-workflow/references/pr-violations.md +0 -96
  451. package/plugins/devflow-core-skills/skills/github-patterns/SKILL.md +0 -153
  452. package/plugins/devflow-core-skills/skills/github-patterns/references/patterns.md +0 -572
  453. package/plugins/devflow-core-skills/skills/github-patterns/references/violations.md +0 -298
  454. package/plugins/devflow-core-skills/skills/input-validation/SKILL.md +0 -148
  455. package/plugins/devflow-core-skills/skills/input-validation/references/detection.md +0 -283
  456. package/plugins/devflow-core-skills/skills/input-validation/references/patterns.md +0 -361
  457. package/plugins/devflow-core-skills/skills/input-validation/references/violations.md +0 -224
  458. package/plugins/devflow-core-skills/skills/search-first/SKILL.md +0 -133
  459. package/plugins/devflow-core-skills/skills/search-first/references/evaluation-criteria.md +0 -101
  460. package/plugins/devflow-core-skills/skills/test-driven-development/SKILL.md +0 -137
  461. package/plugins/devflow-core-skills/skills/test-patterns/SKILL.md +0 -183
  462. package/plugins/devflow-core-skills/skills/test-patterns/references/detection.md +0 -149
  463. package/plugins/devflow-core-skills/skills/test-patterns/references/patterns.md +0 -220
  464. package/plugins/devflow-core-skills/skills/test-patterns/references/report-template.md +0 -108
  465. package/plugins/devflow-core-skills/skills/test-patterns/references/violations.md +0 -221
  466. package/plugins/devflow-debug/.claude-plugin/plugin.json +0 -26
  467. package/plugins/devflow-debug/README.md +0 -65
  468. package/plugins/devflow-debug/agents/git.md +0 -277
  469. package/plugins/devflow-debug/agents/synthesizer.md +0 -211
  470. package/plugins/devflow-debug/commands/debug-teams.md +0 -245
  471. package/plugins/devflow-debug/commands/debug.md +0 -174
  472. package/plugins/devflow-debug/skills/agent-teams/SKILL.md +0 -124
  473. package/plugins/devflow-debug/skills/agent-teams/references/cleanup.md +0 -104
  474. package/plugins/devflow-debug/skills/agent-teams/references/communication.md +0 -122
  475. package/plugins/devflow-debug/skills/agent-teams/references/team-patterns.md +0 -217
  476. package/plugins/devflow-debug/skills/git-safety/SKILL.md +0 -122
  477. package/plugins/devflow-debug/skills/git-safety/references/detection.md +0 -290
  478. package/plugins/devflow-debug/skills/git-safety/references/patterns.md +0 -289
  479. package/plugins/devflow-debug/skills/git-safety/references/violations.md +0 -18
  480. package/plugins/devflow-debug/skills/knowledge-persistence/SKILL.md +0 -128
  481. package/plugins/devflow-debug/skills/knowledge-persistence/references/examples.md +0 -44
  482. package/plugins/devflow-frontend-design/.claude-plugin/plugin.json +0 -21
  483. package/plugins/devflow-frontend-design/skills/frontend-design/SKILL.md +0 -254
  484. package/plugins/devflow-frontend-design/skills/frontend-design/references/patterns.md +0 -511
  485. package/plugins/devflow-frontend-design/skills/frontend-design/references/violations.md +0 -453
  486. package/plugins/devflow-go/.claude-plugin/plugin.json +0 -21
  487. package/plugins/devflow-go/skills/go/SKILL.md +0 -187
  488. package/plugins/devflow-go/skills/go/references/concurrency.md +0 -312
  489. package/plugins/devflow-go/skills/go/references/patterns.md +0 -232
  490. package/plugins/devflow-go/skills/go/references/violations.md +0 -205
  491. package/plugins/devflow-implement/.claude-plugin/plugin.json +0 -35
  492. package/plugins/devflow-implement/README.md +0 -71
  493. package/plugins/devflow-implement/agents/coder.md +0 -135
  494. package/plugins/devflow-implement/agents/git.md +0 -277
  495. package/plugins/devflow-implement/agents/scrutinizer.md +0 -82
  496. package/plugins/devflow-implement/agents/shepherd.md +0 -108
  497. package/plugins/devflow-implement/agents/simplifier.md +0 -102
  498. package/plugins/devflow-implement/agents/skimmer.md +0 -143
  499. package/plugins/devflow-implement/agents/synthesizer.md +0 -211
  500. package/plugins/devflow-implement/agents/validator.md +0 -86
  501. package/plugins/devflow-implement/commands/implement-teams.md +0 -620
  502. package/plugins/devflow-implement/commands/implement.md +0 -430
  503. package/plugins/devflow-implement/skills/agent-teams/SKILL.md +0 -124
  504. package/plugins/devflow-implement/skills/agent-teams/references/cleanup.md +0 -104
  505. package/plugins/devflow-implement/skills/agent-teams/references/communication.md +0 -122
  506. package/plugins/devflow-implement/skills/agent-teams/references/team-patterns.md +0 -217
  507. package/plugins/devflow-implement/skills/implementation-patterns/SKILL.md +0 -162
  508. package/plugins/devflow-implement/skills/knowledge-persistence/SKILL.md +0 -128
  509. package/plugins/devflow-implement/skills/knowledge-persistence/references/examples.md +0 -44
  510. package/plugins/devflow-implement/skills/self-review/SKILL.md +0 -149
  511. package/plugins/devflow-implement/skills/self-review/references/stub-detection.md +0 -135
  512. package/plugins/devflow-java/.claude-plugin/plugin.json +0 -21
  513. package/plugins/devflow-java/skills/java/SKILL.md +0 -183
  514. package/plugins/devflow-java/skills/java/references/modern-java.md +0 -270
  515. package/plugins/devflow-java/skills/java/references/patterns.md +0 -235
  516. package/plugins/devflow-java/skills/java/references/violations.md +0 -213
  517. package/plugins/devflow-python/.claude-plugin/plugin.json +0 -21
  518. package/plugins/devflow-python/skills/python/SKILL.md +0 -188
  519. package/plugins/devflow-python/skills/python/references/async.md +0 -220
  520. package/plugins/devflow-python/skills/python/references/patterns.md +0 -226
  521. package/plugins/devflow-python/skills/python/references/violations.md +0 -204
  522. package/plugins/devflow-react/.claude-plugin/plugin.json +0 -21
  523. package/plugins/devflow-react/skills/react/SKILL.md +0 -276
  524. package/plugins/devflow-react/skills/react/references/patterns.md +0 -1331
  525. package/plugins/devflow-react/skills/react/references/violations.md +0 -565
  526. package/plugins/devflow-resolve/.claude-plugin/plugin.json +0 -29
  527. package/plugins/devflow-resolve/README.md +0 -65
  528. package/plugins/devflow-resolve/agents/git.md +0 -277
  529. package/plugins/devflow-resolve/agents/resolver.md +0 -131
  530. package/plugins/devflow-resolve/agents/simplifier.md +0 -102
  531. package/plugins/devflow-resolve/commands/resolve-teams.md +0 -307
  532. package/plugins/devflow-resolve/commands/resolve.md +0 -246
  533. package/plugins/devflow-resolve/skills/agent-teams/SKILL.md +0 -124
  534. package/plugins/devflow-resolve/skills/agent-teams/references/cleanup.md +0 -104
  535. package/plugins/devflow-resolve/skills/agent-teams/references/communication.md +0 -122
  536. package/plugins/devflow-resolve/skills/agent-teams/references/team-patterns.md +0 -217
  537. package/plugins/devflow-resolve/skills/implementation-patterns/SKILL.md +0 -162
  538. package/plugins/devflow-resolve/skills/implementation-patterns/references/patterns.md +0 -1063
  539. package/plugins/devflow-resolve/skills/implementation-patterns/references/violations.md +0 -483
  540. package/plugins/devflow-resolve/skills/knowledge-persistence/SKILL.md +0 -128
  541. package/plugins/devflow-resolve/skills/knowledge-persistence/references/examples.md +0 -44
  542. package/plugins/devflow-resolve/skills/security-patterns/SKILL.md +0 -156
  543. package/plugins/devflow-resolve/skills/security-patterns/references/detection.md +0 -287
  544. package/plugins/devflow-resolve/skills/security-patterns/references/patterns.md +0 -507
  545. package/plugins/devflow-resolve/skills/security-patterns/references/violations.md +0 -237
  546. package/plugins/devflow-rust/.claude-plugin/plugin.json +0 -21
  547. package/plugins/devflow-rust/skills/rust/SKILL.md +0 -193
  548. package/plugins/devflow-rust/skills/rust/references/ownership.md +0 -242
  549. package/plugins/devflow-rust/skills/rust/references/patterns.md +0 -210
  550. package/plugins/devflow-rust/skills/rust/references/violations.md +0 -191
  551. package/plugins/devflow-self-review/.claude-plugin/plugin.json +0 -26
  552. package/plugins/devflow-self-review/README.md +0 -38
  553. package/plugins/devflow-self-review/agents/scrutinizer.md +0 -82
  554. package/plugins/devflow-self-review/agents/simplifier.md +0 -102
  555. package/plugins/devflow-self-review/agents/validator.md +0 -86
  556. package/plugins/devflow-self-review/commands/self-review.md +0 -132
  557. package/plugins/devflow-self-review/skills/core-patterns/SKILL.md +0 -162
  558. package/plugins/devflow-self-review/skills/core-patterns/references/checklist.md +0 -276
  559. package/plugins/devflow-self-review/skills/core-patterns/references/code-smell-violations.md +0 -144
  560. package/plugins/devflow-self-review/skills/core-patterns/references/detection.md +0 -303
  561. package/plugins/devflow-self-review/skills/core-patterns/references/patterns.md +0 -576
  562. package/plugins/devflow-self-review/skills/core-patterns/references/violations.md +0 -369
  563. package/plugins/devflow-self-review/skills/self-review/SKILL.md +0 -149
  564. package/plugins/devflow-self-review/skills/self-review/references/patterns.md +0 -405
  565. package/plugins/devflow-self-review/skills/self-review/references/report-template.md +0 -253
  566. package/plugins/devflow-self-review/skills/self-review/references/stub-detection.md +0 -135
  567. package/plugins/devflow-self-review/skills/self-review/references/violations.md +0 -308
  568. package/plugins/devflow-specify/.claude-plugin/plugin.json +0 -25
  569. package/plugins/devflow-specify/README.md +0 -46
  570. package/plugins/devflow-specify/agents/skimmer.md +0 -143
  571. package/plugins/devflow-specify/agents/synthesizer.md +0 -211
  572. package/plugins/devflow-specify/commands/specify-teams.md +0 -321
  573. package/plugins/devflow-specify/commands/specify.md +0 -186
  574. package/plugins/devflow-specify/skills/agent-teams/SKILL.md +0 -124
  575. package/plugins/devflow-specify/skills/agent-teams/references/cleanup.md +0 -104
  576. package/plugins/devflow-specify/skills/agent-teams/references/communication.md +0 -122
  577. package/plugins/devflow-specify/skills/agent-teams/references/team-patterns.md +0 -217
  578. package/plugins/devflow-typescript/.claude-plugin/plugin.json +0 -21
  579. package/plugins/devflow-typescript/skills/typescript/SKILL.md +0 -176
  580. package/plugins/devflow-typescript/skills/typescript/references/patterns.md +0 -1105
  581. package/plugins/devflow-typescript/skills/typescript/references/violations.md +0 -433
  582. package/scripts/hooks/ambient-prompt +0 -50
  583. package/scripts/hooks/background-memory-update +0 -257
  584. package/scripts/hooks/ensure-memory-gitignore +0 -17
  585. package/scripts/hooks/pre-compact-memory +0 -87
  586. package/scripts/hooks/run-hook +0 -23
  587. package/scripts/hooks/session-start-memory +0 -165
  588. package/scripts/hooks/stop-update-memory +0 -85
  589. package/scripts/hud/cache.d.ts +0 -14
  590. package/scripts/hud/cache.d.ts.map +0 -1
  591. package/scripts/hud/cache.js +0 -54
  592. package/scripts/hud/cache.js.map +0 -1
  593. package/scripts/hud/colors.d.ts +0 -23
  594. package/scripts/hud/colors.d.ts.map +0 -1
  595. package/scripts/hud/colors.js +0 -62
  596. package/scripts/hud/colors.js.map +0 -1
  597. package/scripts/hud/components/config-counts.d.ts +0 -8
  598. package/scripts/hud/components/config-counts.d.ts.map +0 -1
  599. package/scripts/hud/components/config-counts.js +0 -91
  600. package/scripts/hud/components/config-counts.js.map +0 -1
  601. package/scripts/hud/components/context-usage.d.ts +0 -8
  602. package/scripts/hud/components/context-usage.d.ts.map +0 -1
  603. package/scripts/hud/components/context-usage.js +0 -49
  604. package/scripts/hud/components/context-usage.js.map +0 -1
  605. package/scripts/hud/components/diff-stats.d.ts +0 -3
  606. package/scripts/hud/components/diff-stats.d.ts.map +0 -1
  607. package/scripts/hud/components/diff-stats.js +0 -36
  608. package/scripts/hud/components/diff-stats.js.map +0 -1
  609. package/scripts/hud/components/directory.d.ts +0 -3
  610. package/scripts/hud/components/directory.d.ts.map +0 -1
  611. package/scripts/hud/components/directory.js +0 -10
  612. package/scripts/hud/components/directory.js.map +0 -1
  613. package/scripts/hud/components/git-ahead-behind.d.ts +0 -3
  614. package/scripts/hud/components/git-ahead-behind.d.ts.map +0 -1
  615. package/scripts/hud/components/git-ahead-behind.js +0 -16
  616. package/scripts/hud/components/git-ahead-behind.js.map +0 -1
  617. package/scripts/hud/components/git-branch.d.ts +0 -3
  618. package/scripts/hud/components/git-branch.d.ts.map +0 -1
  619. package/scripts/hud/components/git-branch.js +0 -14
  620. package/scripts/hud/components/git-branch.js.map +0 -1
  621. package/scripts/hud/components/model.d.ts +0 -3
  622. package/scripts/hud/components/model.d.ts.map +0 -1
  623. package/scripts/hud/components/model.js +0 -21
  624. package/scripts/hud/components/model.js.map +0 -1
  625. package/scripts/hud/components/release-info.d.ts +0 -3
  626. package/scripts/hud/components/release-info.d.ts.map +0 -1
  627. package/scripts/hud/components/release-info.js +0 -9
  628. package/scripts/hud/components/release-info.js.map +0 -1
  629. package/scripts/hud/components/session-cost.d.ts +0 -3
  630. package/scripts/hud/components/session-cost.d.ts.map +0 -1
  631. package/scripts/hud/components/session-cost.js +0 -9
  632. package/scripts/hud/components/session-cost.js.map +0 -1
  633. package/scripts/hud/components/session-duration.d.ts +0 -3
  634. package/scripts/hud/components/session-duration.d.ts.map +0 -1
  635. package/scripts/hud/components/session-duration.js +0 -18
  636. package/scripts/hud/components/session-duration.js.map +0 -1
  637. package/scripts/hud/components/todo-progress.d.ts +0 -3
  638. package/scripts/hud/components/todo-progress.d.ts.map +0 -1
  639. package/scripts/hud/components/todo-progress.js +0 -11
  640. package/scripts/hud/components/todo-progress.js.map +0 -1
  641. package/scripts/hud/components/usage-quota.d.ts +0 -3
  642. package/scripts/hud/components/usage-quota.d.ts.map +0 -1
  643. package/scripts/hud/components/usage-quota.js +0 -45
  644. package/scripts/hud/components/usage-quota.js.map +0 -1
  645. package/scripts/hud/components/version-badge.d.ts +0 -3
  646. package/scripts/hud/components/version-badge.d.ts.map +0 -1
  647. package/scripts/hud/components/version-badge.js +0 -80
  648. package/scripts/hud/components/version-badge.js.map +0 -1
  649. package/scripts/hud/components/worktree-count.d.ts +0 -3
  650. package/scripts/hud/components/worktree-count.d.ts.map +0 -1
  651. package/scripts/hud/components/worktree-count.js +0 -8
  652. package/scripts/hud/components/worktree-count.js.map +0 -1
  653. package/scripts/hud/config.d.ts +0 -10
  654. package/scripts/hud/config.d.ts.map +0 -1
  655. package/scripts/hud/config.js +0 -55
  656. package/scripts/hud/config.js.map +0 -1
  657. package/scripts/hud/credentials.d.ts +0 -17
  658. package/scripts/hud/credentials.d.ts.map +0 -1
  659. package/scripts/hud/credentials.js +0 -99
  660. package/scripts/hud/credentials.js.map +0 -1
  661. package/scripts/hud/git.d.ts +0 -7
  662. package/scripts/hud/git.d.ts.map +0 -1
  663. package/scripts/hud/git.js +0 -153
  664. package/scripts/hud/git.js.map +0 -1
  665. package/scripts/hud/index.d.ts +0 -2
  666. package/scripts/hud/index.d.ts.map +0 -1
  667. package/scripts/hud/index.js +0 -81
  668. package/scripts/hud/index.js.map +0 -1
  669. package/scripts/hud/render.d.ts +0 -7
  670. package/scripts/hud/render.d.ts.map +0 -1
  671. package/scripts/hud/render.js +0 -111
  672. package/scripts/hud/render.js.map +0 -1
  673. package/scripts/hud/stdin.d.ts +0 -6
  674. package/scripts/hud/stdin.d.ts.map +0 -1
  675. package/scripts/hud/stdin.js +0 -25
  676. package/scripts/hud/stdin.js.map +0 -1
  677. package/scripts/hud/transcript.d.ts +0 -7
  678. package/scripts/hud/transcript.d.ts.map +0 -1
  679. package/scripts/hud/transcript.js +0 -130
  680. package/scripts/hud/transcript.js.map +0 -1
  681. package/scripts/hud/types.d.ts +0 -116
  682. package/scripts/hud/types.d.ts.map +0 -1
  683. package/scripts/hud/types.js +0 -2
  684. package/scripts/hud/types.js.map +0 -1
  685. package/scripts/hud/usage-api.d.ts +0 -7
  686. package/scripts/hud/usage-api.d.ts.map +0 -1
  687. package/scripts/hud/usage-api.js +0 -84
  688. package/scripts/hud/usage-api.js.map +0 -1
  689. package/scripts/hud.sh +0 -5
  690. package/shared/agents/coder.md +0 -135
  691. package/shared/agents/git.md +0 -277
  692. package/shared/agents/resolver.md +0 -131
  693. package/shared/agents/reviewer.md +0 -165
  694. package/shared/agents/scrutinizer.md +0 -82
  695. package/shared/agents/shepherd.md +0 -108
  696. package/shared/agents/simplifier.md +0 -102
  697. package/shared/agents/skimmer.md +0 -143
  698. package/shared/agents/synthesizer.md +0 -211
  699. package/shared/agents/validator.md +0 -86
  700. package/shared/skills/accessibility/SKILL.md +0 -229
  701. package/shared/skills/accessibility/references/detection.md +0 -171
  702. package/shared/skills/accessibility/references/patterns.md +0 -670
  703. package/shared/skills/accessibility/references/violations.md +0 -419
  704. package/shared/skills/agent-teams/SKILL.md +0 -124
  705. package/shared/skills/agent-teams/references/cleanup.md +0 -104
  706. package/shared/skills/agent-teams/references/communication.md +0 -122
  707. package/shared/skills/agent-teams/references/team-patterns.md +0 -217
  708. package/shared/skills/ambient-router/SKILL.md +0 -145
  709. package/shared/skills/ambient-router/references/skill-catalog.md +0 -74
  710. package/shared/skills/architecture-patterns/SKILL.md +0 -153
  711. package/shared/skills/architecture-patterns/references/detection.md +0 -337
  712. package/shared/skills/architecture-patterns/references/patterns.md +0 -873
  713. package/shared/skills/architecture-patterns/references/violations.md +0 -575
  714. package/shared/skills/complexity-patterns/SKILL.md +0 -143
  715. package/shared/skills/complexity-patterns/references/detection.md +0 -264
  716. package/shared/skills/complexity-patterns/references/patterns.md +0 -487
  717. package/shared/skills/complexity-patterns/references/violations.md +0 -361
  718. package/shared/skills/consistency-patterns/SKILL.md +0 -140
  719. package/shared/skills/consistency-patterns/references/detection.md +0 -207
  720. package/shared/skills/consistency-patterns/references/patterns.md +0 -202
  721. package/shared/skills/consistency-patterns/references/violations.md +0 -213
  722. package/shared/skills/core-patterns/SKILL.md +0 -162
  723. package/shared/skills/core-patterns/references/checklist.md +0 -276
  724. package/shared/skills/core-patterns/references/code-smell-violations.md +0 -144
  725. package/shared/skills/core-patterns/references/detection.md +0 -303
  726. package/shared/skills/core-patterns/references/patterns.md +0 -576
  727. package/shared/skills/core-patterns/references/violations.md +0 -369
  728. package/shared/skills/database-patterns/SKILL.md +0 -134
  729. package/shared/skills/database-patterns/references/detection.md +0 -208
  730. package/shared/skills/database-patterns/references/patterns.md +0 -394
  731. package/shared/skills/database-patterns/references/violations.md +0 -332
  732. package/shared/skills/debug-orchestration/SKILL.md +0 -69
  733. package/shared/skills/dependencies-patterns/SKILL.md +0 -141
  734. package/shared/skills/dependencies-patterns/references/detection.md +0 -181
  735. package/shared/skills/dependencies-patterns/references/patterns.md +0 -225
  736. package/shared/skills/dependencies-patterns/references/violations.md +0 -247
  737. package/shared/skills/docs-framework/SKILL.md +0 -143
  738. package/shared/skills/docs-framework/references/patterns.md +0 -346
  739. package/shared/skills/docs-framework/references/violations.md +0 -221
  740. package/shared/skills/documentation-patterns/SKILL.md +0 -125
  741. package/shared/skills/documentation-patterns/references/detection.md +0 -190
  742. package/shared/skills/documentation-patterns/references/patterns.md +0 -189
  743. package/shared/skills/documentation-patterns/references/violations.md +0 -163
  744. package/shared/skills/frontend-design/SKILL.md +0 -254
  745. package/shared/skills/frontend-design/references/detection.md +0 -184
  746. package/shared/skills/frontend-design/references/patterns.md +0 -511
  747. package/shared/skills/frontend-design/references/violations.md +0 -453
  748. package/shared/skills/git-safety/SKILL.md +0 -122
  749. package/shared/skills/git-safety/references/detection.md +0 -290
  750. package/shared/skills/git-safety/references/patterns.md +0 -289
  751. package/shared/skills/git-safety/references/violations.md +0 -18
  752. package/shared/skills/git-workflow/SKILL.md +0 -158
  753. package/shared/skills/git-workflow/references/commit-patterns.md +0 -115
  754. package/shared/skills/git-workflow/references/commit-violations.md +0 -77
  755. package/shared/skills/git-workflow/references/pr-patterns.md +0 -127
  756. package/shared/skills/git-workflow/references/pr-violations.md +0 -96
  757. package/shared/skills/github-patterns/SKILL.md +0 -153
  758. package/shared/skills/github-patterns/references/patterns.md +0 -572
  759. package/shared/skills/github-patterns/references/violations.md +0 -298
  760. package/shared/skills/go/SKILL.md +0 -187
  761. package/shared/skills/go/references/concurrency.md +0 -312
  762. package/shared/skills/go/references/detection.md +0 -129
  763. package/shared/skills/go/references/patterns.md +0 -232
  764. package/shared/skills/go/references/violations.md +0 -205
  765. package/shared/skills/implementation-orchestration/SKILL.md +0 -92
  766. package/shared/skills/implementation-patterns/SKILL.md +0 -162
  767. package/shared/skills/implementation-patterns/references/patterns.md +0 -1063
  768. package/shared/skills/implementation-patterns/references/violations.md +0 -483
  769. package/shared/skills/input-validation/SKILL.md +0 -148
  770. package/shared/skills/input-validation/references/detection.md +0 -283
  771. package/shared/skills/input-validation/references/patterns.md +0 -361
  772. package/shared/skills/input-validation/references/violations.md +0 -224
  773. package/shared/skills/java/SKILL.md +0 -183
  774. package/shared/skills/java/references/detection.md +0 -120
  775. package/shared/skills/java/references/modern-java.md +0 -270
  776. package/shared/skills/java/references/patterns.md +0 -235
  777. package/shared/skills/java/references/violations.md +0 -213
  778. package/shared/skills/knowledge-persistence/SKILL.md +0 -128
  779. package/shared/skills/knowledge-persistence/references/examples.md +0 -44
  780. package/shared/skills/performance-patterns/SKILL.md +0 -154
  781. package/shared/skills/performance-patterns/references/detection.md +0 -351
  782. package/shared/skills/performance-patterns/references/patterns.md +0 -503
  783. package/shared/skills/performance-patterns/references/violations.md +0 -354
  784. package/shared/skills/plan-orchestration/SKILL.md +0 -71
  785. package/shared/skills/python/SKILL.md +0 -188
  786. package/shared/skills/python/references/async.md +0 -220
  787. package/shared/skills/python/references/detection.md +0 -128
  788. package/shared/skills/python/references/patterns.md +0 -226
  789. package/shared/skills/python/references/violations.md +0 -204
  790. package/shared/skills/react/SKILL.md +0 -276
  791. package/shared/skills/react/references/patterns.md +0 -1331
  792. package/shared/skills/react/references/violations.md +0 -565
  793. package/shared/skills/regression-patterns/SKILL.md +0 -146
  794. package/shared/skills/regression-patterns/references/detection.md +0 -237
  795. package/shared/skills/regression-patterns/references/patterns.md +0 -226
  796. package/shared/skills/regression-patterns/references/violations.md +0 -225
  797. package/shared/skills/review-methodology/SKILL.md +0 -119
  798. package/shared/skills/review-methodology/references/patterns.md +0 -186
  799. package/shared/skills/review-methodology/references/report-template.md +0 -142
  800. package/shared/skills/review-methodology/references/violations.md +0 -125
  801. package/shared/skills/rust/SKILL.md +0 -193
  802. package/shared/skills/rust/references/detection.md +0 -131
  803. package/shared/skills/rust/references/ownership.md +0 -242
  804. package/shared/skills/rust/references/patterns.md +0 -210
  805. package/shared/skills/rust/references/violations.md +0 -191
  806. package/shared/skills/search-first/SKILL.md +0 -133
  807. package/shared/skills/search-first/references/evaluation-criteria.md +0 -101
  808. package/shared/skills/security-patterns/SKILL.md +0 -156
  809. package/shared/skills/security-patterns/references/detection.md +0 -287
  810. package/shared/skills/security-patterns/references/patterns.md +0 -507
  811. package/shared/skills/security-patterns/references/violations.md +0 -237
  812. package/shared/skills/self-review/SKILL.md +0 -149
  813. package/shared/skills/self-review/references/patterns.md +0 -405
  814. package/shared/skills/self-review/references/report-template.md +0 -253
  815. package/shared/skills/self-review/references/stub-detection.md +0 -135
  816. package/shared/skills/self-review/references/violations.md +0 -308
  817. package/shared/skills/test-driven-development/SKILL.md +0 -137
  818. package/shared/skills/test-driven-development/references/rationalization-prevention.md +0 -111
  819. package/shared/skills/test-patterns/SKILL.md +0 -183
  820. package/shared/skills/test-patterns/references/detection.md +0 -149
  821. package/shared/skills/test-patterns/references/patterns.md +0 -220
  822. package/shared/skills/test-patterns/references/report-template.md +0 -108
  823. package/shared/skills/test-patterns/references/violations.md +0 -221
  824. package/shared/skills/typescript/SKILL.md +0 -176
  825. package/shared/skills/typescript/references/patterns.md +0 -1105
  826. package/shared/skills/typescript/references/violations.md +0 -433
  827. package/src/templates/claudeignore.template +0 -188
  828. package/src/templates/settings.json +0 -59
  829. /package/dist/{utils → core}/safe-delete.js +0 -0
  830. /package/{plugins/devflow-accessibility → src/assets}/skills/accessibility/references/detection.md +0 -0
  831. /package/{plugins/devflow-code-review/skills/architecture-patterns → src/assets/skills/architecture}/references/detection.md +0 -0
  832. /package/{plugins/devflow-code-review/skills/complexity-patterns → src/assets/skills/complexity}/references/detection.md +0 -0
  833. /package/{plugins/devflow-code-review/skills/complexity-patterns → src/assets/skills/complexity}/references/patterns.md +0 -0
  834. /package/{plugins/devflow-code-review/skills/complexity-patterns → src/assets/skills/complexity}/references/violations.md +0 -0
  835. /package/{plugins/devflow-code-review/skills/consistency-patterns → src/assets/skills/consistency}/references/detection.md +0 -0
  836. /package/{plugins/devflow-code-review/skills/consistency-patterns → src/assets/skills/consistency}/references/patterns.md +0 -0
  837. /package/{plugins/devflow-code-review/skills/consistency-patterns → src/assets/skills/consistency}/references/violations.md +0 -0
  838. /package/{plugins/devflow-code-review/skills/database-patterns → src/assets/skills/database}/references/detection.md +0 -0
  839. /package/{plugins/devflow-code-review/skills/database-patterns → src/assets/skills/database}/references/patterns.md +0 -0
  840. /package/{plugins/devflow-code-review/skills/database-patterns → src/assets/skills/database}/references/violations.md +0 -0
  841. /package/{plugins/devflow-code-review/skills/dependencies-patterns → src/assets/skills/dependencies}/references/detection.md +0 -0
  842. /package/{plugins/devflow-code-review/skills/dependencies-patterns → src/assets/skills/dependencies}/references/patterns.md +0 -0
  843. /package/{plugins/devflow-code-review/skills/dependencies-patterns → src/assets/skills/dependencies}/references/violations.md +0 -0
  844. /package/{plugins/devflow-code-review/skills/documentation-patterns → src/assets/skills/documentation}/references/detection.md +0 -0
  845. /package/{plugins/devflow-code-review/skills/documentation-patterns → src/assets/skills/documentation}/references/patterns.md +0 -0
  846. /package/{plugins/devflow-code-review/skills/documentation-patterns → src/assets/skills/documentation}/references/violations.md +0 -0
  847. /package/{plugins/devflow-core-skills/skills/git-safety → src/assets/skills/git}/references/detection.md +0 -0
  848. /package/{plugins/devflow-go → src/assets}/skills/go/references/detection.md +0 -0
  849. /package/{plugins/devflow-java → src/assets}/skills/java/references/detection.md +0 -0
  850. /package/{plugins/devflow-implement/skills/implementation-patterns → src/assets/skills/patterns}/references/patterns.md +0 -0
  851. /package/{plugins/devflow-implement/skills/implementation-patterns → src/assets/skills/patterns}/references/violations.md +0 -0
  852. /package/{plugins/devflow-code-review/skills/performance-patterns → src/assets/skills/performance}/references/detection.md +0 -0
  853. /package/{plugins/devflow-python → src/assets}/skills/python/references/detection.md +0 -0
  854. /package/{plugins/devflow-implement/skills/self-review → src/assets/skills/quality-gates}/references/patterns.md +0 -0
  855. /package/{plugins/devflow-implement/skills/self-review → src/assets/skills/quality-gates}/references/report-template.md +0 -0
  856. /package/{plugins/devflow-implement/skills/self-review → src/assets/skills/quality-gates}/references/violations.md +0 -0
  857. /package/{plugins/devflow-code-review/skills/regression-patterns → src/assets/skills/regression}/references/detection.md +0 -0
  858. /package/{plugins/devflow-code-review/skills/regression-patterns → src/assets/skills/regression}/references/patterns.md +0 -0
  859. /package/{plugins/devflow-code-review/skills/regression-patterns → src/assets/skills/regression}/references/violations.md +0 -0
  860. /package/{plugins/devflow-rust → src/assets}/skills/rust/references/detection.md +0 -0
  861. /package/{plugins/devflow-code-review/skills/security-patterns → src/assets/skills/security}/references/detection.md +0 -0
  862. /package/{plugins/devflow-core-skills/skills/core-patterns → src/assets/skills/software-design}/references/detection.md +0 -0
  863. /package/{plugins/devflow-core-skills → src/assets}/skills/test-driven-development/references/rationalization-prevention.md +0 -0
  864. /package/{plugins/devflow-code-review/skills/test-patterns → src/assets/skills/testing}/references/detection.md +0 -0
  865. /package/{plugins/devflow-code-review/skills/test-patterns → src/assets/skills/testing}/references/report-template.md +0 -0
  866. /package/{plugins/devflow-frontend-design/skills/frontend-design → src/assets/skills/ui-design}/references/detection.md +0 -0
  867. /package/src/{templates → targets/claude-code/templates}/managed-settings.json +0 -0
@@ -0,0 +1,247 @@
1
+ # Rust Extended Patterns
2
+
3
+ Extended correct patterns for Rust with literature citations. Reference from main SKILL.md.
4
+
5
+ ## Typestate Pattern [4][27]
6
+
7
+ Encode valid state transitions in the type system so invalid sequences don't compile.
8
+ Zero-sized phantom types add no runtime cost [4][15].
9
+
10
+ ```rust
11
+ // States are zero-sized types — no runtime cost [18]
12
+ struct Draft;
13
+ struct Published;
14
+ struct Archived;
15
+
16
+ struct Article<State> {
17
+ title: String,
18
+ body: String,
19
+ _state: std::marker::PhantomData<State>,
20
+ }
21
+
22
+ impl Article<Draft> {
23
+ pub fn new(title: String, body: String) -> Self {
24
+ Article { title, body, _state: std::marker::PhantomData }
25
+ }
26
+
27
+ pub fn publish(self) -> Article<Published> {
28
+ Article { title: self.title, body: self.body, _state: std::marker::PhantomData }
29
+ }
30
+ }
31
+
32
+ impl Article<Published> {
33
+ pub fn archive(self) -> Article<Archived> {
34
+ Article { title: self.title, body: self.body, _state: std::marker::PhantomData }
35
+ }
36
+ }
37
+
38
+ // article.archive() on Draft won't compile — transition enforced at compile time [15][27]
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Error Handling Hierarchy [8][9][16]
44
+
45
+ Layer errors from specific (library) to general (application). `thiserror` for precise
46
+ typed errors; `anyhow` for ergonomic propagation in binaries [8][16].
47
+
48
+ ```rust
49
+ // Library: precise, typed errors — callers can match on variants [8][9]
50
+ #[derive(thiserror::Error, Debug)]
51
+ pub enum RepoError {
52
+ #[error("entity {entity} with id {id} not found")]
53
+ NotFound { entity: &'static str, id: String },
54
+ #[error("duplicate key: {0}")]
55
+ Duplicate(String),
56
+ #[error("connection failed")]
57
+ Connection(#[from] sqlx::Error),
58
+ }
59
+
60
+ // Application: ergonomic error propagation with context [9]
61
+ use anyhow::{Context, Result};
62
+
63
+ fn run() -> Result<()> {
64
+ let config = load_config()
65
+ .context("failed to load configuration")?;
66
+ let db = connect_db(&config.database_url)
67
+ .context("failed to connect to database")?;
68
+ serve(db, config.port)
69
+ .context("server exited with error")
70
+ }
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Trait Objects vs Generics [1, Ch.17][20]
76
+
77
+ ### Use Generics for Performance (Monomorphization) [18][20]
78
+
79
+ ```rust
80
+ // Compiler generates specialized code per type — zero-cost [18]
81
+ fn largest<T: PartialOrd>(list: &[T]) -> Option<&T> {
82
+ list.iter().reduce(|a, b| if a >= b { a } else { b })
83
+ }
84
+ ```
85
+
86
+ ### Use Trait Objects for Heterogeneous Collections [1, Ch.17]
87
+
88
+ ```rust
89
+ trait Handler: Send + Sync {
90
+ fn handle(&self, request: &Request) -> Response;
91
+ }
92
+
93
+ struct Router {
94
+ routes: Vec<Box<dyn Handler>>, // Different concrete types in one Vec [1, Ch.17]
95
+ }
96
+ ```
97
+
98
+ ### Decision Guide [5, Item 12]
99
+
100
+ | Criteria | Generics | Trait Objects |
101
+ |----------|----------|--------------|
102
+ | Known types at compile time | Yes | No |
103
+ | Heterogeneous collection | No | Yes |
104
+ | Performance-critical | Yes | Acceptable overhead |
105
+ | Binary size concern | Increases | Minimal |
106
+
107
+ ---
108
+
109
+ ## Smart Pointers [1, Ch.15]
110
+
111
+ ### Box — Heap Allocation [1, Ch.15]
112
+
113
+ ```rust
114
+ // Recursive types require indirection — Box provides single ownership [1, Ch.15]
115
+ enum List<T> {
116
+ Cons(T, Box<List<T>>),
117
+ Nil,
118
+ }
119
+ ```
120
+
121
+ ### Rc/Arc — Shared Ownership [1, Ch.15]
122
+
123
+ ```rust
124
+ use std::sync::Arc;
125
+
126
+ // Shared read-only config across threads — Arc enables this safely [29]
127
+ let config = Arc::new(load_config()?);
128
+ let config_clone = Arc::clone(&config);
129
+ tokio::spawn(async move {
130
+ use_config(&config_clone).await;
131
+ });
132
+ ```
133
+
134
+ ### When to Use Each [5, Item 8]
135
+
136
+ | Pointer | Use Case |
137
+ |---------|----------|
138
+ | `Box<T>` | Single owner, heap allocation, recursive types |
139
+ | `Rc<T>` | Multiple owners, single-threaded |
140
+ | `Arc<T>` | Multiple owners, multi-threaded [29] |
141
+ | `Cow<'a, T>` | Clone-on-write, flexible borrowing [2, C-BORROW] |
142
+
143
+ ---
144
+
145
+ ## From/Into Conversions [2][5, Item 5]
146
+
147
+ Implement `From` to get `Into` for free. Prefer `From` over `Into` in implementations
148
+ (the orphan rule makes `From` more usable) [2].
149
+
150
+ ```rust
151
+ // Implement From for automatic Into [2]
152
+ impl From<CreateUserRequest> for User {
153
+ fn from(req: CreateUserRequest) -> Self {
154
+ User {
155
+ id: Uuid::new_v4(),
156
+ name: req.name,
157
+ email: req.email,
158
+ created_at: Utc::now(),
159
+ }
160
+ }
161
+ }
162
+
163
+ // Callers get Into for free — accept impl Into<User> for flexibility [2, C-BORROW]
164
+ fn save_user(user: impl Into<User>) -> Result<(), DbError> {
165
+ let user: User = user.into();
166
+ Ok(())
167
+ }
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Derive and Trait Best Practices [2][12]
173
+
174
+ ```rust
175
+ // Derive the standard set for data types [2]
176
+ #[derive(Debug, Clone, PartialEq, Eq, Hash)]
177
+ pub struct UserId(String);
178
+
179
+ // Derive serde for serialization boundaries — serde is the ecosystem standard [12]
180
+ #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
181
+ pub struct ApiResponse<T> {
182
+ pub data: T,
183
+ pub metadata: Metadata,
184
+ }
185
+ ```
186
+
187
+ ### Trait Implementation Order Convention [2]
188
+
189
+ 1. Standard library traits (`Debug`, `Display`, `Clone`, `PartialEq`)
190
+ 2. Conversion traits (`From`, `Into`, `TryFrom`)
191
+ 3. Iterator traits (`Iterator`, `IntoIterator`)
192
+ 4. Serde traits (`Serialize`, `Deserialize`) [12]
193
+ 5. Custom traits (domain-specific)
194
+
195
+ ---
196
+
197
+ ## Async Patterns [13]
198
+
199
+ ### spawn_blocking for CPU Work [13]
200
+
201
+ ```rust
202
+ // Offload CPU-bound work to dedicated thread pool — never block the async runtime [13]
203
+ async fn process_file(path: &str) -> Result<Report, AppError> {
204
+ let path = path.to_string();
205
+ let report = tokio::task::spawn_blocking(move || {
206
+ parse_large_file(&path) // CPU-bound, safe to block thread
207
+ }).await??;
208
+ Ok(report)
209
+ }
210
+ ```
211
+
212
+ ### Channel Patterns [1, Ch.16][13]
213
+
214
+ ```rust
215
+ use tokio::sync::mpsc;
216
+
217
+ // Prefer channels over shared state for communication [1, Ch.16]
218
+ let (tx, mut rx) = mpsc::channel::<Work>(100);
219
+
220
+ tokio::spawn(async move {
221
+ while let Some(work) = rx.recv().await {
222
+ process(work).await;
223
+ }
224
+ });
225
+ ```
226
+
227
+ ---
228
+
229
+ ## Module Organization [2][10, Ch.3]
230
+
231
+ ```
232
+ src/
233
+ ├── lib.rs # Public API re-exports only [2]
234
+ ├── error.rs # Crate-level error types [8]
235
+ ├── domain/
236
+ │ ├── mod.rs # Domain re-exports
237
+ │ ├── user.rs # User entity and logic
238
+ │ └── order.rs # Order entity and logic
239
+ ├── repo/
240
+ │ ├── mod.rs # Repository trait definitions
241
+ │ └── postgres.rs # Concrete implementation
242
+ └── api/
243
+ ├── mod.rs # Route registration
244
+ └── handlers.rs # HTTP handlers
245
+ ```
246
+
247
+ Keep `lib.rs` thin — re-export only the public API. Internal modules use `pub(crate)` [2].
@@ -0,0 +1,46 @@
1
+ # Rust — Sources
2
+
3
+ ## Primary References
4
+
5
+ | # | Source | Author(s) | Year | Access | Topics |
6
+ |---|--------|-----------|------|--------|--------|
7
+ | 1 | "The Rust Programming Language" (The Book) | Klabnik & Nichols | 2023 | [Free](https://doc.rust-lang.org/book/) | Ownership, borrowing, lifetimes, traits, error handling, concurrency |
8
+ | 2 | Rust API Guidelines | Rust Team | 2024 | [Free](https://rust-lang.github.io/api-guidelines/) | C-NEWTYPE, C-BUILDER, C-BORROW, C-VALIDATE, naming, docs |
9
+ | 3 | The Rustonomicon | Rust Team | 2024 | [Free](https://doc.rust-lang.org/nomicon/) | Unsafe Rust, memory layout, FFI, aliasing rules |
10
+ | 4 | "Rust Design Patterns" | Rust Community | 2024 | [Free](https://rust-unofficial.github.io/patterns/) | Builder, newtype, RAII, typestate, strategy patterns |
11
+ | 5 | "Effective Rust" | David Drysdale | 2024 | [Free](https://effective-rust.com) | 35 items for idiomatic Rust, API design, error handling |
12
+ | 6 | "RustBelt: Securing the Foundations of the Rust Programming Language" | Jung et al. | 2018 | [Free](https://plv.mpi-sws.org/rustbelt/) | Formal verification of Rust type system and ownership semantics |
13
+ | 7 | Clippy Lint Documentation | Rust Team | 2024 | [Free](https://rust-lang.github.io/rust-clippy/) | 700+ lints, idiomatic Rust enforcement |
14
+ | 8 | "Error Handling in Rust" | Andrew Gallant (BurntSushi) | 2015 | [Free](https://blog.burntsushi.net/rust-error-handling/) | Error handling philosophy, trait objects vs enums, composition |
15
+ | 9 | thiserror / anyhow documentation | David Tolnay | 2024 | [Free](https://docs.rs/thiserror) | Error type design, library vs application error strategy |
16
+ | 10 | "Rust for Rustaceans" | Jon Gjengset | 2021 | Purchase | Advanced patterns, unsafe, macros, API design |
17
+ | 11 | "Stacked Borrows: An Aliasing Model for Rust" | Ralf Jung | 2019 | [Free](https://plv.mpi-sws.org/stacked-borrows/) | Aliasing model formalization, unsafe code correctness |
18
+ | 12 | serde Documentation | David Tolnay | 2024 | [Free](https://serde.rs) | Serialization framework, derive macros, custom implementations |
19
+ | 13 | tokio Documentation | Tokio Team | 2024 | [Free](https://tokio.rs) | Async runtime, task spawning, channels, spawn_blocking |
20
+ | 14 | Rust Reference | Rust Team | 2024 | [Free](https://doc.rust-lang.org/reference/) | Language specification, type system rules, unsafe operations |
21
+ | 15 | "Making Illegal States Unrepresentable" | Yaron Minsky (adapted for Rust) | 2011 | [Free](https://blog.janestreet.com/effective-ml-video/) | Type-driven design, eliminating invalid states at compile time |
22
+ | 16 | "Choosing an Error Library" (talk) | Jane Lusby (yaahc) | 2020 | [Free](https://www.youtube.com/watch?v=rAF8mLI0naQ) | Error handling ecosystem, thiserror vs anyhow vs error-stack |
23
+ | 17 | Rust Performance Book | Nicholas Nethercote | 2024 | [Free](https://nnethercote.github.io/perf-book/) | Optimization patterns, profiling, heap allocation reduction |
24
+ | 18 | "Zero-cost abstractions" | Rust Blog | 2015 | [Free](https://blog.rust-lang.org/2015/05/11/traits.html) | Core design principle: monomorphization, trait dispatch |
25
+ | 19 | Rust Edition Guide | Rust Team | 2024 | [Free](https://doc.rust-lang.org/edition-guide/) | Edition migration patterns, compatibility guarantees |
26
+ | 20 | "Abstraction without overhead: traits in Rust" | Aaron Turon | 2015 | [Free](https://blog.rust-lang.org/2015/05/11/traits.html) | Trait design philosophy, static vs dynamic dispatch |
27
+
28
+ ## Standards & Style Guides
29
+
30
+ | # | Source | Org | Access | Topics |
31
+ |---|--------|-----|--------|--------|
32
+ | 21 | Rust API Guidelines — Naming (C-CASE) | Rust Team | [Free](https://rust-lang.github.io/api-guidelines/naming.html) | Casing, affixes, method naming conventions |
33
+ | 22 | Rust API Guidelines — Type Safety (C-NEWTYPE) | Rust Team | [Free](https://rust-lang.github.io/api-guidelines/type-safety.html) | Newtype wrappers, type-safe distinctions |
34
+ | 23 | Rust API Guidelines — Flexibility (C-BORROW) | Rust Team | [Free](https://rust-lang.github.io/api-guidelines/flexibility.html) | Borrow vs own, generic inputs, C-CALLER-CONTROL |
35
+ | 24 | Rust API Guidelines — Builder (C-BUILDER) | Rust Team | [Free](https://rust-lang.github.io/api-guidelines/type-safety.html) | Builder pattern requirements, consuming vs non-consuming |
36
+ | 25 | Rust API Guidelines — Validation (C-VALIDATE) | Rust Team | [Free](https://rust-lang.github.io/api-guidelines/dependability.html) | Constructor validation, error types for invalid input |
37
+
38
+ ## Academic & Research
39
+
40
+ | # | Source | Author(s) | Year | Access | Topics |
41
+ |---|--------|-----------|------|--------|--------|
42
+ | 26 | "Ownership Types for Safe Programming" | Clarke et al. | 2013 | Free | Ownership type theory: formal foundation for Rust's model |
43
+ | 27 | "Typestate-Oriented Programming" | Aldrich et al. | 2009 | [Free](https://www.cs.cmu.edu/~aldrich/papers/onward2009-state.pdf) | Typestate pattern — encoding protocol states in types |
44
+ | 28 | "A Formalization of Rust's Type System" | Benitez | 2016 | Free | Formal type-theoretic treatment of lifetimes and borrowing |
45
+ | 29 | "Fearless Concurrency with Rust" | Aaron Turon | 2015 | [Free](https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html) | Send/Sync traits, data race prevention at compile time |
46
+ | 30 | "Linear Types Can Change the World!" | Wadler | 1990 | Free | Linear type theory — conceptual foundation for Rust's ownership |
@@ -0,0 +1,252 @@
1
+ # Rust Violation Examples
2
+
3
+ Extended violation patterns for Rust reviews with literature citations. Reference from main SKILL.md.
4
+
5
+ ## Unwrap Abuse [8][7]
6
+
7
+ `.unwrap()` in library or application code panics at runtime and gives callers no way to
8
+ recover. The `?` operator is always available; reach for it first [8].
9
+
10
+ ### Unwrap in Library Code [8]
11
+
12
+ ```rust
13
+ // VIOLATION: Panics on None — caller has no way to handle failure [8]
14
+ pub fn get_username(users: &HashMap<u64, String>, id: u64) -> &str {
15
+ users.get(&id).unwrap() // Panics if id not found
16
+ }
17
+
18
+ // VIOLATION: Unwrap on parse without context [7]
19
+ let port: u16 = std::env::var("PORT").unwrap().parse().unwrap();
20
+ ```
21
+
22
+ ### Expect Without Useful Message [8]
23
+
24
+ ```rust
25
+ // VIOLATION: Message doesn't help diagnose the problem [8]
26
+ let config = load_config().expect("failed");
27
+
28
+ // CORRECT: Actionable message with remediation hint [8]
29
+ let config = load_config().expect("failed to load config from config.toml — does file exist?");
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Unnecessary Cloning [2, C-BORROW][17]
35
+
36
+ Cloning to satisfy the borrow checker signals a design issue. Restructure ownership or
37
+ accept slices/borrows. Clones in hot loops cause heap allocation per iteration [17].
38
+
39
+ ### Clone to Satisfy Borrow Checker [2, C-BORROW]
40
+
41
+ ```rust
42
+ // VIOLATION: Cloning entire Vec to work around borrow issues [2, C-BORROW]
43
+ fn process_items(items: &Vec<Item>) {
44
+ let cloned = items.clone(); // Entire Vec cloned — unnecessary allocation
45
+ for item in &cloned {
46
+ println!("{}", item.name);
47
+ }
48
+ }
49
+
50
+ // CORRECT: Accept &[Item] and just borrow [2, C-BORROW]
51
+ fn process_items(items: &[Item]) {
52
+ for item in items {
53
+ println!("{}", item.name);
54
+ }
55
+ }
56
+ ```
57
+
58
+ ### Clone in Hot Loop [17]
59
+
60
+ ```rust
61
+ // VIOLATION: String allocation on every iteration — performance regression [17]
62
+ for record in &records {
63
+ let key = record.id.clone();
64
+ map.insert(key, record);
65
+ }
66
+
67
+ // CORRECT: Borrow or use references — zero allocation [2, C-BORROW]
68
+ for record in &records {
69
+ map.insert(&record.id, record);
70
+ }
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Stringly-Typed APIs [2, C-NEWTYPE][15]
76
+
77
+ Using `String` or `&str` where a typed enum or newtype belongs allows typos to compile
78
+ and failures to occur at runtime instead of compile time [15].
79
+
80
+ ### String Where Enum Belongs [2, C-NEWTYPE]
81
+
82
+ ```rust
83
+ // VIOLATION: Any typo compiles and fails at runtime [15]
84
+ fn set_status(status: &str) {
85
+ match status {
86
+ "active" => { /* ... */ }
87
+ "inactive" => { /* ... */ }
88
+ _ => panic!("unknown status"), // Runtime failure — compiler can't help
89
+ }
90
+ }
91
+
92
+ // CORRECT: Compiler enforces valid values — exhaustive match [2, C-NEWTYPE][15]
93
+ enum Status { Active, Inactive }
94
+
95
+ fn set_status(status: Status) {
96
+ match status {
97
+ Status::Active => { /* ... */ }
98
+ Status::Inactive => { /* ... */ }
99
+ } // Exhaustive — no default needed
100
+ }
101
+ ```
102
+
103
+ ### String IDs Instead of Newtypes [2, C-NEWTYPE]
104
+
105
+ ```rust
106
+ // VIOLATION: OrderId passed where UserId expected — no compile error [15]
107
+ fn charge_user(user_id: &str, order_id: &str) { /* ... */ }
108
+ charge_user(order_id, user_id); // Silent logic bug
109
+
110
+ // CORRECT: Newtype makes the swap a compile error [2, C-NEWTYPE]
111
+ struct UserId(String);
112
+ struct OrderId(String);
113
+ fn charge_user(user_id: &UserId, order_id: &OrderId) { /* ... */ }
114
+ ```
115
+
116
+ ---
117
+
118
+ ## Unsafe Without Justification [3][11]
119
+
120
+ Every `unsafe` block must have a `// SAFETY:` comment explaining the invariants that
121
+ make the operation sound. The Stacked Borrows model formalizes what "sound" means [11].
122
+
123
+ ### Bare Unsafe Block [3][11]
124
+
125
+ ```rust
126
+ // VIOLATION: No safety comment explaining invariants [3][11]
127
+ unsafe {
128
+ let ptr = data.as_ptr();
129
+ std::ptr::copy_nonoverlapping(ptr, dest, len);
130
+ }
131
+
132
+ // CORRECT: Document why this is safe — sufficient for Stacked Borrows soundness [3][11]
133
+ // SAFETY: `data` is guaranteed to be valid for `len` bytes because
134
+ // it was allocated by `Vec::with_capacity(len)` and filled by `read_exact`.
135
+ // `dest` is a valid pointer from `alloc::alloc(layout)` with matching size.
136
+ // No aliasing exists: `data` and `dest` are disjoint allocations.
137
+ unsafe {
138
+ std::ptr::copy_nonoverlapping(data.as_ptr(), dest, len);
139
+ }
140
+ ```
141
+
142
+ ### Unnecessary Unsafe [7]
143
+
144
+ ```rust
145
+ // VIOLATION: Using unsafe when safe alternative exists [7]
146
+ unsafe fn get_element(slice: &[u8], index: usize) -> u8 {
147
+ *slice.get_unchecked(index)
148
+ }
149
+
150
+ // CORRECT: Safe indexing with bounds check [7]
151
+ fn get_element(slice: &[u8], index: usize) -> Option<u8> {
152
+ slice.get(index).copied()
153
+ }
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Ignoring Results [8][7]
159
+
160
+ Discarding `Result` values silently swallows errors. Clippy lint `must_use` catches this;
161
+ `let _ =` is always a red flag [7][8].
162
+
163
+ ### Discarding Write Errors [8]
164
+
165
+ ```rust
166
+ // VIOLATION: Write failure silently ignored — data loss possible [8]
167
+ let _ = file.write_all(data);
168
+ let _ = file.flush();
169
+
170
+ // CORRECT: Propagate errors with ? [1, Ch.9]
171
+ file.write_all(data)?;
172
+ file.flush()?;
173
+ ```
174
+
175
+ ### Ignoring Lock Poisoning [1, Ch.16]
176
+
177
+ ```rust
178
+ // VIOLATION: Silently ignoring poisoned mutex — undefined program state [1, Ch.16]
179
+ let guard = mutex.lock().unwrap_or_else(|e| e.into_inner());
180
+
181
+ // CORRECT: Handle or propagate the poison explicitly [1, Ch.16]
182
+ let guard = mutex.lock().map_err(|_| AppError::LockPoisoned)?;
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Concurrency Violations [1, Ch.16][29]
188
+
189
+ Rust's `Send` and `Sync` traits prevent data races at compile time. Violations require
190
+ `unsafe` to bypass these guarantees [6][29].
191
+
192
+ ### Shared Mutable State Without Synchronization [1, Ch.16]
193
+
194
+ ```rust
195
+ // VIOLATION: Data race — undefined behavior under concurrency [1, Ch.16]
196
+ static mut COUNTER: u64 = 0;
197
+
198
+ fn increment() {
199
+ unsafe { COUNTER += 1; } // UB — compiler/CPU may reorder or tear [6]
200
+ }
201
+
202
+ // CORRECT: Use atomics for simple counters [29]
203
+ use std::sync::atomic::{AtomicU64, Ordering};
204
+ static COUNTER: AtomicU64 = AtomicU64::new(0);
205
+
206
+ fn increment() {
207
+ COUNTER.fetch_add(1, Ordering::Relaxed);
208
+ }
209
+ ```
210
+
211
+ ### Blocking in Async Context [13]
212
+
213
+ ```rust
214
+ // VIOLATION: Blocks the async runtime thread — starves other tasks [13]
215
+ async fn read_file(path: &str) -> Result<String, io::Error> {
216
+ std::fs::read_to_string(path) // Blocking syscall in async fn
217
+ }
218
+
219
+ // CORRECT: Use async I/O or spawn_blocking for CPU/blocking work [13]
220
+ async fn read_file(path: &str) -> Result<String, io::Error> {
221
+ tokio::fs::read_to_string(path).await
222
+ }
223
+ ```
224
+
225
+ ---
226
+
227
+ ## API Design Violations [2][5]
228
+
229
+ ### Accepting Owned String When Borrow Suffices [2, C-BORROW]
230
+
231
+ ```rust
232
+ // VIOLATION: Forces allocation at every call site [2, C-BORROW]
233
+ fn print_greeting(name: String) {
234
+ println!("Hello, {}", name);
235
+ }
236
+
237
+ // CORRECT: Accept &str — callers keep ownership; String derefs to &str [2, C-BORROW]
238
+ fn print_greeting(name: &str) {
239
+ println!("Hello, {}", name);
240
+ }
241
+ ```
242
+
243
+ ### Missing #[must_use] on Result [7][2]
244
+
245
+ ```rust
246
+ // VIOLATION: Result silently discarded — caller gets no warning [7]
247
+ pub fn flush_buffer(&mut self) -> Result<(), IoError> { /* ... */ }
248
+
249
+ // CORRECT: #[must_use] forces callers to handle or explicitly discard [7]
250
+ #[must_use]
251
+ pub fn flush_buffer(&mut self) -> Result<(), IoError> { /* ... */ }
252
+ ```
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: security
3
+ description: This skill should be used when reviewing code for injection flaws, auth bypasses, or hardcoded secrets.
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 `devflow: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. [1][6]
19
+
20
+ ## Vulnerability Categories
21
+
22
+ ### 1. Input Validation & Injection [1][6]
23
+
24
+ **SQL Injection** — parameterize, never interpolate:
25
+ ```typescript
26
+ // VULNERABLE: const query = `SELECT * FROM users WHERE email = '${email}'`;
27
+ await db.execute("SELECT * FROM users WHERE email = ?", [email]);
28
+ ```
29
+
30
+ **XSS** — text content, never innerHTML:
31
+ ```typescript
32
+ element.textContent = userInput; // not: element.innerHTML = userInput
33
+ ```
34
+
35
+ > `references/patterns.md` — NoSQL, command injection, path traversal, LDAP injection.
36
+
37
+ ### 2. Authentication & Authorization [1][2][7]
38
+
39
+ ```typescript
40
+ // VULNERABLE: no auth middleware
41
+ app.delete('/api/users/:id', async (req, res) => { await deleteUser(req.params.id); });
42
+
43
+ // SECURE: layered auth
44
+ app.delete('/api/users/:id', requireAuth, requireRole('admin'), handler);
45
+ ```
46
+
47
+ NIST 800-63 minimum: 15-char passphrase or 12-char complex, phishing-resistant MFA [7].
48
+ JWT: pin algorithm explicitly, set `expiresIn`, store refresh tokens server-side [17].
49
+
50
+ ### 3. Cryptography & Secrets [5][24][25]
51
+
52
+ ```typescript
53
+ const API_KEY = process.env.API_KEY; // not: hardcoded literal
54
+ const token = crypto.randomBytes(32).toString('hex'); // not: Math.random()
55
+ ```
56
+
57
+ Password hashing: Argon2id (preferred) or bcrypt cost ≥12 [24]. Encrypt with AES-256-GCM
58
+ (authenticated). Compare secrets with `crypto.timingSafeEqual`, never `===` [25].
59
+
60
+ **Reporting a found secret**: cite `file:line` and the type slug — never quote the full value.
61
+ Use `{first ≤4 chars}…[REDACTED:{type}]` (e.g. `AKID…[REDACTED:aws-key]`).
62
+ A found live credential is ALREADY COMPROMISED — the remediation is rotation
63
+ (revoke and regenerate the exposed credential) plus moving to env vars or a secret store,
64
+ not just removal from code.
65
+
66
+ ### 4. Configuration & Headers [10][15][16]
67
+
68
+ ```typescript
69
+ app.use(helmet());
70
+ res.setHeader('Content-Security-Policy', "default-src 'self'"); // [15]
71
+ res.setHeader('Strict-Transport-Security', 'max-age=31536000'); // [10]
72
+ app.use(cors({ origin: ['https://myapp.com'], credentials: true }));
73
+ ```
74
+
75
+ SameSite=Strict cookies prevent CSRF [16]. SRI hashes prevent CDN tampering [18].
76
+
77
+ ### 5. Business Logic & API Security [1][3][11]
78
+
79
+ Race conditions: wrap check-then-act in database transactions with row locks.
80
+ Mass assignment: explicitly allowlist fields — never `User.create(req.body)` [11].
81
+ OWASP API Top 10 [11]: Broken Object Auth (API1), Excessive Data Exposure (API3), SSRF (API7).
82
+
83
+ ### 6. Supply Chain [12][13]
84
+
85
+ Pin dependencies to exact versions. Require SRI for CDN assets [18]. Use
86
+ Sigstore/SLSA provenance in CI/CD to verify artifact integrity [12][13].
87
+
88
+ ---
89
+
90
+ ## Extended References
91
+
92
+ | Reference | Content |
93
+ |-----------|---------|
94
+ | `references/sources.md` | Full bibliography (25 sources) |
95
+ | `references/patterns.md` | Correct patterns with citations |
96
+ | `references/violations.md` | Violation examples with citations |
97
+ | `references/detection.md` | Grep patterns for automated scanning |
98
+
99
+ ## Severity Guidelines
100
+
101
+ | Level | Criteria | Examples |
102
+ |-------|----------|----------|
103
+ | **CRITICAL** | Immediate exploitation | SQL injection in auth, RCE, hardcoded admin creds |
104
+ | **HIGH** | Significant risk | XSS [1], broken access control, weak crypto, CSRF [16] |
105
+ | **MEDIUM** | Moderate with conditions | Missing headers [10], permissive CORS, missing rate limits [11] |
106
+ | **LOW** | Minor improvement | Outdated deps (no CVE), suboptimal CSP [15] |
107
+
108
+ ## OWASP Top 10 Reference [1]
109
+
110
+ | ID | Category | Examples |
111
+ |----|----------|----------|
112
+ | A01 | Broken Access Control | Missing auth, IDOR, privilege escalation |
113
+ | A02 | Cryptographic Failures | Weak hashing [24], hardcoded secrets |
114
+ | A03 | Injection | SQL, NoSQL, command, XSS [6] |
115
+ | A04 | Insecure Design | Missing rate limits, mass assignment [11] |
116
+ | A05 | Security Misconfiguration | Debug enabled, missing headers [10][15] |
117
+ | A06 | Vulnerable Components | Outdated deps, supply chain risks [12] |
118
+ | A07 | Auth Failures | Weak passwords [7], session issues, JWT misuse [17] |
119
+ | A08 | Data Integrity Failures | Untrusted deserialization, no SRI [18] |
120
+ | A09 | Logging Failures | Missing security event logs [8] |
121
+ | A10 | SSRF | Unvalidated URLs in server requests [11] |