tribunal-kit 6.0.1 → 7.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 (349) hide show
  1. package/.agent/ARCHITECTURE.md +9 -6
  2. package/.agent/agents/accessibility-reviewer.md +23 -16
  3. package/.agent/agents/ai-code-reviewer.md +25 -21
  4. package/.agent/agents/anti-pattern-reviewer.md +12 -7
  5. package/.agent/agents/api-architect.md +1 -0
  6. package/.agent/agents/backend-specialist.md +23 -22
  7. package/.agent/agents/cloud-engineer.md +1 -0
  8. package/.agent/agents/code-archaeologist.md +1 -0
  9. package/.agent/agents/complexity-reviewer.md +10 -7
  10. package/.agent/agents/database-architect.md +3 -2
  11. package/.agent/agents/db-latency-auditor.md +6 -2
  12. package/.agent/agents/debugger.md +3 -2
  13. package/.agent/agents/dependency-reviewer.md +1 -0
  14. package/.agent/agents/devops-engineer.md +9 -8
  15. package/.agent/agents/documentation-writer.md +6 -5
  16. package/.agent/agents/explorer-agent.md +1 -0
  17. package/.agent/agents/frontend-reviewer.md +21 -17
  18. package/.agent/agents/frontend-specialist.md +23 -20
  19. package/.agent/agents/game-developer.md +1 -0
  20. package/.agent/agents/interaction-reviewer.md +10 -5
  21. package/.agent/agents/logic-reviewer.md +3 -0
  22. package/.agent/agents/minimalist-reviewer.md +6 -0
  23. package/.agent/agents/mobile-developer.md +7 -6
  24. package/.agent/agents/mobile-reviewer.md +14 -13
  25. package/.agent/agents/orchestrator.md +3 -0
  26. package/.agent/agents/penetration-tester.md +1 -0
  27. package/.agent/agents/performance-optimizer.md +6 -5
  28. package/.agent/agents/performance-reviewer.md +6 -6
  29. package/.agent/agents/pipeline-reviewer.md +144 -0
  30. package/.agent/agents/precedence-reviewer.md +1 -0
  31. package/.agent/agents/product-manager.md +1 -0
  32. package/.agent/agents/product-owner.md +1 -0
  33. package/.agent/agents/product-reviewer.md +12 -7
  34. package/.agent/agents/project-planner.md +3 -0
  35. package/.agent/agents/qa-automation-engineer.md +50 -43
  36. package/.agent/agents/resilience-reviewer.md +1 -0
  37. package/.agent/agents/schema-reviewer.md +1 -0
  38. package/.agent/agents/security-auditor.md +24 -24
  39. package/.agent/agents/seo-specialist.md +33 -23
  40. package/.agent/agents/sql-reviewer.md +5 -4
  41. package/.agent/agents/supervisor-agent.md +12 -2
  42. package/.agent/agents/swarm-worker-contracts.md +13 -13
  43. package/.agent/agents/swarm-worker-registry.md +51 -51
  44. package/.agent/agents/system-architect.md +1 -0
  45. package/.agent/agents/test-coverage-reviewer.md +25 -22
  46. package/.agent/agents/test-engineer.md +12 -11
  47. package/.agent/agents/throughput-optimizer.md +45 -40
  48. package/.agent/agents/type-safety-reviewer.md +5 -4
  49. package/.agent/agents/ui-ux-auditor.md +6 -4
  50. package/.agent/agents/ui-visual-auditor.md +3 -0
  51. package/.agent/agents/ux-reviewer.md +11 -6
  52. package/.agent/agents/visual-reviewer.md +11 -6
  53. package/.agent/agents/vitals-reviewer.md +5 -4
  54. package/.agent/history/memory/.memory.idx +1532 -1
  55. package/.agent/history/memory/MEMORY.md +102 -1
  56. package/.agent/mcp_config.json +1 -6
  57. package/.agent/routing_index.json +2033 -263
  58. package/.agent/rules/GEMINI.md +11 -9
  59. package/.agent/rules/GEMINI_PLANNER.md +19 -21
  60. package/.agent/scripts/_colors.js +52 -54
  61. package/.agent/scripts/_utils.js +52 -53
  62. package/.agent/scripts/auto_preview.js +39 -43
  63. package/.agent/scripts/bundle_analyzer.js +47 -60
  64. package/.agent/scripts/case_law_manager.js +200 -294
  65. package/.agent/scripts/checklist.js +73 -94
  66. package/.agent/scripts/cicd_validator.js +305 -0
  67. package/.agent/scripts/compile_router.py +4 -111
  68. package/.agent/scripts/context_broker.js +317 -412
  69. package/.agent/scripts/contract_engine.js +402 -0
  70. package/.agent/scripts/dependency_analyzer.js +112 -124
  71. package/.agent/scripts/graph_builder.js +75 -103
  72. package/.agent/scripts/graph_visualizer.js +10 -12
  73. package/.agent/scripts/graph_zoom.js +38 -55
  74. package/.agent/scripts/guardrail_engine.js +195 -145
  75. package/.agent/scripts/impact_classifier.js +55 -30
  76. package/.agent/scripts/inner_loop_validator.js +108 -159
  77. package/.agent/scripts/integrity_manifest.js +59 -67
  78. package/.agent/scripts/lint_runner.js +65 -75
  79. package/.agent/scripts/marathon_harness.js +131 -208
  80. package/.agent/scripts/migrate_skills_frontmatter.py +4 -63
  81. package/.agent/scripts/minify_context.js +29 -33
  82. package/.agent/scripts/minimal_change_engine.js +95 -87
  83. package/.agent/scripts/mutation_runner.js +46 -62
  84. package/.agent/scripts/pipeline_engine.js +320 -209
  85. package/.agent/scripts/prompt_compiler.js +118 -93
  86. package/.agent/scripts/schema_validator.js +73 -121
  87. package/.agent/scripts/security_scan.js +88 -117
  88. package/.agent/scripts/session_manager.js +52 -69
  89. package/.agent/scripts/signal_detector.js +24 -22
  90. package/.agent/scripts/skill_evolution.js +184 -245
  91. package/.agent/scripts/skill_integrator.js +35 -48
  92. package/.agent/scripts/socratic_gate_policy.js +15 -12
  93. package/.agent/scripts/strengthen_skills.js +29 -33
  94. package/.agent/scripts/swarm_dispatcher.js +120 -151
  95. package/.agent/scripts/test_runner.js +54 -56
  96. package/.agent/scripts/token_budget_broker.js +9 -7
  97. package/.agent/scripts/trace_engine.js +126 -0
  98. package/.agent/scripts/verify_all.js +76 -93
  99. package/.agent/scripts/visual_audit.js +16 -21
  100. package/.agent/skill_topic_map.json +22 -3
  101. package/.agent/skills/12-principles-of-animation/SKILL.md +7 -0
  102. package/.agent/skills/60fps-animation/SKILL.md +7 -0
  103. package/.agent/skills/accessible-animation/SKILL.md +5 -1
  104. package/.agent/skills/adapt/SKILL.md +7 -1
  105. package/.agent/skills/advanced-rag-pipelines/SKILL.md +1 -0
  106. package/.agent/skills/agent-organizer/SKILL.md +1 -0
  107. package/.agent/skills/agentic-patterns/SKILL.md +33 -25
  108. package/.agent/skills/agentic-workflows-2026/SKILL.md +6 -2
  109. package/.agent/skills/ai-app-hardening/SKILL.md +9 -8
  110. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +7 -6
  111. package/.agent/skills/animation-on-scroll/SKILL.md +24 -15
  112. package/.agent/skills/animation-systems/SKILL.md +11 -10
  113. package/.agent/skills/antfu-conventions/SKILL.md +7 -2
  114. package/.agent/skills/api-patterns/SKILL.md +14 -10
  115. package/.agent/skills/api-security-auditor/SKILL.md +15 -14
  116. package/.agent/skills/app-builder/SKILL.md +1 -0
  117. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +2 -2
  118. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +1 -1
  119. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +12 -12
  120. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +3 -3
  121. package/.agent/skills/apple-design/SKILL.md +8 -7
  122. package/.agent/skills/architecture/SKILL.md +3 -2
  123. package/.agent/skills/audit-and-fix/SKILL.md +8 -5
  124. package/.agent/skills/authentication-best-practices/SKILL.md +9 -8
  125. package/.agent/skills/backend-security-expert/SKILL.md +1 -0
  126. package/.agent/skills/baseline-ui/SKILL.md +8 -7
  127. package/.agent/skills/bash-linux/SKILL.md +1 -0
  128. package/.agent/skills/behavioral-modes/SKILL.md +1 -0
  129. package/.agent/skills/better-colors/SKILL.md +11 -7
  130. package/.agent/skills/better-typography/SKILL.md +30 -16
  131. package/.agent/skills/better-ui/SKILL.md +17 -10
  132. package/.agent/skills/bolder/SKILL.md +6 -0
  133. package/.agent/skills/brainstorming/SKILL.md +6 -4
  134. package/.agent/skills/browser-native-ai/SKILL.md +5 -4
  135. package/.agent/skills/build-primitive/SKILL.md +5 -0
  136. package/.agent/skills/building-native-ui/SKILL.md +1 -0
  137. package/.agent/skills/cicd-pro/SKILL.md +2 -1
  138. package/.agent/skills/clarify/SKILL.md +19 -14
  139. package/.agent/skills/clean-code/SKILL.md +16 -15
  140. package/.agent/skills/cloud-architect/SKILL.md +1 -0
  141. package/.agent/skills/cobejs/SKILL.md +7 -9
  142. package/.agent/skills/code-review-checklist/SKILL.md +1 -0
  143. package/.agent/skills/codebase-design/SKILL.md +7 -2
  144. package/.agent/skills/colorize/SKILL.md +8 -3
  145. package/.agent/skills/compact-landing/SKILL.md +8 -3
  146. package/.agent/skills/company-logos/SKILL.md +6 -0
  147. package/.agent/skills/config-validator/SKILL.md +10 -9
  148. package/.agent/skills/containerization-pro/SKILL.md +6 -5
  149. package/.agent/skills/context-engineering-pro/SKILL.md +5 -4
  150. package/.agent/skills/create-design-md/SKILL.md +13 -5
  151. package/.agent/skills/critique/SKILL.md +10 -8
  152. package/.agent/skills/csharp-developer/SKILL.md +1 -0
  153. package/.agent/skills/data-validation-schemas/SKILL.md +28 -23
  154. package/.agent/skills/database-design/SKILL.md +2 -1
  155. package/.agent/skills/delight/SKILL.md +6 -0
  156. package/.agent/skills/deployment-procedures/SKILL.md +2 -1
  157. package/.agent/skills/design-lab/SKILL.md +5 -0
  158. package/.agent/skills/devops-engineer/SKILL.md +3 -2
  159. package/.agent/skills/devops-incident-responder/SKILL.md +2 -1
  160. package/.agent/skills/diagnosing-bugs/SKILL.md +12 -2
  161. package/.agent/skills/distill/SKILL.md +7 -2
  162. package/.agent/skills/documentation-templates/SKILL.md +3 -2
  163. package/.agent/skills/domain-modeling/SKILL.md +12 -4
  164. package/.agent/skills/duckdb-analytical-sql/SKILL.md +7 -3
  165. package/.agent/skills/edge-ai-mobile/SKILL.md +5 -1
  166. package/.agent/skills/edge-computing/SKILL.md +9 -8
  167. package/.agent/skills/emil-design-eng/SKILL.md +43 -27
  168. package/.agent/skills/error-resilience/SKILL.md +34 -16
  169. package/.agent/skills/expo-router-v4/SKILL.md +2 -1
  170. package/.agent/skills/extract-design-system/SKILL.md +12 -11
  171. package/.agent/skills/fabel-protocol/SKILL.md +24 -17
  172. package/.agent/skills/fixing-accessibility/SKILL.md +23 -16
  173. package/.agent/skills/fixing-metadata/SKILL.md +24 -13
  174. package/.agent/skills/fixing-motion-performance/SKILL.md +7 -5
  175. package/.agent/skills/framer-motion-expert/SKILL.md +29 -15
  176. package/.agent/skills/frontend-design/SKILL.md +21 -13
  177. package/.agent/skills/frontend-security-expert/SKILL.md +1 -0
  178. package/.agent/skills/game-design-expert/SKILL.md +1 -0
  179. package/.agent/skills/game-engineering-expert/SKILL.md +1 -0
  180. package/.agent/skills/generative-ui-expert/SKILL.md +3 -2
  181. package/.agent/skills/geo-fundamentals/SKILL.md +2 -1
  182. package/.agent/skills/git-pro/SKILL.md +10 -9
  183. package/.agent/skills/github-operations/SKILL.md +2 -1
  184. package/.agent/skills/gpt-taste/SKILL.md +7 -0
  185. package/.agent/skills/gsap-core/SKILL.md +26 -22
  186. package/.agent/skills/gsap-frameworks/SKILL.md +6 -5
  187. package/.agent/skills/gsap-performance/SKILL.md +4 -3
  188. package/.agent/skills/gsap-plugins/SKILL.md +34 -33
  189. package/.agent/skills/gsap-react/SKILL.md +9 -8
  190. package/.agent/skills/gsap-scrolltrigger/SKILL.md +34 -33
  191. package/.agent/skills/gsap-timeline/SKILL.md +18 -15
  192. package/.agent/skills/gsap-utils/SKILL.md +25 -24
  193. package/.agent/skills/harden/SKILL.md +9 -3
  194. package/.agent/skills/harness-protocol/SKILL.md +1 -0
  195. package/.agent/skills/i18n-localization/SKILL.md +10 -9
  196. package/.agent/skills/impeccable/SKILL.md +5 -0
  197. package/.agent/skills/improve-codebase-architecture/SKILL.md +10 -5
  198. package/.agent/skills/improve-ui/SKILL.md +12 -5
  199. package/.agent/skills/intelligent-routing/SKILL.md +7 -6
  200. package/.agent/skills/knowledge-graph/SKILL.md +1 -0
  201. package/.agent/skills/landing-page/SKILL.md +1 -0
  202. package/.agent/skills/lint-and-validate/SKILL.md +9 -4
  203. package/.agent/skills/llm-engineering/SKILL.md +55 -54
  204. package/.agent/skills/local-first/SKILL.md +20 -19
  205. package/.agent/skills/local-first-architecture/SKILL.md +6 -1
  206. package/.agent/skills/lottie-animation/SKILL.md +7 -3
  207. package/.agent/skills/marquee-loop/SKILL.md +1 -0
  208. package/.agent/skills/masked-reveal/SKILL.md +17 -4
  209. package/.agent/skills/mcp-builder/SKILL.md +13 -10
  210. package/.agent/skills/micro-interaction/SKILL.md +20 -5
  211. package/.agent/skills/mobile-design/SKILL.md +26 -15
  212. package/.agent/skills/monorepo-management/SKILL.md +3 -2
  213. package/.agent/skills/morphing-icons/SKILL.md +16 -6
  214. package/.agent/skills/motion-engineering/SKILL.md +19 -15
  215. package/.agent/skills/nextjs-react-expert/SKILL.md +26 -21
  216. package/.agent/skills/nodejs-best-practices/SKILL.md +89 -76
  217. package/.agent/skills/observability/SKILL.md +45 -44
  218. package/.agent/skills/opentelemetry-observability/SKILL.md +2 -1
  219. package/.agent/skills/page-transition-animation/SKILL.md +6 -3
  220. package/.agent/skills/parallel-agents/SKILL.md +7 -2
  221. package/.agent/skills/performance-profiling/SKILL.md +24 -13
  222. package/.agent/skills/plan-writing/SKILL.md +1 -0
  223. package/.agent/skills/platform-engineer/SKILL.md +3 -2
  224. package/.agent/skills/platform-engineering-opentofu/SKILL.md +1 -0
  225. package/.agent/skills/playwright-ai-e2e/SKILL.md +3 -2
  226. package/.agent/skills/playwright-best-practices/SKILL.md +29 -28
  227. package/.agent/skills/polish/SKILL.md +13 -12
  228. package/.agent/skills/powershell-windows/SKILL.md +1 -0
  229. package/.agent/skills/pricing-page/SKILL.md +8 -3
  230. package/.agent/skills/product-aware-heuristics/SKILL.md +122 -72
  231. package/.agent/skills/progressive-blur/SKILL.md +9 -4
  232. package/.agent/skills/project-idioms/SKILL.md +1 -0
  233. package/.agent/skills/property-based-testing/SKILL.md +10 -12
  234. package/.agent/skills/python-patterns/SKILL.md +1 -0
  235. package/.agent/skills/python-pro/SKILL.md +1 -0
  236. package/.agent/skills/quieter/SKILL.md +6 -0
  237. package/.agent/skills/react-doctor/SKILL.md +6 -0
  238. package/.agent/skills/react-specialist/SKILL.md +32 -28
  239. package/.agent/skills/readme-builder/SKILL.md +1 -0
  240. package/.agent/skills/realtime-patterns/SKILL.md +34 -33
  241. package/.agent/skills/red-team-tactics/SKILL.md +1 -0
  242. package/.agent/skills/redesign-skill/SKILL.md +6 -0
  243. package/.agent/skills/review-animations/SKILL.md +5 -2
  244. package/.agent/skills/review-animations/STANDARDS.md +37 -23
  245. package/.agent/skills/rust-pro/SKILL.md +1 -0
  246. package/.agent/skills/seo-fundamentals/SKILL.md +4 -3
  247. package/.agent/skills/server-management/SKILL.md +1 -0
  248. package/.agent/skills/shadcn-ui-expert/SKILL.md +28 -22
  249. package/.agent/skills/shape/SKILL.md +9 -2
  250. package/.agent/skills/skill-creator/SKILL.md +1 -0
  251. package/.agent/skills/soft-skill/SKILL.md +6 -0
  252. package/.agent/skills/sounds-on-the-web/SKILL.md +1 -0
  253. package/.agent/skills/sql-pro/SKILL.md +1 -0
  254. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +1 -0
  255. package/.agent/skills/svg-animation/SKILL.md +16 -7
  256. package/.agent/skills/swiftui-expert/SKILL.md +1 -0
  257. package/.agent/skills/swiss-design/SKILL.md +5 -0
  258. package/.agent/skills/system-design-pro/SKILL.md +1 -0
  259. package/.agent/skills/systematic-debugging/SKILL.md +1 -0
  260. package/.agent/skills/tailwind-patterns/SKILL.md +25 -11
  261. package/.agent/skills/taste-skill/SKILL.md +6 -0
  262. package/.agent/skills/tdd-workflow/SKILL.md +5 -0
  263. package/.agent/skills/test-result-analyzer/SKILL.md +1 -0
  264. package/.agent/skills/testing-patterns/SKILL.md +123 -115
  265. package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +5 -0
  266. package/.agent/skills/thinking-protocol/SKILL.md +3 -0
  267. package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +9 -8
  268. package/.agent/skills/transitions-dev/SKILL.md +19 -6
  269. package/.agent/skills/trend-researcher/SKILL.md +1 -0
  270. package/.agent/skills/typescript-advanced/SKILL.md +23 -18
  271. package/.agent/skills/typeset/SKILL.md +10 -1
  272. package/.agent/skills/ui-reasoning-engine/SKILL.md +67 -48
  273. package/.agent/skills/ui-skill-packs/SKILL.md +6 -1
  274. package/.agent/skills/ui-skills-root/SKILL.md +39 -38
  275. package/.agent/skills/ui-ux-pro-max/SKILL.md +34 -26
  276. package/.agent/skills/ui-ux-researcher/SKILL.md +1 -0
  277. package/.agent/skills/vector-search-pgvector/SKILL.md +3 -2
  278. package/.agent/skills/vue-expert/SKILL.md +22 -19
  279. package/.agent/skills/vulnerability-scanner/SKILL.md +22 -21
  280. package/.agent/skills/web-accessibility-auditor/SKILL.md +2 -1
  281. package/.agent/skills/web-design-guidelines/SKILL.md +16 -10
  282. package/.agent/skills/web-quality-audit/SKILL.md +5 -0
  283. package/.agent/skills/webapp-testing/SKILL.md +14 -13
  284. package/.agent/skills/webgpu-performance/SKILL.md +1 -0
  285. package/.agent/skills/whimsy-injector/SKILL.md +9 -5
  286. package/.agent/skills/workflow-optimizer/SKILL.md +1 -0
  287. package/.agent/skills/zero-trust-passkeys/SKILL.md +11 -6
  288. package/.agent/templates/DESIGN.md +119 -110
  289. package/.agent/templates/design-tokens.json +9 -6
  290. package/.agent/workflows/acf.md +1 -0
  291. package/.agent/workflows/api-tester.md +1 -0
  292. package/.agent/workflows/audit.md +1 -0
  293. package/.agent/workflows/brainstorm.md +1 -0
  294. package/.agent/workflows/changelog.md +1 -0
  295. package/.agent/workflows/contract.md +60 -0
  296. package/.agent/workflows/create.md +1 -0
  297. package/.agent/workflows/debug.md +1 -0
  298. package/.agent/workflows/deploy.md +1 -0
  299. package/.agent/workflows/enhance.md +1 -0
  300. package/.agent/workflows/fix-ci.md +89 -0
  301. package/.agent/workflows/fix.md +1 -0
  302. package/.agent/workflows/generate.md +1 -0
  303. package/.agent/workflows/marathon.md +1 -0
  304. package/.agent/workflows/migrate.md +1 -0
  305. package/.agent/workflows/minimal.md +9 -7
  306. package/.agent/workflows/orchestrate.md +1 -0
  307. package/.agent/workflows/performance-benchmarker.md +1 -0
  308. package/.agent/workflows/pipeline.md +26 -21
  309. package/.agent/workflows/plan.md +1 -0
  310. package/.agent/workflows/preview.md +1 -0
  311. package/.agent/workflows/refactor.md +3 -2
  312. package/.agent/workflows/review-ai.md +4 -3
  313. package/.agent/workflows/review.md +1 -0
  314. package/.agent/workflows/session.md +1 -0
  315. package/.agent/workflows/status.md +1 -0
  316. package/.agent/workflows/strengthen-skills.md +1 -0
  317. package/.agent/workflows/super-prompt.md +1 -0
  318. package/.agent/workflows/swarm.md +15 -3
  319. package/.agent/workflows/test.md +8 -7
  320. package/.agent/workflows/tribunal-backend.md +3 -2
  321. package/.agent/workflows/tribunal-cicd.md +104 -0
  322. package/.agent/workflows/tribunal-database.md +1 -0
  323. package/.agent/workflows/tribunal-frontend.md +8 -6
  324. package/.agent/workflows/tribunal-full.md +2 -1
  325. package/.agent/workflows/tribunal-mobile.md +6 -5
  326. package/.agent/workflows/tribunal-performance.md +1 -0
  327. package/.agent/workflows/tribunal-speed.md +1 -0
  328. package/.agent/workflows/tribunal-ui.md +29 -21
  329. package/.agent/workflows/ui-ux-pro-max.md +19 -15
  330. package/CONTRIBUTING.md +3 -3
  331. package/README.md +94 -44
  332. package/SECURITY.md +10 -10
  333. package/bin/mcp-server.js +385 -252
  334. package/bin/tribunal-kit.js +29 -30
  335. package/bin/wrapper.js +40 -46
  336. package/dist/cli.js +6 -0
  337. package/dist/commands/case.js +2 -0
  338. package/dist/commands/contract.js +440 -0
  339. package/dist/commands/status.js +6 -0
  340. package/dist/index.d.ts +8 -1
  341. package/package.json +13 -12
  342. package/scripts/benchmark.js +62 -86
  343. package/scripts/changelog.js +67 -73
  344. package/scripts/fix-vbc.js +13 -15
  345. package/scripts/fix-vbc.ps1 +2 -118
  346. package/scripts/stress_benchmark.js +358 -0
  347. package/scripts/sync-version.js +71 -41
  348. package/scripts/validate-payload.js +23 -30
  349. package/scripts/visual_audit.js +23 -13
