@su-record/vibe 2.9.24 → 2.9.32

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 (530) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +109 -105
  3. package/LICENSE +21 -21
  4. package/README.en.md +220 -220
  5. package/README.md +171 -171
  6. package/agents/architect-low.md +41 -41
  7. package/agents/architect-medium.md +59 -59
  8. package/agents/architect.md +80 -80
  9. package/agents/build-error-resolver.md +115 -115
  10. package/agents/compounder.md +261 -261
  11. package/agents/diagrammer.md +178 -178
  12. package/agents/docs/api-documenter.md +99 -99
  13. package/agents/docs/changelog-writer.md +93 -93
  14. package/agents/e2e-tester.md +294 -294
  15. package/agents/event/event-comms.md +78 -78
  16. package/agents/event/event-content.md +68 -68
  17. package/agents/event/event-image.md +95 -95
  18. package/agents/event/event-ops.md +84 -84
  19. package/agents/event/event-scheduler.md +69 -69
  20. package/agents/event/event-speaker.md +86 -86
  21. package/agents/explorer-low.md +42 -42
  22. package/agents/explorer-medium.md +59 -59
  23. package/agents/explorer.md +48 -48
  24. package/agents/implementer-low.md +43 -43
  25. package/agents/implementer-medium.md +52 -52
  26. package/agents/implementer.md +54 -54
  27. package/agents/junior-mentor.md +141 -141
  28. package/agents/planning/requirements-analyst.md +84 -84
  29. package/agents/planning/ux-advisor.md +83 -83
  30. package/agents/qa/acceptance-tester.md +86 -86
  31. package/agents/qa/edge-case-finder.md +93 -93
  32. package/agents/qa/qa-coordinator.md +131 -131
  33. package/agents/refactor-cleaner.md +143 -143
  34. package/agents/research/best-practices-agent.md +199 -199
  35. package/agents/research/codebase-patterns-agent.md +157 -157
  36. package/agents/research/framework-docs-agent.md +188 -188
  37. package/agents/research/security-advisory-agent.md +213 -213
  38. package/agents/review/architecture-reviewer.md +107 -107
  39. package/agents/review/complexity-reviewer.md +116 -116
  40. package/agents/review/data-integrity-reviewer.md +88 -88
  41. package/agents/review/git-history-reviewer.md +103 -103
  42. package/agents/review/performance-reviewer.md +86 -86
  43. package/agents/review/python-reviewer.md +150 -150
  44. package/agents/review/rails-reviewer.md +139 -139
  45. package/agents/review/react-reviewer.md +144 -144
  46. package/agents/review/security-reviewer.md +80 -80
  47. package/agents/review/simplicity-reviewer.md +140 -140
  48. package/agents/review/test-coverage-reviewer.md +116 -116
  49. package/agents/review/typescript-reviewer.md +127 -127
  50. package/agents/searcher.md +54 -54
  51. package/agents/simplifier.md +120 -120
  52. package/agents/teams/debug-team.md +70 -70
  53. package/agents/teams/dev-team.md +88 -88
  54. package/agents/teams/docs-team.md +80 -80
  55. package/agents/teams/figma/figma-analyst.md +52 -52
  56. package/agents/teams/figma/figma-architect.md +112 -112
  57. package/agents/teams/figma/figma-auditor.md +82 -82
  58. package/agents/teams/figma/figma-builder.md +100 -100
  59. package/agents/teams/figma-team.md +85 -85
  60. package/agents/teams/fullstack-team.md +83 -83
  61. package/agents/teams/lite-team.md +69 -69
  62. package/agents/teams/migration-team.md +78 -78
  63. package/agents/teams/refactor-team.md +94 -94
  64. package/agents/teams/research-team.md +86 -86
  65. package/agents/teams/review-debate-team.md +125 -125
  66. package/agents/teams/security-team.md +81 -81
  67. package/agents/tester.md +49 -49
  68. package/agents/ui/ui-a11y-auditor.md +93 -93
  69. package/agents/ui/ui-antipattern-detector.md +102 -102
  70. package/agents/ui/ui-dataviz-advisor.md +69 -69
  71. package/agents/ui/ui-design-system-gen.md +57 -57
  72. package/agents/ui/ui-industry-analyzer.md +49 -49
  73. package/agents/ui/ui-layout-architect.md +65 -65
  74. package/agents/ui/ui-stack-implementer.md +68 -68
  75. package/agents/ui/ux-compliance-reviewer.md +81 -81
  76. package/agents/ui-previewer.md +258 -258
  77. package/commands/vibe.analyze.md +533 -533
  78. package/commands/vibe.contract.md +105 -105
  79. package/commands/vibe.docs.md +33 -33
  80. package/commands/vibe.event.md +163 -163
  81. package/commands/vibe.figma.md +600 -584
  82. package/commands/vibe.harness.md +177 -177
  83. package/commands/vibe.regress.md +73 -73
  84. package/commands/vibe.review.md +624 -624
  85. package/commands/vibe.run.md +1946 -1940
  86. package/commands/vibe.scaffold.md +195 -195
  87. package/commands/vibe.spec.md +577 -577
  88. package/commands/vibe.test.md +49 -96
  89. package/commands/vibe.trace.md +276 -276
  90. package/commands/vibe.utils.md +413 -413
  91. package/commands/vibe.verify.md +572 -550
  92. package/dist/cli/auth.d.ts +7 -1
  93. package/dist/cli/auth.d.ts.map +1 -1
  94. package/dist/cli/auth.js +51 -11
  95. package/dist/cli/auth.js.map +1 -1
  96. package/dist/cli/collaborator.d.ts +5 -1
  97. package/dist/cli/collaborator.d.ts.map +1 -1
  98. package/dist/cli/collaborator.js +60 -55
  99. package/dist/cli/collaborator.js.map +1 -1
  100. package/dist/cli/commands/codex-proxy.js +15 -15
  101. package/dist/cli/commands/config.js +9 -9
  102. package/dist/cli/commands/evolution.js +12 -12
  103. package/dist/cli/commands/figma.js +20 -20
  104. package/dist/cli/commands/info.d.ts.map +1 -1
  105. package/dist/cli/commands/info.js +47 -63
  106. package/dist/cli/commands/info.js.map +1 -1
  107. package/dist/cli/commands/init.d.ts +13 -5
  108. package/dist/cli/commands/init.d.ts.map +1 -1
  109. package/dist/cli/commands/init.js +71 -35
  110. package/dist/cli/commands/init.js.map +1 -1
  111. package/dist/cli/commands/remove.d.ts.map +1 -1
  112. package/dist/cli/commands/remove.js +35 -22
  113. package/dist/cli/commands/remove.js.map +1 -1
  114. package/dist/cli/commands/sentinel.js +27 -27
  115. package/dist/cli/commands/skills.js +5 -5
  116. package/dist/cli/commands/slack.js +10 -10
  117. package/dist/cli/commands/stats.js +6 -6
  118. package/dist/cli/commands/telegram.js +12 -12
  119. package/dist/cli/commands/update.d.ts.map +1 -1
  120. package/dist/cli/commands/update.js +10 -6
  121. package/dist/cli/commands/update.js.map +1 -1
  122. package/dist/cli/detect.js +32 -32
  123. package/dist/cli/index.js +37 -35
  124. package/dist/cli/index.js.map +1 -1
  125. package/dist/cli/llm/claude-commands.js +16 -16
  126. package/dist/cli/llm/config.js +18 -18
  127. package/dist/cli/llm/gemini-commands.js +16 -16
  128. package/dist/cli/llm/gpt-commands.js +19 -19
  129. package/dist/cli/llm/help.js +21 -21
  130. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  131. package/dist/cli/postinstall/constants.js +1 -0
  132. package/dist/cli/postinstall/constants.js.map +1 -1
  133. package/dist/cli/postinstall/cursor-agents.js +32 -32
  134. package/dist/cli/postinstall/cursor-rules.js +83 -83
  135. package/dist/cli/postinstall/cursor-skills.js +743 -743
  136. package/dist/cli/postinstall/global-config.d.ts.map +1 -1
  137. package/dist/cli/postinstall/global-config.js +8 -4
  138. package/dist/cli/postinstall/global-config.js.map +1 -1
  139. package/dist/cli/setup/LegacyMigration.d.ts +14 -0
  140. package/dist/cli/setup/LegacyMigration.d.ts.map +1 -1
  141. package/dist/cli/setup/LegacyMigration.js +61 -0
  142. package/dist/cli/setup/LegacyMigration.js.map +1 -1
  143. package/dist/cli/setup/ProjectSetup.d.ts +9 -3
  144. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  145. package/dist/cli/setup/ProjectSetup.js +60 -36
  146. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  147. package/dist/cli/setup/Provisioner.js +44 -44
  148. package/dist/cli/setup/Provisioner.js.map +1 -1
  149. package/dist/cli/setup.d.ts +1 -1
  150. package/dist/cli/setup.d.ts.map +1 -1
  151. package/dist/cli/setup.js +1 -1
  152. package/dist/cli/setup.js.map +1 -1
  153. package/dist/cli/utils/cli-detector.d.ts +9 -6
  154. package/dist/cli/utils/cli-detector.d.ts.map +1 -1
  155. package/dist/cli/utils/cli-detector.js +127 -8
  156. package/dist/cli/utils/cli-detector.js.map +1 -1
  157. package/dist/infra/lib/DeepInit.js +24 -24
  158. package/dist/infra/lib/IterationTracker.js +11 -11
  159. package/dist/infra/lib/PythonParser.js +108 -108
  160. package/dist/infra/lib/ReviewRace.js +96 -96
  161. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  162. package/dist/infra/lib/SkillQualityGate.js +9 -9
  163. package/dist/infra/lib/SkillRepository.js +159 -159
  164. package/dist/infra/lib/UltraQA.js +99 -99
  165. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  166. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  167. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  168. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  169. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  170. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  171. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  172. package/dist/infra/lib/browser/compare.d.ts +27 -0
  173. package/dist/infra/lib/browser/compare.d.ts.map +1 -1
  174. package/dist/infra/lib/browser/compare.js +55 -0
  175. package/dist/infra/lib/browser/compare.js.map +1 -1
  176. package/dist/infra/lib/browser/index.d.ts +2 -1
  177. package/dist/infra/lib/browser/index.d.ts.map +1 -1
  178. package/dist/infra/lib/browser/index.js +1 -1
  179. package/dist/infra/lib/browser/index.js.map +1 -1
  180. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  181. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  182. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  183. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  184. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  185. package/dist/infra/lib/evolution/ParityTester.js +57 -57
  186. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  187. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  188. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  189. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  190. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  191. package/dist/infra/lib/figma/audit.d.ts +37 -0
  192. package/dist/infra/lib/figma/audit.d.ts.map +1 -0
  193. package/dist/infra/lib/figma/audit.js +130 -0
  194. package/dist/infra/lib/figma/audit.js.map +1 -0
  195. package/dist/infra/lib/figma/extract.d.ts +21 -1
  196. package/dist/infra/lib/figma/extract.d.ts.map +1 -1
  197. package/dist/infra/lib/figma/extract.js +84 -12
  198. package/dist/infra/lib/figma/extract.js.map +1 -1
  199. package/dist/infra/lib/figma/index.d.ts +4 -2
  200. package/dist/infra/lib/figma/index.d.ts.map +1 -1
  201. package/dist/infra/lib/figma/index.js +2 -1
  202. package/dist/infra/lib/figma/index.js.map +1 -1
  203. package/dist/infra/lib/figma/types.d.ts +31 -0
  204. package/dist/infra/lib/figma/types.d.ts.map +1 -1
  205. package/dist/infra/lib/gemini/orchestration.js +5 -5
  206. package/dist/infra/lib/gpt/orchestration.js +4 -4
  207. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  208. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  209. package/dist/infra/lib/memory/MemoryStorage.d.ts +5 -0
  210. package/dist/infra/lib/memory/MemoryStorage.d.ts.map +1 -1
  211. package/dist/infra/lib/memory/MemoryStorage.js +202 -183
  212. package/dist/infra/lib/memory/MemoryStorage.js.map +1 -1
  213. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  214. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  215. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  216. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  217. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  218. package/dist/infra/orchestrator/AgentManager.js +12 -12
  219. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  220. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  221. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  222. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  223. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  224. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  225. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  226. package/dist/tools/memory/getMemoryGraph.js +12 -12
  227. package/dist/tools/memory/getSessionContext.js +9 -9
  228. package/dist/tools/memory/linkMemories.js +14 -14
  229. package/dist/tools/memory/listMemories.js +4 -4
  230. package/dist/tools/memory/recallMemory.js +4 -4
  231. package/dist/tools/memory/saveMemory.js +4 -4
  232. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  233. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  234. package/dist/tools/semantic/astGrep.test.js +6 -6
  235. package/dist/tools/spec/prdParser.test.js +171 -171
  236. package/dist/tools/spec/specGenerator.js +169 -169
  237. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  238. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  239. package/hooks/gemini-hooks.json +73 -73
  240. package/hooks/hooks.json +134 -126
  241. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
  242. package/hooks/scripts/__tests__/pre-tool-guard.test.js +409 -368
  243. package/hooks/scripts/__tests__/sentinel-guard.test.js +208 -208
  244. package/hooks/scripts/auto-commit.js +97 -97
  245. package/hooks/scripts/auto-format.js +64 -64
  246. package/hooks/scripts/auto-test.js +81 -81
  247. package/hooks/scripts/code-check.js +271 -271
  248. package/hooks/scripts/codex-detect.js +46 -46
  249. package/hooks/scripts/codex-review-gate.js +80 -80
  250. package/hooks/scripts/command-log.js +32 -32
  251. package/hooks/scripts/context-save.js +353 -353
  252. package/hooks/scripts/evolution-engine.js +91 -91
  253. package/hooks/scripts/figma-extract.js +768 -635
  254. package/hooks/scripts/figma-guard.js +219 -219
  255. package/hooks/scripts/figma-refine.js +315 -315
  256. package/hooks/scripts/figma-to-scss.js +394 -394
  257. package/hooks/scripts/figma-validate.js +353 -353
  258. package/hooks/scripts/hud-status.js +321 -321
  259. package/hooks/scripts/keyword-detector.js +214 -214
  260. package/hooks/scripts/lib/dispatcher.js +87 -83
  261. package/hooks/scripts/lib/scope-from-spec.js +276 -261
  262. package/hooks/scripts/llm-orchestrate.js +645 -645
  263. package/hooks/scripts/post-edit.js +35 -35
  264. package/hooks/scripts/pr-test-gate.js +52 -52
  265. package/hooks/scripts/pre-tool-guard.js +259 -254
  266. package/hooks/scripts/prompt-dispatcher.js +192 -190
  267. package/hooks/scripts/scope-guard.js +145 -145
  268. package/hooks/scripts/sentinel-guard.js +130 -130
  269. package/hooks/scripts/session-start.js +186 -186
  270. package/hooks/scripts/skill-injector.js +83 -83
  271. package/hooks/scripts/step-counter.js +45 -0
  272. package/hooks/scripts/stop-notify.js +209 -209
  273. package/hooks/scripts/utils.js +315 -257
  274. package/languages/csharp-unity.md +515 -515
  275. package/languages/gdscript-godot.md +470 -470
  276. package/languages/ruby-rails.md +489 -489
  277. package/languages/typescript-angular.md +433 -433
  278. package/languages/typescript-astro.md +416 -416
  279. package/languages/typescript-electron.md +406 -406
  280. package/languages/typescript-nestjs.md +524 -524
  281. package/languages/typescript-svelte.md +407 -407
  282. package/languages/typescript-tauri.md +365 -365
  283. package/package.json +106 -106
  284. package/skills/agents-md/SKILL.md +121 -121
  285. package/skills/agents-md/rubrics/what-to-keep.md +49 -49
  286. package/skills/agents-md/templates/agents-md.md +36 -36
  287. package/skills/arch-guard/SKILL.md +181 -181
  288. package/skills/arch-guard/agents/detector.md +48 -48
  289. package/skills/arch-guard/agents/reporter.md +48 -48
  290. package/skills/arch-guard/agents/rule-generator.md +49 -49
  291. package/skills/arch-guard/agents/violation-checker.md +51 -51
  292. package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
  293. package/skills/arch-guard/frameworks/solid.md +102 -102
  294. package/skills/arch-guard/scripts/check-boundaries.js +90 -90
  295. package/skills/arch-guard/templates/arch-rules.json +47 -47
  296. package/skills/arch-guard/templates/violation-report.md +53 -53
  297. package/skills/brand-assets/SKILL.md +147 -147
  298. package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
  299. package/skills/brand-assets/templates/brand-guide.md +161 -161
  300. package/skills/capability-loop/SKILL.md +272 -272
  301. package/skills/capability-loop/agents/capability-designer.md +61 -61
  302. package/skills/capability-loop/agents/failure-analyst.md +55 -55
  303. package/skills/capability-loop/agents/implementer.md +50 -50
  304. package/skills/capability-loop/agents/tester.md +53 -53
  305. package/skills/capability-loop/templates/capability-spec.md +118 -118
  306. package/skills/capability-loop/templates/failure-analysis.md +118 -118
  307. package/skills/characterization-test/SKILL.md +207 -207
  308. package/skills/characterization-test/agents/behavior-capturer.md +50 -50
  309. package/skills/characterization-test/agents/coverage-checker.md +54 -54
  310. package/skills/characterization-test/agents/reporter.md +50 -50
  311. package/skills/characterization-test/agents/test-writer.md +49 -49
  312. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
  313. package/skills/characterization-test/templates/test-template.ts +101 -101
  314. package/skills/chub-usage/SKILL.md +139 -139
  315. package/skills/claude-md-guide/SKILL.md +351 -351
  316. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
  317. package/skills/claude-md-guide/templates/claude-md.md +54 -54
  318. package/skills/commerce-patterns/SKILL.md +64 -64
  319. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
  320. package/skills/commerce-patterns/templates/product-schema.md +85 -85
  321. package/skills/commit-push-pr/SKILL.md +77 -77
  322. package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
  323. package/skills/commit-push-pr/agents/message-writer.md +50 -50
  324. package/skills/commit-push-pr/agents/pr-writer.md +58 -58
  325. package/skills/commit-push-pr/agents/reviewer.md +52 -52
  326. package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
  327. package/skills/commit-push-pr/templates/pr-body.md +63 -63
  328. package/skills/context7-usage/SKILL.md +106 -106
  329. package/skills/context7-usage/rubrics/when-to-use.md +50 -50
  330. package/skills/create-prd/SKILL.md +90 -90
  331. package/skills/create-prd/agents/edge-case-finder.md +48 -48
  332. package/skills/create-prd/agents/prioritizer.md +60 -60
  333. package/skills/create-prd/agents/requirements-writer.md +48 -48
  334. package/skills/create-prd/agents/researcher.md +55 -55
  335. package/skills/create-prd/agents/reviewer.md +54 -54
  336. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
  337. package/skills/create-prd/frameworks/rice-scoring.md +97 -97
  338. package/skills/create-prd/orchestrator.md +70 -70
  339. package/skills/create-prd/rubrics/completeness.md +58 -58
  340. package/skills/create-prd/templates/prd.md +139 -139
  341. package/skills/design-audit/SKILL.md +152 -152
  342. package/skills/design-audit/agents/a11y-auditor.md +43 -43
  343. package/skills/design-audit/agents/performance-auditor.md +46 -46
  344. package/skills/design-audit/agents/responsive-auditor.md +46 -46
  345. package/skills/design-audit/agents/scorer.md +47 -47
  346. package/skills/design-audit/agents/slop-detector.md +47 -47
  347. package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
  348. package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
  349. package/skills/design-audit/orchestrator.md +64 -64
  350. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
  351. package/skills/design-audit/rubrics/scoring.md +63 -63
  352. package/skills/design-audit/templates/report.md +88 -88
  353. package/skills/design-critique/SKILL.md +139 -139
  354. package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
  355. package/skills/design-critique/templates/critique-report.md +86 -86
  356. package/skills/design-distill/SKILL.md +130 -130
  357. package/skills/design-distill/templates/design-system.md +132 -132
  358. package/skills/design-normalize/SKILL.md +133 -133
  359. package/skills/design-normalize/rubrics/token-naming.md +117 -117
  360. package/skills/design-normalize/templates/token-audit.md +89 -89
  361. package/skills/design-polish/SKILL.md +131 -131
  362. package/skills/design-polish/rubrics/polish-checklist.md +68 -68
  363. package/skills/design-polish/templates/polish-report.md +64 -64
  364. package/skills/design-teach/SKILL.md +182 -182
  365. package/skills/design-teach/rubrics/brand-personality.md +73 -73
  366. package/skills/design-teach/templates/design-context.json +36 -36
  367. package/skills/devlog/SKILL.md +143 -143
  368. package/skills/e2e-commerce/SKILL.md +62 -62
  369. package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
  370. package/skills/event-comms/SKILL.md +172 -172
  371. package/skills/event-comms/templates/email-invite.md +99 -99
  372. package/skills/event-comms/templates/sns-post.md +133 -133
  373. package/skills/event-ops/SKILL.md +207 -207
  374. package/skills/event-ops/rubrics/contingency.md +85 -85
  375. package/skills/event-ops/templates/d-day-checklist.md +65 -65
  376. package/skills/event-planning/SKILL.md +144 -144
  377. package/skills/event-planning/rubrics/timeline.md +70 -70
  378. package/skills/event-planning/templates/event-plan.md +91 -91
  379. package/skills/exec-plan/SKILL.md +149 -149
  380. package/skills/exec-plan/agents/decomposer.md +47 -47
  381. package/skills/exec-plan/agents/dependency-mapper.md +44 -44
  382. package/skills/exec-plan/agents/estimator.md +43 -43
  383. package/skills/exec-plan/agents/validator.md +55 -55
  384. package/skills/exec-plan/orchestrator.md +70 -70
  385. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
  386. package/skills/exec-plan/templates/plan.md +147 -147
  387. package/skills/git-worktree/SKILL.md +73 -73
  388. package/skills/git-worktree/rubrics/when-to-use.md +55 -55
  389. package/skills/handoff/SKILL.md +110 -110
  390. package/skills/handoff/agents/context-summarizer.md +51 -51
  391. package/skills/handoff/agents/document-writer.md +63 -63
  392. package/skills/handoff/agents/state-collector.md +53 -53
  393. package/skills/handoff/agents/verifier.md +48 -48
  394. package/skills/handoff/rubrics/completeness.md +62 -62
  395. package/skills/handoff/templates/handoff.md +107 -107
  396. package/skills/parallel-research/SKILL.md +104 -104
  397. package/skills/parallel-research/agents/best-practices.md +43 -43
  398. package/skills/parallel-research/agents/codebase-patterns.md +46 -46
  399. package/skills/parallel-research/agents/framework-docs.md +45 -45
  400. package/skills/parallel-research/agents/security-advisory.md +46 -46
  401. package/skills/parallel-research/agents/synthesizer.md +57 -57
  402. package/skills/parallel-research/experts/best-practices.md +50 -50
  403. package/skills/parallel-research/experts/codebase-patterns.md +70 -70
  404. package/skills/parallel-research/experts/framework-docs.md +65 -65
  405. package/skills/parallel-research/experts/security-advisory.md +69 -69
  406. package/skills/parallel-research/orchestrator.md +79 -79
  407. package/skills/parallel-research/templates/awesome-list.md +32 -32
  408. package/skills/parallel-research/templates/paper.md +88 -88
  409. package/skills/parallel-research/templates/synthesis.md +101 -101
  410. package/skills/prioritization-frameworks/SKILL.md +87 -87
  411. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
  412. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
  413. package/skills/priority-todos/SKILL.md +64 -64
  414. package/skills/priority-todos/rubrics/prioritization.md +70 -70
  415. package/skills/priority-todos/templates/todo-board.md +59 -59
  416. package/skills/seo-checklist/SKILL.md +58 -58
  417. package/skills/seo-checklist/frameworks/structured-data.md +153 -153
  418. package/skills/seo-checklist/rubrics/content-seo.md +42 -42
  419. package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
  420. package/skills/techdebt/SKILL.md +124 -124
  421. package/skills/techdebt/agents/analyzer.md +50 -50
  422. package/skills/techdebt/agents/fixer.md +41 -41
  423. package/skills/techdebt/agents/reviewer.md +47 -47
  424. package/skills/techdebt/agents/scanner.md +44 -44
  425. package/skills/techdebt/orchestrator.md +70 -70
  426. package/skills/techdebt/rubrics/severity.md +51 -51
  427. package/skills/techdebt/scripts/scan.js +90 -90
  428. package/skills/techdebt/templates/report.md +86 -86
  429. package/skills/tool-fallback/SKILL.md +104 -104
  430. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
  431. package/skills/typescript-advanced-types/SKILL.md +67 -67
  432. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
  433. package/skills/ui-ux-pro-max/SKILL.md +236 -236
  434. package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
  435. package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
  436. package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
  437. package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
  438. package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
  439. package/skills/ui-ux-pro-max/reference/typography.md +455 -455
  440. package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
  441. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
  442. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
  443. package/skills/user-personas/SKILL.md +75 -75
  444. package/skills/user-personas/rubrics/research-methods.md +56 -56
  445. package/skills/user-personas/templates/persona.md +89 -89
  446. package/skills/vercel-react-best-practices/SKILL.md +60 -60
  447. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
  448. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
  449. package/skills/vibe-contract/SKILL.md +166 -166
  450. package/skills/vibe-docs/templates/architecture.md +80 -80
  451. package/skills/vibe-docs/templates/readme.md +84 -84
  452. package/skills/vibe-docs/templates/release-notes.md +74 -74
  453. package/skills/vibe-figma/SKILL.md +363 -363
  454. package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -51
  455. package/skills/vibe-figma/templates/component-index.md +126 -126
  456. package/skills/vibe-figma/templates/component-spec.md +168 -168
  457. package/skills/vibe-figma/templates/figma-handoff.md +100 -100
  458. package/skills/vibe-figma/templates/remapped-tree.md +277 -277
  459. package/skills/vibe-figma-convert/SKILL.md +235 -235
  460. package/skills/vibe-figma-convert/rubrics/conversion-rules.md +141 -141
  461. package/skills/vibe-figma-convert/templates/component.md +140 -140
  462. package/skills/vibe-figma-extract/SKILL.md +241 -219
  463. package/skills/vibe-figma-extract/rubrics/image-rules.md +157 -157
  464. package/skills/vibe-interview/SKILL.md +358 -358
  465. package/skills/vibe-interview/checklists/api.md +101 -101
  466. package/skills/vibe-interview/checklists/feature.md +88 -88
  467. package/skills/vibe-interview/checklists/library.md +95 -95
  468. package/skills/vibe-interview/checklists/mobile.md +89 -89
  469. package/skills/vibe-interview/checklists/webapp.md +97 -97
  470. package/skills/vibe-interview/checklists/website.md +99 -99
  471. package/skills/vibe-plan/SKILL.md +254 -254
  472. package/skills/vibe-regress/SKILL.md +174 -174
  473. package/skills/vibe-regress/templates/bug.md +44 -44
  474. package/skills/vibe-regress/templates/test-jest.md +29 -29
  475. package/skills/vibe-regress/templates/test-vitest.md +30 -30
  476. package/skills/vibe-spec/SKILL.md +1195 -1195
  477. package/skills/vibe-spec-review/SKILL.md +726 -726
  478. package/skills/vibe-test/SKILL.md +140 -247
  479. package/skills/video-production/SKILL.md +52 -52
  480. package/skills/video-production/rubrics/quality-checklist.md +58 -58
  481. package/skills/video-production/templates/production-plan.md +104 -104
  482. package/vibe/config.json +29 -29
  483. package/vibe/constitution.md +227 -227
  484. package/vibe/rules/principles/communication-guide.md +98 -98
  485. package/vibe/rules/principles/development-philosophy.md +52 -52
  486. package/vibe/rules/principles/quick-start.md +102 -102
  487. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  488. package/vibe/rules/quality/checklist.md +276 -276
  489. package/vibe/rules/quality/performance.md +236 -236
  490. package/vibe/rules/quality/testing-strategy.md +440 -440
  491. package/vibe/rules/standards/anti-patterns.md +541 -541
  492. package/vibe/rules/standards/code-structure.md +291 -291
  493. package/vibe/rules/standards/complexity-metrics.md +313 -313
  494. package/vibe/rules/standards/git-workflow.md +237 -237
  495. package/vibe/rules/standards/naming-conventions.md +198 -198
  496. package/vibe/rules/standards/security.md +305 -305
  497. package/vibe/rules/writing/document-style.md +74 -74
  498. package/vibe/setup.sh +31 -31
  499. package/vibe/templates/claudemd-template.md +74 -74
  500. package/vibe/templates/constitution-template.md +267 -267
  501. package/vibe/templates/contract-backend-template.md +526 -526
  502. package/vibe/templates/contract-frontend-template.md +599 -599
  503. package/vibe/templates/feature-template.md +96 -96
  504. package/vibe/templates/plan-template.md +194 -194
  505. package/vibe/templates/spec-template.md +221 -221
  506. package/vibe/ui-ux-data/charts.csv +26 -26
  507. package/vibe/ui-ux-data/colors.csv +97 -97
  508. package/vibe/ui-ux-data/icons.csv +101 -101
  509. package/vibe/ui-ux-data/landing.csv +31 -31
  510. package/vibe/ui-ux-data/products.csv +96 -96
  511. package/vibe/ui-ux-data/react-performance.csv +45 -45
  512. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  513. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  514. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  515. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  516. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  517. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  518. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  519. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  520. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  521. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  522. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  523. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  524. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  525. package/vibe/ui-ux-data/styles.csv +68 -68
  526. package/vibe/ui-ux-data/typography.csv +57 -57
  527. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  528. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  529. package/vibe/ui-ux-data/version.json +31 -31
  530. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,181 +1,181 @@