@@ -99,12 +99,12 @@ project-name/
99
99
  Add to `nuxt.config.ts`:
100
100
 
101
101
  ```ts
102
- import tailwindcss from "@tailwindcss/vite";
102
+ import tailwindcss from '@tailwindcss/vite';
103
103
  export default defineNuxtConfig({
104
104
  vite: {
105
105
  plugins: [tailwindcss()],
106
106
  },
107
- css: ["~/assets/css/main.css"],
107
+ css: ['~/assets/css/main.css'],
108
108
  });
109
109
  ```
110
110
 
@@ -112,7 +112,7 @@ project-name/
112
112
  In `app/assets/css/main.css`:
113
113
 
114
114
  ```css
115
- @import "tailwindcss";
115
+ @import 'tailwindcss';
116
116
  @theme {
117
117
  --color-primary: oklch(0.6 0.15 150);
118
118
  }
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before engineering Apple-style UIs or gesture-driven components, you MUST inspect:
23
+
23
24
  1. Interruptible Physics-Based Springs (Section 22) → Use physics springs (`stiffness: 300, damping: 24, mass: 0.8`) instead of fixed-duration CSS cubic-beziers
24
25
  2. Translucent Backdrop Blur (Section 44) → Limit `backdrop-filter: blur(20px) saturate(180%)` strictly to sticky headers or modals to avoid GPU scroll jank
25
26
  3. Optical Letter-Spacing (Section 72) → Apply inverse tracking (`-0.025em` for titles, `+0.015em` for small captions) based on SF Pro font scaling
@@ -41,10 +42,10 @@ Apple interfaces do NOT use fixed-duration cubic-beziers for interactive element
41
42
  ```javascript
42
43
  // Framer Motion / Motion React Spring Config
43
44
  const appleSpring = {
44
- type: "spring",
45
+ type: 'spring',
45
46
  stiffness: 300,
46
47
  damping: 24,
47
- mass: 0.8
48
+ mass: 0.8,
48
49
  };
49
50
  ```
50
51
 
@@ -87,11 +88,11 @@ Apple depth relies on subtle, multi-layered backdrop blur and border highlights:
87
88
 
88
89
  ## Anti-Slop Table
89
90
 
90
- | Anti-Pattern | Apple Design Solution | Rationale |
91
- | --- | --- | --- |
92
- | Rigid linear/ease transitions | Physics-based spring curves (`stiffness: 300, damping: 24`) | Simulates real-world physical momentum |
93
- | Opaque static dropdowns | Translucent backdrop blur panel (`blur(20px) saturate(180%)`) | Preserves spatial context beneath UI |
94
- | Sudden state jumps | Interruptible velocity-preserving spring animations | Prevents visual jarring during rapid user input |
91
+ | Anti-Pattern | Apple Design Solution | Rationale |
92
+ | ----------------------------- | ------------------------------------------------------------- | ----------------------------------------------- |
93
+ | Rigid linear/ease transitions | Physics-based spring curves (`stiffness: 300, damping: 24`) | Simulates real-world physical momentum |
94
+ | Opaque static dropdowns | Translucent backdrop blur panel (`blur(20px) saturate(180%)`) | Preserves spatial context beneath UI |
95
+ | Sudden state jumps | Interruptible velocity-preserving spring animations | Prevents visual jarring during rapid user input |
95
96
 
96
97
  ---
97
98
 
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before selecting architectural patterns or designing systems, you MUST inspect:
23
+
23
24
  1. Pragmatic Monolith Default (Section 31) → Start with a modular monolith for teams <5 or scale <100K RPM; ban premature microservices
24
25
  2. Clean Architecture Dependency Direction (Section 50) → Ensure dependency arrows point strictly inward to Domain; Domain must have zero external infrastructure dependencies
25
26
  3. ADR Requirement for Non-Trivial Decisons (Section 135) → Document every major architectural decision with an ADR in `docs/architecture/`
@@ -72,7 +73,7 @@ interface UserRepository {
72
73
  }
73
74
  class User {
74
75
  promote(): void {
75
- if (this._role === UserRole.ADMIN) throw new DomainError("Already admin");
76
+ if (this._role === UserRole.ADMIN) throw new DomainError('Already admin');
76
77
  this._role = UserRole.ADMIN;
77
78
  }
78
79
  }
@@ -81,7 +82,7 @@ class User {
81
82
  class PromoteUserUseCase {
82
83
  async execute(userId: string): Promise<void> {
83
84
  const user = await this.userRepo.findById(userId);
84
- if (!user) throw new NotFoundError("User", userId);
85
+ if (!user) throw new NotFoundError('User', userId);
85
86
  user.promote();
86
87
  await this.userRepo.save(user);
87
88
  await this.eventBus.publish(new UserPromotedEvent(userId));
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before performing accessibility audits or fixes, you MUST inspect:
23
+
23
24
  1. Automated Violation Detection (Section 24) → Audit markup for missing `alt`, un-labeled inputs/buttons, and `onClick` on non-interactive elements
24
25
  2. Prioritization Matrix (Section 31) → Fix Level A blockers (forms, focus traps, keyboard access) before addressing contrast or landmark regions
25
26
  3. Anti-Redundant ARIA rule (Section 60) → Do NOT add `role="button"` to native `<button>` tags; apply `aria-hidden="true"` to decorative inner SVGs
@@ -31,7 +32,9 @@ Systematically audit HTML/JSX markup against WCAG 2.2 AA standards, prioritize a
31
32
  ## 4-Step Remediation Pipeline
32
33
 
33
34
  ### 1. Automated Violation Detection
35
+
34
36
  Scan component code for:
37
+
35
38
  - Missing `alt` tags on `<img>` elements.
36
39
  - Form controls (`<input>`, `<select>`) missing associated `<label>` or `aria-label`.
37
40
  - Buttons with icon-only content missing `aria-label`.
@@ -39,11 +42,11 @@ Scan component code for:
39
42
 
40
43
  ### 2. Prioritization Matrix
41
44
 
42
- | Severity Level | Violation Type | Remediation Action |
43
- | --- | --- | --- |
44
- | 🔴 **Blocker (Level A)** | Inaccessible form inputs, un-trapped focus in modal, zero keyboard access | Add explicit `<label>`, focus trap, and keyboard handlers immediately. |
45
- | 🟠 **Critical (Level AA)** | Low text contrast ratio ($< 4.5:1$), missing ARIA states on custom dropdowns | Adjust text colors to OKLCH contrast targets; add `aria-expanded`. |
46
- | 🟡 **Moderate (Level AA)** | Missing landmark regions (`<main>`, `<nav>`, `<header>`), heading hierarchy gaps | Wrap layout blocks in semantic HTML5 tags. |
45
+ | Severity Level | Violation Type | Remediation Action |
46
+ | -------------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
47
+ | 🔴 **Blocker (Level A)** | Inaccessible form inputs, un-trapped focus in modal, zero keyboard access | Add explicit `<label>`, focus trap, and keyboard handlers immediately. |
48
+ | 🟠 **Critical (Level AA)** | Low text contrast ratio ($< 4.5:1$), missing ARIA states on custom dropdowns | Adjust text colors to OKLCH contrast targets; add `aria-expanded`. |
49
+ | 🟡 **Moderate (Level AA)** | Missing landmark regions (`<main>`, `<nav>`, `<header>`), heading hierarchy gaps | Wrap layout blocks in semantic HTML5 tags. |
47
50
 
48
51
  ### 3. Concrete Code Fix Examples
49
52
 
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before implementing authentication or session flows, you MUST inspect:
23
+
23
24
  1. Modern Password Hashing (Section 28) → Use Argon2id or bcrypt; ban legacy fast algorithms (`md5`, `sha256`) for credential hashing
24
25
  2. Token Storage Separation (Section 83) → Keep short-lived access tokens in JS memory and long-lived refresh tokens in `HttpOnly`, `SameSite=Lax/Strict` cookies
25
26
  3. OAuth PKCE Flow Requirement (Section 109) → Enforce Authorization Code Flow with PKCE for all single-page and mobile apps; ban deprecated Implicit Flow
@@ -32,10 +33,10 @@ Before implementing authentication or session flows, you MUST inspect:
32
33
 
33
34
  ```typescript