1
- ---
2
- name: arch-guard
3
- tier: core
4
- description: "Generate architecture boundary tests that mechanically enforce layer constraints. Use when adding new modules, refactoring layers, or after detecting circular dependencies. Creates import-rule tests (e.g., 'UI must not import DB') that fail CI on violation. Must use this skill when user mentions layer enforcement, dependency rules, or architectural boundaries — even casually like 'make sure services don't import controllers'."
5
- triggers: [arch guard, architecture test, layer test, boundary test, structural test, arch validation]
6
- priority: 60
7
- ---
8
-
9
- # Arch Guard — Architecture Boundary Test Generator
10
-
11
- > **Principle**: "Mechanical enforcement over documentation." If a rule exists only in docs, it will be violated. Turn architecture constraints into failing tests.
12
-
13
- ## When to Use
14
-
15
- | Scenario | Signal |
16
- |----------|--------|
17
- | `vibe init` / `vibe update` | Auto-generate for detected stack |
18
- | New layer/module added | Boundaries need enforcement |
19
- | Architecture violation found in review | Prevent recurrence with test |
20
- | "Services should not import UI" type rules | Turn into automated check |
21
-
22
- ## Core Flow
23
-
24
- ```
25
- DETECT → INFER → GENERATE → VERIFY
26
- ```
27
-
28
- ### Step 1: DETECT — Identify Project Architecture
29
-
30
- Analyze the project to determine its layer structure:
31
-
32
- ```
33
- Parallel exploration:
34
- - Agent 1: Scan directory structure (src/, app/, lib/, etc.)
35
- - Agent 2: Read existing architecture docs (CLAUDE.md, README, ADR)
36
- - Agent 3: Analyze import graph (which files import what)
37
- ```
38
-
39
- **Common patterns to detect:**
40
-
41
- | Pattern | Layers | Typical Stacks |
42
- |---------|--------|----------------|
43
- | MVC | Controller → Service → Model | Rails, NestJS, Spring |
44
- | Clean Architecture | UI → Application → Domain → Infrastructure | General |
45
- | Feature-based | Feature A ↛ Feature B internals | Next.js, React |
46
- | Hexagonal | Adapters → Ports → Domain | DDD projects |
47
- | Component hierarchy | Page → Feature → Shared → UI Primitives | Frontend |
48
-
49
- ### Step 2: INFER — Define Boundary Rules
50
-
51
- From detected structure, generate rules:
52
-
53
- ```typescript
54
- // Rule format
55
- interface ArchRule {
56
- name: string; // "service-no-ui-import"
57
- from: string; // Glob pattern: "src/services/**"
58
- cannotImport: string[]; // ["src/components/**", "src/pages/**"]
59
- canImport: string[]; // ["src/models/**", "src/utils/**"]
60
- reason: string; // "Services must be UI-agnostic"
61
- }
62
- ```
63
-
64
- **Default rules by stack:**
65
-
66
- | Stack | Rule |
67
- |-------|------|
68
- | Next.js / React | `components/` cannot import from `pages/` or `app/` |
69
- | Next.js / React | `lib/` cannot import from `components/` |
70
- | NestJS | `*.service.ts` cannot import from `*.controller.ts` |
71
- | NestJS | `*.module.ts` is the only valid cross-boundary import |
72
- | General TS | `src/domain/` cannot import from `src/infra/` |
73
- | General TS | No circular dependencies between top-level dirs |
74
- | Python Django | `models.py` cannot import from `views.py` |
75
- | Python FastAPI | `schemas/` cannot import from `routers/` |
76
-
77
- ### Step 3: GENERATE — Create Test File
78
-
79
- Output: `tests/arch-guard.test.ts` (or equivalent for stack)
80
-
81
- ```typescript
82
- /**
83
- * Architecture Boundary Tests
84
- * Generated by arch-guard skill
85
- *
86
- * These tests enforce architectural constraints mechanically.
87
- * If a test fails, it means an import violates the intended architecture.
88
- */
89
- import { describe, it, expect } from 'vitest';
90
- import fs from 'fs';
91
- import path from 'path';
92
-
93
- // Helper: extract imports from a file
94
- function extractImports(filePath: string): string[] {
95
- const content = fs.readFileSync(filePath, 'utf-8');
96
- const importRegex = /(?:import|require)\s*\(?['"]([^'"]+)['"]\)?/g;
97
- const imports: string[] = [];
98
- let match;
99
- while ((match = importRegex.exec(content)) !== null) {
100
- imports.push(match[1]);
101
- }
102
- return imports;
103
- }
104
-
105
- // Helper: resolve relative import to absolute path
106
- function resolveImport(fromFile: string, importPath: string): string {
107
- if (importPath.startsWith('.')) {
108
- return path.resolve(path.dirname(fromFile), importPath);
109
- }
110
- return importPath; // external package
111
- }
112
-
113
- // Helper: glob files matching pattern
114
- function globFiles(pattern: string, baseDir: string): string[] {
115
- // Use fast-glob or manual recursive scan
116
- // Implementation depends on available dependencies
117
- }
118
-
119
- describe('Architecture Boundaries', () => {
120
- // GENERATED RULES GO HERE
121
- // Each rule becomes a test case:
122
-
123
- it('services cannot import UI components', () => {
124
- const serviceFiles = globFiles('src/services/**/*.ts', process.cwd());
125
- const violations: string[] = [];
126
-
127
- for (const file of serviceFiles) {
128
- const imports = extractImports(file);
129
- for (const imp of imports) {
130
- const resolved = resolveImport(file, imp);
131
- if (resolved.includes('/components/') || resolved.includes('/pages/')) {
132
- violations.push(`${file} imports ${imp}`);
133
- }
134
- }
135
- }
136
-
137
- expect(violations).toEqual([]);
138
- });
139
- });
140
- ```
141
-
142
- ### Step 4: VERIFY — Run and Fix
143
-
144
- 1. Run the generated tests: `npx vitest run tests/arch-guard.test.ts`
145
- 2. If violations found:
146
- - Report each violation with file:line
147
- - Suggest fix (move shared code to appropriate layer)
148
- - Do NOT auto-fix — violations need human review
149
-
150
- ## Output Files
151
-
152
- | File | Purpose |
153
- |------|---------|
154
- | `tests/arch-guard.test.ts` | Executable boundary tests |
155
- | `.claude/vibe/arch-rules.json` | Machine-readable rules (for CI) |
156
-
157
- ## Customization
158
-
159
- Users can add custom rules to `.claude/vibe/arch-rules.json`:
160
-
161
- ```json
162
- {
163
- "rules": [
164
- {
165
- "name": "no-direct-db-in-handlers",
166
- "from": "src/handlers/**",
167
- "cannotImport": ["src/db/**"],
168
- "reason": "Handlers must use services, not direct DB access"
169
- }
170
- ]
171
- }
172
- ```
173
-
174
- The test generator reads this file and adds custom rules to the test suite.
175
-
176
- ## Integration
177
-
178
- - `vibe init` → auto-detect and generate initial arch-guard tests
179
- - `vibe update` → refresh rules if directory structure changed
180
- - Pre-commit hook → run arch-guard tests before commit
181
- - `vibe.review` (skill) → architecture-reviewer checks against arch-rules.json
1
+ ---
2
+ name: arch-guard
3
+ tier: core
4
+ description: "Generate architecture boundary tests that mechanically enforce layer constraints. Use when adding new modules, refactoring layers, or after detecting circular dependencies. Creates import-rule tests (e.g., 'UI must not import DB') that fail CI on violation. Must use this skill when user mentions layer enforcement, dependency rules, or architectural boundaries — even casually like 'make sure services don't import controllers'."
5
+ triggers: [arch guard, architecture test, layer test, boundary test, structural test, arch validation]
6
+ priority: 60
7
+ ---
8
+
9
+ # Arch Guard — Architecture Boundary Test Generator
10
+
11
+ > **Principle**: "Mechanical enforcement over documentation." If a rule exists only in docs, it will be violated. Turn architecture constraints into failing tests.
12
+
13
+ ## When to Use
14
+
15
+ | Scenario | Signal |
16
+ |----------|--------|
17
+ | `vibe init` / `vibe update` | Auto-generate for detected stack |
18
+ | New layer/module added | Boundaries need enforcement |
19
+ | Architecture violation found in review | Prevent recurrence with test |
20
+ | "Services should not import UI" type rules | Turn into automated check |
21
+
22
+ ## Core Flow
23
+
24
+ ```
25
+ DETECT → INFER → GENERATE → VERIFY
26
+ ```
27
+
28
+ ### Step 1: DETECT — Identify Project Architecture
29
+
30
+ Analyze the project to determine its layer structure:
31
+
32
+ ```
33
+ Parallel exploration:
34
+ - Agent 1: Scan directory structure (src/, app/, lib/, etc.)
35
+ - Agent 2: Read existing architecture docs (CLAUDE.md, README, ADR)
36
+ - Agent 3: Analyze import graph (which files import what)
37
+ ```
38
+
39
+ **Common patterns to detect:**
40
+
41
+ | Pattern | Layers | Typical Stacks |
42
+ |---------|--------|----------------|
43
+ | MVC | Controller → Service → Model | Rails, NestJS, Spring |
44
+ | Clean Architecture | UI → Application → Domain → Infrastructure | General |
45
+ | Feature-based | Feature A ↛ Feature B internals | Next.js, React |
46
+ | Hexagonal | Adapters → Ports → Domain | DDD projects |
47
+ | Component hierarchy | Page → Feature → Shared → UI Primitives | Frontend |
48
+
49
+ ### Step 2: INFER — Define Boundary Rules
50
+
51
+ From detected structure, generate rules:
52
+
53
+ ```typescript
54
+ // Rule format
55
+ interface ArchRule {
56
+ name: string; // "service-no-ui-import"
57
+ from: string; // Glob pattern: "src/services/**"
58
+ cannotImport: string[]; // ["src/components/**", "src/pages/**"]
59
+ canImport: string[]; // ["src/models/**", "src/utils/**"]
60
+ reason: string; // "Services must be UI-agnostic"
61
+ }
62
+ ```
63
+
64
+ **Default rules by stack:**
65
+
66
+ | Stack | Rule |
67
+ |-------|------|
68
+ | Next.js / React | `components/` cannot import from `pages/` or `app/` |
69
+ | Next.js / React | `lib/` cannot import from `components/` |
70
+ | NestJS | `*.service.ts` cannot import from `*.controller.ts` |
71
+ | NestJS | `*.module.ts` is the only valid cross-boundary import |
72
+ | General TS | `src/domain/` cannot import from `src/infra/` |
73
+ | General TS | No circular dependencies between top-level dirs |
74
+ | Python Django | `models.py` cannot import from `views.py` |
75
+ | Python FastAPI | `schemas/` cannot import from `routers/` |
76
+
77
+ ### Step 3: GENERATE — Create Test File
78
+
79
+ Output: `tests/arch-guard.test.ts` (or equivalent for stack)
80
+
81
+ ```typescript
82
+ /**
83
+ * Architecture Boundary Tests
84
+ * Generated by arch-guard skill
85
+ *
86
+ * These tests enforce architectural constraints mechanically.
87
+ * If a test fails, it means an import violates the intended architecture.
88
+ */
89
+ import { describe, it, expect } from 'vitest';
90
+ import fs from 'fs';
91
+ import path from 'path';
92
+
93
+ // Helper: extract imports from a file
94
+ function extractImports(filePath: string): string[] {
95
+ const content = fs.readFileSync(filePath, 'utf-8');
96
+ const importRegex = /(?:import|require)\s*\(?['"]([^'"]+)['"]\)?/g;
97
+ const imports: string[] = [];
98
+ let match;
99
+ while ((match = importRegex.exec(content)) !== null) {
100
+ imports.push(match[1]);
101
+ }
102
+ return imports;
103
+ }
104
+
105
+ // Helper: resolve relative import to absolute path
106
+ function resolveImport(fromFile: string, importPath: string): string {
107
+ if (importPath.startsWith('.')) {
108
+ return path.resolve(path.dirname(fromFile), importPath);
109
+ }
110
+ return importPath; // external package
111
+ }
112
+
113
+ // Helper: glob files matching pattern
114
+ function globFiles(pattern: string, baseDir: string): string[] {
115
+ // Use fast-glob or manual recursive scan
116
+ // Implementation depends on available dependencies
117
+ }
118
+
119
+ describe('Architecture Boundaries', () => {
120
+ // GENERATED RULES GO HERE
121
+ // Each rule becomes a test case:
122
+
123
+ it('services cannot import UI components', () => {
124
+ const serviceFiles = globFiles('src/services/**/*.ts', process.cwd());
125
+ const violations: string[] = [];
126
+
127
+ for (const file of serviceFiles) {
128
+ const imports = extractImports(file);
129
+ for (const imp of imports) {
130
+ const resolved = resolveImport(file, imp);
131
+ if (resolved.includes('/components/') || resolved.includes('/pages/')) {
132
+ violations.push(`${file} imports ${imp}`);
133
+ }
134
+ }
135
+ }
136
+
137
+ expect(violations).toEqual([]);
138
+ });
139
+ });
140
+ ```
141
+
142
+ ### Step 4: VERIFY — Run and Fix
143
+
144
+ 1. Run the generated tests: `npx vitest run tests/arch-guard.test.ts`
145
+ 2. If violations found:
146
+ - Report each violation with file:line
147
+ - Suggest fix (move shared code to appropriate layer)
148
+ - Do NOT auto-fix — violations need human review
149
+
150
+ ## Output Files
151
+
152
+ | File | Purpose |
153
+ |------|---------|
154
+ | `tests/arch-guard.test.ts` | Executable boundary tests |
155
+ | `.claude/vibe/arch-rules.json` | Machine-readable rules (for CI) |
156
+
157
+ ## Customization
158
+
159
+ Users can add custom rules to `.claude/vibe/arch-rules.json`:
160
+
161
+ ```json
162
+ {
163
+ "rules": [
164
+ {
165
+ "name": "no-direct-db-in-handlers",
166
+ "from": "src/handlers/**",
167
+ "cannotImport": ["src/db/**"],
168
+ "reason": "Handlers must use services, not direct DB access"
169
+ }
170
+ ]
171
+ }
172
+ ```
173
+
174
+ The test generator reads this file and adds custom rules to the test suite.
175
+
176
+ ## Integration
177
+
178
+ - `vibe init` → auto-detect and generate initial arch-guard tests
179
+ - `vibe update` → refresh rules if directory structure changed
180
+ - Pre-commit hook → run arch-guard tests before commit
181
+ - `vibe.review` (skill) → architecture-reviewer checks against arch-rules.json
@@ -1,48 +1,48 @@
1
- ---
2
- name: arch-detector
3
- role: Detects the project's architecture pattern by analyzing directory structure and import graph
4
- tools: [Glob, Grep, Read]
5
- ---
6
-
7
- # Arch Detector
8
-
9
- ## Role
10
- Analyzes directory layout, existing documentation, and import relationships to classify the project into a known architecture pattern. Produces a structured architecture map that downstream agents use to generate rules and check violations.
11
-
12
- ## Responsibilities
13
- - Scan top-level directory structure for known layer naming conventions
14
- - Read CLAUDE.md, README, and any ADR files for explicit architecture documentation
15
- - Sample import statements across files to infer actual dependency direction
16
- - Classify project into one of: MVC, Clean Architecture, Hexagonal, Feature-based, Component hierarchy, or Unknown
17
- - Produce a layer map with canonical names and glob patterns for each layer
18
-
19
- ## Input
20
- - Project root path
21
- - Optional: explicit architecture hint from user (e.g., "this is Clean Architecture")
22
-
23
- ## Output
24
- Architecture map JSON:
25
- ```json
26
- {
27
- "pattern": "Clean Architecture",
28
- "confidence": "high",
29
- "layers": [
30
- { "name": "domain", "glob": "src/domain/**", "allowedDeps": [] },
31
- { "name": "application", "glob": "src/application/**", "allowedDeps": ["domain"] },
32
- { "name": "infrastructure", "glob": "src/infra/**", "allowedDeps": ["domain", "application"] },
33
- { "name": "ui", "glob": "src/components/**", "allowedDeps": ["application"] }
34
- ]
35
- }
36
- ```
37
-
38
- ## Communication
39
- - Reports architecture map to: `arch-rule-generator`
40
- - Receives instructions from: arch-guard orchestrator (SKILL.md)
41
-
42
- ## Domain Knowledge
43
- Architecture pattern signals:
44
- - **MVC**: directories named `controllers/`, `models/`, `views/` or `services/`
45
- - **Clean Architecture**: `domain/`, `application/` or `use-cases/`, `infrastructure/` or `infra/`
46
- - **Hexagonal**: `adapters/`, `ports/`, `core/` or `domain/`
47
- - **Feature-based**: top-level feature folders each containing `components/`, `hooks/`, `api/`
48
- - **Component hierarchy**: `pages/`, `features/`, `shared/`, `ui/` in frontend projects
1
+ ---
2
+ name: arch-detector
3
+ role: Detects the project's architecture pattern by analyzing directory structure and import graph
4
+ tools: [Glob, Grep, Read]
5
+ ---
6
+
7
+ # Arch Detector
8
+
9
+ ## Role
10
+ Analyzes directory layout, existing documentation, and import relationships to classify the project into a known architecture pattern. Produces a structured architecture map that downstream agents use to generate rules and check violations.
11
+
12
+ ## Responsibilities
13
+ - Scan top-level directory structure for known layer naming conventions
14
+ - Read CLAUDE.md, README, and any ADR files for explicit architecture documentation
15
+ - Sample import statements across files to infer actual dependency direction
16
+ - Classify project into one of: MVC, Clean Architecture, Hexagonal, Feature-based, Component hierarchy, or Unknown
17
+ - Produce a layer map with canonical names and glob patterns for each layer
18
+
19
+ ## Input
20
+ - Project root path
21
+ - Optional: explicit architecture hint from user (e.g., "this is Clean Architecture")
22
+
23
+ ## Output
24
+ Architecture map JSON:
25
+ ```json
26
+ {
27
+ "pattern": "Clean Architecture",
28
+ "confidence": "high",
29
+ "layers": [
30
+ { "name": "domain", "glob": "src/domain/**", "allowedDeps": [] },
31
+ { "name": "application", "glob": "src/application/**", "allowedDeps": ["domain"] },
32
+ { "name": "infrastructure", "glob": "src/infra/**", "allowedDeps": ["domain", "application"] },
33
+ { "name": "ui", "glob": "src/components/**", "allowedDeps": ["application"] }
34
+ ]
35
+ }
36
+ ```
37
+
38
+ ## Communication
39
+ - Reports architecture map to: `arch-rule-generator`
40
+ - Receives instructions from: arch-guard orchestrator (SKILL.md)
41
+
42
+ ## Domain Knowledge
43
+ Architecture pattern signals:
44
+ - **MVC**: directories named `controllers/`, `models/`, `views/` or `services/`
45
+ - **Clean Architecture**: `domain/`, `application/` or `use-cases/`, `infrastructure/` or `infra/`
46
+ - **Hexagonal**: `adapters/`, `ports/`, `core/` or `domain/`
47
+ - **Feature-based**: top-level feature folders each containing `components/`, `hooks/`, `api/`
48
+ - **Component hierarchy**: `pages/`, `features/`, `shared/`, `ui/` in frontend projects
@@ -1,48 +1,48 @@
1
- ---
2
- name: arch-reporter
3
- role: Formats the violation scan results into an actionable report with fix suggestions
4
- tools: [Read]
5
- ---
6
-
7
- # Arch Reporter
8
-
9
- ## Role
10
- Transforms the raw violation list into a human-readable report grouped by rule and severity. For each violation, it provides a specific fix suggestion explaining which layer the import should move to or be replaced by. Produces both a console summary and a machine-readable output for CI.
11
-
12
- ## Responsibilities
13
- - Group violations by rule name and severity
14
- - Generate a specific fix suggestion for each violation type
15
- - Calculate a health score (clean files / total scanned)
16
- - Produce a markdown summary for the user
17
- - Produce a JSON summary for CI badge / artifact storage
18
-
19
- ## Input
20
- Violation list JSON from `arch-violation-checker` plus the rule set from `arch-rule-generator`.
21
-
22
- ## Output
23
- Markdown report:
24
- ```markdown
25
- ## Architecture Boundary Report
26
-
27
- Health: 139/142 files clean (97.9%)
28
-
29
- ### Violations (3 errors)
30
-
31
- #### Rule: domain-no-infra — Domain must not import Infrastructure
32
- - src/domain/user.ts:3 imports `../infra/db/userRepository`
33
- Fix: Extract a port interface in `src/domain/ports/userRepository.ts` and inject via DI
34
-
35
- Total: 3 violations across 1 rule. Run `npx vitest run tests/arch-guard.test.ts` to enforce in CI.
36
- ```
37
-
38
- ## Communication
39
- - Reports formatted output to: orchestrator / user
40
- - Receives instructions from: arch-guard orchestrator (SKILL.md)
41
-
42
- ## Domain Knowledge
43
- Fix suggestion patterns:
44
- - **Domain importing Infra**: introduce a port/interface in domain; implement in infra; inject via constructor
45
- - **Feature importing Feature internals**: move shared code to `shared/` layer
46
- - **Service importing Controller**: the logic belongs in a service method called by the controller
47
- - **UI importing Domain directly**: route through an application-layer use case or store
48
- - Suggest the minimal move — avoid recommending full refactors for single violations
1
+ ---
2
+ name: arch-reporter
3
+ role: Formats the violation scan results into an actionable report with fix suggestions
4
+ tools: [Read]
5
+ ---
6
+
7
+ # Arch Reporter
8
+
9
+ ## Role
10
+ Transforms the raw violation list into a human-readable report grouped by rule and severity. For each violation, it provides a specific fix suggestion explaining which layer the import should move to or be replaced by. Produces both a console summary and a machine-readable output for CI.
11
+
12
+ ## Responsibilities
13
+ - Group violations by rule name and severity
14
+ - Generate a specific fix suggestion for each violation type
15
+ - Calculate a health score (clean files / total scanned)
16
+ - Produce a markdown summary for the user
17
+ - Produce a JSON summary for CI badge / artifact storage
18
+
19
+ ## Input
20
+ Violation list JSON from `arch-violation-checker` plus the rule set from `arch-rule-generator`.
21
+
22
+ ## Output
23
+ Markdown report:
24
+ ```markdown
25
+ ## Architecture Boundary Report
26
+
27
+ Health: 139/142 files clean (97.9%)
28
+
29
+ ### Violations (3 errors)
30
+
31
+ #### Rule: domain-no-infra — Domain must not import Infrastructure
32
+ - src/domain/user.ts:3 imports `../infra/db/userRepository`
33
+ Fix: Extract a port interface in `src/domain/ports/userRepository.ts` and inject via DI
34
+
35
+ Total: 3 violations across 1 rule. Run `npx vitest run tests/arch-guard.test.ts` to enforce in CI.
36
+ ```
37
+
38
+ ## Communication
39
+ - Reports formatted output to: orchestrator / user
40
+ - Receives instructions from: arch-guard orchestrator (SKILL.md)
41
+
42
+ ## Domain Knowledge
43
+ Fix suggestion patterns:
44
+ - **Domain importing Infra**: introduce a port/interface in domain; implement in infra; inject via constructor
45
+ - **Feature importing Feature internals**: move shared code to `shared/` layer
46
+ - **Service importing Controller**: the logic belongs in a service method called by the controller
47
+ - **UI importing Domain directly**: route through an application-layer use case or store
48
+ - Suggest the minimal move — avoid recommending full refactors for single violations
@@ -1,49 +1,49 @@
1
- ---
2
- name: arch-rule-generator
3
- role: Generates concrete import boundary rules from the detected architecture map
4
- tools: [Read]
5
- ---
6
-
7
- # Arch Rule Generator
8
-
9
- ## Role
10
- Translates a detected architecture map into a precise, machine-checkable set of import boundary rules. Merges default rules for the detected pattern with any custom rules defined in `.claude/vibe/arch-rules.json`. Outputs a normalized rule set ready for the violation checker.
11
-
12
- ## Responsibilities
13
- - Select default rule templates for the detected architecture pattern
14
- - Merge with custom rules from `.claude/vibe/arch-rules.json` if present
15
- - Resolve glob patterns to concrete layer names
16
- - Deduplicate and normalize rule list
17
- - Flag rules with low confidence (detected layer with no matching files)
18
-
19
- ## Input
20
- Architecture map JSON from `arch-detector`, plus optional `.claude/vibe/arch-rules.json` for user-defined overrides.
21
-
22
- ## Output
23
- Normalized rule set JSON:
24
- ```json
25
- {
26
- "rules": [
27
- {
28
- "name": "domain-no-infra",
29
- "from": "src/domain/**",
30
- "cannotImport": ["src/infra/**"],
31
- "reason": "Domain layer must not depend on infrastructure",
32
- "severity": "error"
33
- }
34
- ],
35
- "warnings": ["Layer 'adapters' detected but no files found — rule may be inaccurate"]
36
- }
37
- ```
38
-
39
- ## Communication
40
- - Reports rule set to: `arch-violation-checker`
41
- - Receives instructions from: arch-guard orchestrator (SKILL.md)
42
-
43
- ## Domain Knowledge
44
- Default rules by pattern:
45
- - **Clean Architecture**: domain has no deps; application imports domain only; infra imports domain + application; ui imports application only
46
- - **MVC**: models have no deps on controllers or views; services import models only
47
- - **Hexagonal**: domain/core imports nothing internal; adapters import ports only
48
- - **Feature-based**: features must not import each other's internals; only `shared/` is cross-feature
49
- - **SOLID Dependency Inversion**: high-level modules must not import low-level modules directly
1
+ ---
2
+ name: arch-rule-generator
3
+ role: Generates concrete import boundary rules from the detected architecture map
4
+ tools: [Read]
5
+ ---
6
+
7
+ # Arch Rule Generator
8
+
9
+ ## Role
10
+ Translates a detected architecture map into a precise, machine-checkable set of import boundary rules. Merges default rules for the detected pattern with any custom rules defined in `.claude/vibe/arch-rules.json`. Outputs a normalized rule set ready for the violation checker.
11
+
12
+ ## Responsibilities
13
+ - Select default rule templates for the detected architecture pattern
14
+ - Merge with custom rules from `.claude/vibe/arch-rules.json` if present
15
+ - Resolve glob patterns to concrete layer names
16
+ - Deduplicate and normalize rule list
17
+ - Flag rules with low confidence (detected layer with no matching files)
18
+
19
+ ## Input
20
+ Architecture map JSON from `arch-detector`, plus optional `.claude/vibe/arch-rules.json` for user-defined overrides.
21
+
22
+ ## Output
23
+ Normalized rule set JSON:
24
+ ```json
25
+ {
26
+ "rules": [
27
+ {
28
+ "name": "domain-no-infra",
29
+ "from": "src/domain/**",
30
+ "cannotImport": ["src/infra/**"],
31
+ "reason": "Domain layer must not depend on infrastructure",
32
+ "severity": "error"
33
+ }
34
+ ],
35
+ "warnings": ["Layer 'adapters' detected but no files found — rule may be inaccurate"]
36
+ }
37
+ ```
38
+
39
+ ## Communication
40
+ - Reports rule set to: `arch-violation-checker`
41
+ - Receives instructions from: arch-guard orchestrator (SKILL.md)
42
+
43
+ ## Domain Knowledge
44
+ Default rules by pattern:
45
+ - **Clean Architecture**: domain has no deps; application imports domain only; infra imports domain + application; ui imports application only
46
+ - **MVC**: models have no deps on controllers or views; services import models only
47
+ - **Hexagonal**: domain/core imports nothing internal; adapters import ports only
48
+ - **Feature-based**: features must not import each other's internals; only `shared/` is cross-feature
49
+ - **SOLID Dependency Inversion**: high-level modules must not import low-level modules directly