34
35
  // ❌ BAD: md5, sha1, sha256 (too fast, vulnerable to brute force/rainbow tables)
35
- const hash = crypto.createHash("sha256").update(password).digest("hex");
36
+ const hash = crypto.createHash('sha256').update(password).digest('hex');
36
37
 
37
38
  // ✅ GOOD: Argon2 (memory-hard, ASIC resistant) or bcrypt
38
- import * as argon2 from "argon2";
39
+ import * as argon2 from 'argon2';
39
40
 
40
41
  async function hashPassword(password: string): Promise<string> {
41
42
  // Argon2 hashes include the salt inherently in the resulting string
@@ -86,11 +87,11 @@ async function verifyPassword(hash: string, password: string): Promise<boolean>
86
87
  // Scenario: API authentication
87
88
  // 1. Access Token (Short-lived: 15 mins)
88
89
  const accessToken = jwt.sign({ userId: user.id }, JWT_SECRET, {
89
- expiresIn: "15m",
90
- algorithm: "HS256", // ALWAYS explicitly specify
90
+ expiresIn: '15m',
91
+ algorithm: 'HS256', // ALWAYS explicitly specify
91
92
  });
92
93
  // 2. Refresh Token (Long-lived: 7 days, opaque string in DB)
93
- const refreshToken = crypto.randomBytes(40).toString("hex");
94
+ const refreshToken = crypto.randomBytes(40).toString('hex');
94
95
  await db.refreshTokens.create({ token: refreshToken, userId: user.id, expires: addDays(7) });
95
96
 
96
97
  // Client flow:
@@ -142,7 +143,7 @@ Flow (Authorization Code + PKCE):
142
143
 
143
144
  ```typescript
144
145
  // ✅ Check permissions, not roles directly (more flexible)
145
- if (!user.permissions.includes("delete:user")) {
146
+ if (!user.permissions.includes('delete:user')) {
146
147
  throw new ForbiddenError();
147
148
  }
148
149
  ```
@@ -154,9 +155,9 @@ if (!user.permissions.includes("delete:user")) {
154
155
  ```typescript
155
156
  // Example Policy
156
157
  function canEditPost(user: User, post: Post): boolean {
157
- if (user.role === "admin") return true;
158
+ if (user.role === 'admin') return true;
158
159
  if (post.authorId === user.id) return true;
159
- if (post.status === "draft" && user.department === "content") return true;
160
+ if (post.status === 'draft' && user.department === 'content') return true;
160
161
  return false;
161
162
  }
162
163
  ```
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before auditing or writing backend server code, you MUST inspect:
23
+
23
24
  1. Server Action Endpoints (Section 26) → Treat Next.js Server Actions as public API routes: authenticate session and parse input with Zod at entry
24
25
  2. JWT Algorithm Verification (Section 17) → Enforce explicit algorithms (`alg: "HS256"`) when verifying JWT tokens to prevent "None" algorithm exploits
25
26
  3. IDOR & RBAC Validation (Section 34) → Verify resource ownership (`WHERE userId = session.userId`) and user roles before executing mutations
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before cleaning up UI styles, you MUST inspect:
23
+
23
24
  1. `DESIGN.md` / `package.json` → Check Tailwind CSS configuration and accessibility primitives (`Base UI`, `Radix`)
24
25
  2. The 5-Step Deslop Protocol (Section 33) → Fix spacing violations, establish 3-tier typographic hierarchy, and eliminate harsh borders
25
26
  3. Anti-Slop Table (Section 43) → Replace hardcoded arbitrary paddings and low-contrast text with tokenized CSS variables
@@ -51,13 +52,13 @@ Enforces an opinionated UI baseline to clean up sloppy code and prevent AI-gener
51
52
 
52
53
  ## Anti-Slop Table
53
54
 
54
- | Slop Pattern | Baseline Fix | Rationale |
55
- | --- | --- | --- |
56
- | `color: #888` on dark background | `color: var(--text-muted)` (min 4.5:1 ratio) | Improves readability and WCAG compliance |
57
- | `padding: 15px 23px` | `padding: 16px 24px` | Aligns to 8px structural grid |
58
- | `border: 1px solid black` | `border: 1px solid rgba(0,0,0,0.1)` | Removes harsh, distracting lines |
59
- | Mixed font sizes (13px, 14px, 15px) | Standardized scale (12px, 14px, 16px) | Establishes clear visual hierarchy |
60
- | Plain text buttons without states | Rounded button with hover/active press feedback | Indicates clickability and tactile response |
55
+ | Slop Pattern | Baseline Fix | Rationale |
56
+ | ----------------------------------- | ----------------------------------------------- | ------------------------------------------- |
57
+ | `color: #888` on dark background | `color: var(--text-muted)` (min 4.5:1 ratio) | Improves readability and WCAG compliance |
58
+ | `padding: 15px 23px` | `padding: 16px 24px` | Aligns to 8px structural grid |
59
+ | `border: 1px solid black` | `border: 1px solid rgba(0,0,0,0.1)` | Removes harsh, distracting lines |
60
+ | Mixed font sizes (13px, 14px, 15px) | Standardized scale (12px, 14px, 16px) | Establishes clear visual hierarchy |
61
+ | Plain text buttons without states | Rounded button with hover/active press feedback | Indicates clickability and tactile response |
61
62
 
62
63
  ---
63
64
 
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before writing Bash scripts or terminal automation pipelines, you MUST inspect:
23
+
23
24
  1. Strict Mode Flags (`set -euo pipefail`) (Section 39) → Always set `set -euo pipefail` and `IFS=$'\n\t'` at top of every script to fail fast on errors or unset vars
24
25
  2. Variable Quoting Safeguards (Section 122) → Double-quote all path and string variables (`"$FILE"`, `"${FILES[@]}"`) to prevent whitespace expansion bugs
25
26
  3. Modern CLI Efficiency Rules (Section 102) → Prefer `rg` over `grep`, `fd` over `find`, `jq` over regex JSON parsing for performance and safety
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before selecting an operational mode, you MUST inspect:
23
+
23
24
  1. User prompt intent & keywords (Section 148 Mode Selection Rules) → Classify request type (TEACH, DEBUG, REVIEW, PLAN, BUILD, DISCOVER, SHIP, ORCHESTRATE)
24
25
  2. Mode Leakage Mitigation rules (Section 160) → Prevent writing unapproved code during DISCOVER or REVIEW modes
25
26
  3. Output format contracts → Ensure findings use labeled severity tags (CRITICAL / WARNING / SUGGESTION)
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before defining color palettes or CSS theme variables, you MUST inspect:
23
+
23
24
  1. `DESIGN.md` / `index.css` → Check existing CSS custom properties and color variables
24
25
  2. OKLCH Syntax & Relative Color Rules (Section 30) → Use `oklch(L C H)` format with subtle chroma (`C: 0.01-0.02`) for neutrals
25
26
  3. WCAG 2.2 AA Contrast Thresholds (Section 82) → Ensure `L ≤ 45%` for text on light background and `L ≥ 70%` on dark background
@@ -63,7 +64,7 @@ $$\text{Format: } \text{oklch}(L \quad C \quad H [\quad / \quad A])$$
63
64
  /* Neutrals: Subtly Tinted (Chroma ~ 0.015) */
64
65
  --bg-surface: oklch(0.99 0.005 260);
65
66
  --bg-surface-raised: oklch(0.96 0.01 260);
66
- --text-main: oklch(0.20 0.02 260);
67
+ --text-main: oklch(0.2 0.02 260);
67
68
  --text-muted: oklch(0.45 0.02 260);
68
69
  --border-subtle: oklch(0.88 0.015 260);
69
70
  }
@@ -72,7 +73,7 @@ $$\text{Format: } \text{oklch}(L \quad C \quad H [\quad / \quad A])$$
72
73
  :root {
73
74
  color-scheme: light dark;
74
75
  --surface-adaptive: light-dark(oklch(0.99 0.005 260), oklch(0.14 0.015 260));
75
- --text-adaptive: light-dark(oklch(0.20 0.02 260), oklch(0.96 0.01 260));
76
+ --text-adaptive: light-dark(oklch(0.2 0.02 260), oklch(0.96 0.01 260));
76
77
  }
77
78
 
78
79
  @media (prefers-color-scheme: dark) {
@@ -91,12 +92,15 @@ $$\text{Format: } \text{oklch}(L \quad C \quad H [\quad / \quad A])$$
91
92
  ## 3. WCAG 2.2 AA Contrast Standards
92
93
 
93
94
  Always verify contrast using WCAG AA minimum thresholds:
95
+
94
96
  - **Normal Text (< 18pt / < 24px)**: Minimum **4.5:1** contrast ratio.
95
97
  - **Large Text (≥ 18pt / ≥ 24px bold)**: Minimum **3.0:1** contrast ratio.
96
98
  - **UI Components & Icons**: Minimum **3.0:1** contrast ratio against adjacent surface.
97
99
 
98
100
  ### Rule of Thumb in OKLCH:
101
+
99
102
  To achieve 4.5:1 text contrast against a surface:
103
+
100
104
  - Against Light Surface (`L ≈ 98%`): Text lightness `L` MUST be **`≤ 45%`**.
101
105
  - Against Dark Surface (`L ≈ 14%`): Text lightness `L` MUST be **`≥ 70%`**.
102
106
 
@@ -111,11 +115,11 @@ To achieve 4.5:1 text contrast against a surface:
111
115
 
112
116
  ## Anti-Slop Table
113
117
 
114
- | Anti-Pattern | OKLCH Solution | Rationale |
115
- | --- | --- | --- |
116
- | Single gray for all backgrounds | Neutral tinted with brand hue (`C: 0.01-0.02`) | Creates cohesive, harmonious UI surfaces |
117
- | Over-saturated dark mode accents | Scale chroma down (`C: 0.22` → `C: 0.15`) in dark mode | Eliminates glowing text vibration & visual strain |
118
- | Harsh pure black borders (`#000`) | Alpha-tinted borders (`rgba(255,255,255,0.08)`) | Smooths elevation layers |
118
+ | Anti-Pattern | OKLCH Solution | Rationale |
119
+ | --------------------------------- | ------------------------------------------------------ | ------------------------------------------------- |
120
+ | Single gray for all backgrounds | Neutral tinted with brand hue (`C: 0.01-0.02`) | Creates cohesive, harmonious UI surfaces |
121
+ | Over-saturated dark mode accents | Scale chroma down (`C: 0.22` → `C: 0.15`) in dark mode | Eliminates glowing text vibration & visual strain |
122
+ | Harsh pure black borders (`#000`) | Alpha-tinted borders (`rgba(255,255,255,0.08)`) | Smooths elevation layers |
119
123
 
120
124
  ---
121
125
 
@@ -9,7 +9,17 @@ routing:
9
9
  tier: pro
10
10
  co-requires: [typeset, better-ui]
11
11
  trigger-signals:
12
- strong: [better-typography, typography, type scale, font pairing, tabular numbers, text-wrap balance, line-length, optical sizing]
12
+ strong:
13
+ [
14
+ better-typography,
15
+ typography,
16
+ type scale,
17
+ font pairing,
18
+ tabular numbers,
19
+ text-wrap balance,
20
+ line-length,
21
+ optical sizing,
22
+ ]
13
23
  weak: [fonts, text style, line height]
14
24
  ---
15
25
 
@@ -25,14 +35,14 @@ Scale font sizes using a consistent multiplier ($1.25$ Major Third or $1.20$ Min
25
35
 
26
36
  ```css
27
37
  :root {
28
- --font-size-xs: 0.75rem; /* 12px - Labels, Badges */
29
- --font-size-sm: 0.875rem; /* 14px - Meta, Caption */
30
- --font-size-base: 1rem; /* 16px - Body Text */
31
- --font-size-lg: 1.125rem; /* 18px - Lead Body */
32
- --font-size-xl: 1.375rem; /* 22px - Subheadings */
33
- --font-size-2xl: 1.75rem; /* 28px - H3 */
34
- --font-size-3xl: 2.25rem; /* 36px - H2 */
35
- --font-size-4xl: 3rem; /* 48px - H1 Hero */
38
+ --font-size-xs: 0.75rem; /* 12px - Labels, Badges */
39
+ --font-size-sm: 0.875rem; /* 14px - Meta, Caption */
40
+ --font-size-base: 1rem; /* 16px - Body Text */
41
+ --font-size-lg: 1.125rem; /* 18px - Lead Body */
42
+ --font-size-xl: 1.375rem; /* 22px - Subheadings */
43
+ --font-size-2xl: 1.75rem; /* 28px - H3 */
44
+ --font-size-3xl: 2.25rem; /* 36px - H2 */
45
+ --font-size-4xl: 3rem; /* 48px - H1 Hero */
36
46
 
37
47
  /* Line Heights proportional to font size */
38
48
  --line-height-heading: 1.15;
@@ -50,7 +60,10 @@ Scale font sizes using a consistent multiplier ($1.25$ Major Third or $1.20$ Min
50
60
  - **Paragraph Wrapping**: Use `text-wrap: pretty` for long body paragraphs to prevent awkward line breaks.
51
61
 
52
62
  ```css
53
- h1, h2, h3, h4 {
63
+ h1,
64
+ h2,
65
+ h3,
66
+ h4 {
54
67
  text-wrap: balance;
55
68
  letter-spacing: -0.025em;
56
69
  line-height: var(--line-height-heading);
@@ -69,6 +82,7 @@ p {
69
82
 
70
83
  - **Tabular Numbers for Data & Timers**: Use `font-variant-numeric: tabular-nums` (or `tnum`) for data tables, counters, prices, and timestamps so numbers align vertically without jumping when values update.
71
84
  - **Font Smoothing**: Enable crisp font smoothing on macOS/iOS:
85
+
72
86
  ```css
73
87
  body {
74
88
  -webkit-font-smoothing: antialiased;
@@ -80,12 +94,12 @@ body {
80
94
 
81
95
  ## Anti-Slop Table
82
96
 
83
- | Anti-Pattern | Typography Solution | Rationale |
84
- | --- | --- | --- |
85
- | Full-width body text (`width: 100%`) | `max-width: 65ch` | Prevents eye fatigue across wide desktop screens |
86
- | Single-word widows on headings | `text-wrap: balance` | Creates balanced visual hierarchy |
87
- | Jittering numbers in data tables | `font-variant-numeric: tabular-nums` | Keeps columns strictly aligned |
88
- | Default browser line-height (`1.2` on body) | `line-height: 1.5` | Improves reading comfort |
97
+ | Anti-Pattern | Typography Solution | Rationale |
98
+ | ------------------------------------------- | ------------------------------------ | ------------------------------------------------ |
99
+ | Full-width body text (`width: 100%`) | `max-width: 65ch` | Prevents eye fatigue across wide desktop screens |
100
+ | Single-word widows on headings | `text-wrap: balance` | Creates balanced visual hierarchy |
101
+ | Jittering numbers in data tables | `font-variant-numeric: tabular-nums` | Keeps columns strictly aligned |
102
+ | Default browser line-height (`1.2` on body) | `line-height: 1.5` | Improves reading comfort |
89
103
 
90
104
  ---
91
105
 
@@ -20,11 +20,12 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before engineering component polish or micro-interactions, you MUST inspect:
23
+
23
24
  1. Outer vs Inner Radius Formula (Section 32) → Enforce $\text{Radius}_{\text{outer}} = \text{Radius}_{\text{inner}} + \text{Padding}_{\text{inner}}$
24
25
  2. Transition Rules (Section 25) → Strictly prohibit `transition: all`; specify explicit property transitions
25
26
  3. Multi-Layer Shadows (Section 42) → Use ambient + direct lighting stacks and dark mode surface elevation highlights
26
27
 
27
- Distilled design engineering principles for transforming functional UIs into polished, state-of-the-art software interfaces, based on Jakub Krehel's *Details that make interfaces feel better*.
28
+ Distilled design engineering principles for transforming functional UIs into polished, state-of-the-art software interfaces, based on Jakub Krehel's _Details that make interfaces feel better_.
28
29
 
29
30
  ---
30
31
 
@@ -40,7 +41,7 @@ Distilled design engineering principles for transforming functional UIs into pol
40
41
 
41
42
  - **Nested Border Radius Formula**: Outer border radius MUST equal inner border radius plus inner padding.
42
43
  $$\text{Radius}_{\text{outer}} = \text{Radius}_{\text{inner}} + \text{Padding}_{\text{inner}}$$
43
- *Example*: If container padding is `16px` and inner avatar radius is `8px`, outer container radius MUST be `24px`.
44
+ _Example_: If container padding is `16px` and inner avatar radius is `8px`, outer container radius MUST be `24px`.
44
45
  - **Concentric Curves**: Avoid mismatched corner radii where an inner card has `rounded-2xl` inside an outer `rounded-md` container.
45
46
  - **Optical Center Adjustment**: Text inside pill buttons or badges often looks vertically low if mathematically centered. Shift text upwards by `1px` or adjust `line-height` so optics match mathematics.
46
47
 
@@ -72,20 +73,26 @@ Distilled design engineering principles for transforming functional UIs into pol
72
73
  .stagger-item {
73
74
  animation: entrance 250ms cubic-bezier(0.16, 1, 0.3, 1) both;
74
75
  }
75
- .stagger-item:nth-child(1) { animation-delay: 0ms; }
76
- .stagger-item:nth-child(2) { animation-delay: 40ms; }
77
- .stagger-item:nth-child(3) { animation-delay: 80ms; }
76
+ .stagger-item:nth-child(1) {
77
+ animation-delay: 0ms;
78
+ }
79
+ .stagger-item:nth-child(2) {
80
+ animation-delay: 40ms;
81
+ }
82
+ .stagger-item:nth-child(3) {
83
+ animation-delay: 80ms;
84
+ }
78
85
  ```
79
86
 
80
87
  ---
81
88
 
82
89
  ## Anti-Slop Table
83
90
 
84
- | Slop Pattern | Better UI Standard | Rationale |
85
- | --- | --- | --- |
86
- | `transition: all 0.3s` | Specific CSS property transitions | Eliminates layout thrashing & unintended color transitions |
87
- | Flat click targets without press feedback | `scale(0.97)` on `:active` | Provides tactile physical response |
88
- | Arbitrary inner vs outer radii | $\text{Radius}_{\text{outer}} = \text{Radius}_{\text{inner}} + \text{Padding}$ | Maintains geometric optical harmony |
91
+ | Slop Pattern | Better UI Standard | Rationale |
92
+ | ----------------------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------- |
93
+ | `transition: all 0.3s` | Specific CSS property transitions | Eliminates layout thrashing & unintended color transitions |
94
+ | Flat click targets without press feedback | `scale(0.97)` on `:active` | Provides tactile physical response |
95
+ | Arbitrary inner vs outer radii | $\text{Radius}_{\text{outer}} = \text{Radius}_{\text{inner}} + \text{Padding}$ | Maintains geometric optical harmony |
89
96
 
90
97
  ---
91
98
 
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before applying bold visual transformations, you MUST inspect:
23
+
23
24
  1. `DESIGN.md` / `package.json` → Check existing brand color variables and design tokens
24
25
  2. Typographic Contrast Scaling rules (Section 24) → Enforce extreme scale jumps (`1.5rem` to `4.5rem`) for display headings
25
26
  3. Single Electric Accent System (Section 28) → Use one high-chroma accent color sparingly for primary CTAs and badges
@@ -31,21 +32,26 @@ Transform generic, boring template UIs into high-impact, distinctive interfaces
31
32
  ## 5 Tactics for Bold UI Transformation
32
33
 
33
34
  ### 1. Typographic Contrast Scaling
35
+
34
36
  - **Extreme Scale Jump**: Increase heading size contrast. Jump from `1.5rem` to `3.5rem` or `4.5rem` display type for key value propositions.
35
37
  - **Font Weight Hierarchy**: Pair ultra-heavy display headings (`font-weight: 800` / `900`) with clean, lightweight body type (`font-weight: 400`).
36
38
 
37
39
  ### 2. High-Contrast Accent System
40
+
38
41
  - **Single Electric Accent**: Introduce one bold, unexpected accent color (e.g. electric lime `oklch(0.85 0.25 130)`, safety orange `oklch(0.68 0.22 40)`, or deep cobalt `oklch(0.45 0.28 260)`).
39
42
  - **Asymmetric Color Application**: Use the accent color sparingly on primary CTA buttons, hero badges, or interactive active indicators—never on body text.
40
43
 
41
44
  ### 3. Oversized Spatial Framing & Borders
45
+
42
46
  - **Crisp Structural Outlines**: Replace faint gray borders with thick 2px solid structural borders (`border: 2px solid var(--foreground)`).
43
47
  - **Hard Drop Shadows**: Use sharp, solid offset shadows (`box-shadow: 4px 4px 0px var(--foreground)`) for brutalist or neo-brutalist energy.
44
48
 
45
49
  ### 4. Hero Section Asymmetry
50
+
46
51
  - **Break Symmetrical Grids**: Shift text alignment left, place a huge badge or key visual off-axis, or overlap card containers across background sections.
47
52
 
48
53
  ### 5. Tactile Micro-Interactions
54
+
49
55
  - **Snappy Press Springs**: Give buttons a satisfying 3D press effect on active (`transform: translate(2px, 2px); box-shadow: 2px 2px 0px var(--foreground)`).
50
56
 
51
57
  ---
@@ -16,6 +16,7 @@ scripts-binding:
16
16
  ## Mandatory Pre-Flight Context Inspection
17
17
 
18
18
  Before initiating ideation sessions or generating architectural options, you MUST inspect:
19
+
19
20
  1. `package.json` / `ARCHITECTURE.md` → Check existing technology stack, libraries, and architectural boundaries
20
21
  2. The Socratic Protocol (Section 1) → Provide 3 distinct options (Conservative, Balanced, Ambitious) with tabular trade-offs
21
22
  3. Final Brainstorming Assertions schema (Section 4) → Distill options into actionable requirement items before planning
@@ -254,10 +255,11 @@ INPUT: User request + Context (greenfield/feature/refactor/debug)
254
255
  - [Affects: cost / complexity / timeline / scale]
255
256
 
256
257
  **Options:**
257
- |Option|Pros|Cons|Best For|
258
- |--------|------|------|----------|
259
- |A|[Advantage]|[Disadvantage]|[Use case]|
260
- |B|[Advantage]|[Disadvantage]|[Use case]|
258
+
259
+ | Option | Pros | Cons | Best For |
260
+ | ------ | ----------- | -------------- | ---------- |
261
+ | A | [Advantage] | [Disadvantage] | [Use case] |
262
+ | B | [Advantage] | [Disadvantage] | [Use case] |
261
263
 
262
264
  **If Not Specified:** [Default choice + rationale]
263
265
 
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before writing browser-native AI or client-side inference code, you MUST inspect:
23
+
23
24
  1. Main Thread Isolation (Section 44) → Run ONNX Runtime / Wasm inference inside a dedicated Web Worker (`worker.js`) to prevent blocking UI
24
25
  2. Quantization Rules (Section 42) → Target 4-bit quantized (`q4`) small language models (0.5B to 1.5B parameters) to prevent mobile device crashes
25
26
  3. Download Progress Callback (Section 50) → Provide a `progress_callback` to display model weight download percentages to the user
@@ -37,19 +38,19 @@ You are an expert at running AI models directly on the client's device, inside t
37
38
  Use `@huggingface/transformers` (Transformers.js) or `onnxruntime-web` for execution.
38
39
 
39
40
  ```typescript
40
- import { pipeline, env } from "@huggingface/transformers";
41
+ import { pipeline, env } from '@huggingface/transformers';
41
42
 
42
43
  // Use WebGPU backend for acceleration
43
44
  env.backends.onnx.wasm.numThreads = 1;
44
45
  env.allowLocalModels = false;
45
46
 
46
47
  // Instantiate an SLM or Embedding model
47
- const extractor = await pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2", {
48
- device: "webgpu", // Fallback to 'wasm' if needed
48
+ const extractor = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2', {
49
+ device: 'webgpu', // Fallback to 'wasm' if needed
49
50
  });
50
51
 
51
52
  // Run inference entirely offline
52
- const output = await extractor("Hello world", { pooling: "mean", normalize: true });
53
+ const output = await extractor('Hello world', { pooling: 'mean', normalize: true });
53
54
  console.log(output.data); // Float32Array embedding
54
55
  ```
55
56
 
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before building headless UI primitives, you MUST inspect:
23
+
23
24
  1. WAI-ARIA Design Patterns (Section 24) → Attach exact roles (`dialog`, `combobox`, `tablist`), `aria-expanded`, and ID associations (`aria-labelledby`, `aria-describedby`)
24
25
  2. Focus Traps & Restoration (Section 29) → Trap focus inside modals on open; return focus to trigger on close; dismiss on `Escape`
25
26
  3. Data Attributes (Section 41) → Expose clean `data-state="open|closed"` and `data-disabled` attributes for unstyled CSS consumer integration
@@ -31,15 +32,18 @@ Build rock-solid, framework-agnostic or React headless UI primitives with comple
31
32
  ## 4 Rules for UI Primitives
32
33
 
33
34
  ### 1. Complete ARIA Pattern Compliance
35
+
34
36
  - **Dialog / Modal**: `role="dialog"`, `aria-modal="true"`, `aria-labelledby="{titleId}"`, `aria-describedby="{descId}"`.
35
37
  - **Combobox / Autocomplete**: `role="combobox"`, `aria-expanded="{isOpen}"`, `aria-autocomplete="list"`, `aria-controls="{listboxId}"`.
36
38
  - **Tabs**: Tablist `role="tablist"`, Tab `role="tab"`, `aria-selected="{isActive}"`, `aria-controls="{panelId}"`, TabPanel `role="tabpanel"`.
37
39
 
38
40
  ### 2. Focus Management & Focus Traps
41
+
39
42
  - **Modal Focus Lock**: When a dialog opens, trap focus within the modal container. On close, return focus to the element that triggered it.
40
43
  - **Escape Key Dismiss**: Pressing `Escape` MUST close popovers, modals, and dropdown menus instantly.
41
44
 
42
45
  ### 3. Keyboard Navigation Sequences
46
+
43
47
  - **Listbox / Menu Navigation**:
44
48
  - `ArrowDown`: Move active descendant down.
45
49
  - `ArrowUp`: Move active descendant up.
@@ -48,6 +52,7 @@ Build rock-solid, framework-agnostic or React headless UI primitives with comple
48
52
  - `Enter` / `Space`: Select highlighted item.
49
53
 
50
54
  ### 4. Zero Unnecessary Styling
55
+
51
56
  - Primitives MUST output clean data attributes (`data-state="open|closed"`, `data-disabled`, `data-highlighted`) so consumers can style them effortlessly with CSS or Tailwind variants.
52
57
 
53
58
  ---
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before building React Native / Expo UI components, you MUST inspect:
23
+
23
24
  1. Safe Area Setup → Use `SafeAreaProvider` + `useSafeAreaInsets()` for granular notch/inset handling instead of raw `SafeAreaView`
24
25
  2. Virtualized List Rendering (Section 130) → Use `FlashList` (Shopify) or `FlatList` with `estimatedItemSize` instead of `ScrollView` for large lists
25
26
  3. Native Thread Animations (Section 99) → Use `react-native-reanimated` with `useSharedValue` to keep animations off the JS bridge thread
@@ -20,6 +20,7 @@ scripts-binding:
20
20
  ## Mandatory Pre-Flight Context Inspection
21
21
 
22
22
  Before designing CI/CD workflows or deployment scripts, you MUST inspect:
23
+
23
24
  1. Concurrency Mutex Requirement (Section 18) → Configure top-level `concurrency:` blocks in GitHub Actions workflows to prevent parallel deploy collisions
24
25
  2. OIDC Authentication Protocol (Section 20) → Use OIDC (`id-token: write` permission) for AWS/cloud credentials; ban static access keys in secrets
25
26
  3. Production Promotion Gates (Section 21) → Enforce environment promotion gates (`staging` → `production` with manual reviewers) before deploying
@@ -169,7 +170,7 @@ jobs:
169
170
  with:
170
171
  image-ref: ${{ steps.login-ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:${{ github.sha }}
171
172
  severity: CRITICAL
172
- exit-code: "1" # fail on critical vulnerabilities
173
+ exit-code: '1' # fail on critical vulnerabilities
173
174
 
174
175
  # ──── STAGE 3: DEPLOY STAGING ────
175
176
  deploy-staging: