@minhduydev/mdpi 0.3.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 (561) hide show
  1. package/README.md +31 -0
  2. package/dist/index.js +1187 -0
  3. package/dist/template/.pi/.env.example +28 -0
  4. package/dist/template/.pi/AGENTS.md +226 -0
  5. package/dist/template/.pi/QUALITY.md +13 -0
  6. package/dist/template/.pi/README.md +452 -0
  7. package/dist/template/.pi/VERSION +1 -0
  8. package/dist/template/.pi/agents/INDEX.md +54 -0
  9. package/dist/template/.pi/agents/build.md +194 -0
  10. package/dist/template/.pi/agents/explore.md +85 -0
  11. package/dist/template/.pi/agents/general.md +189 -0
  12. package/dist/template/.pi/agents/plan.md +407 -0
  13. package/dist/template/.pi/agents/review.md +198 -0
  14. package/dist/template/.pi/agents/scout.md +142 -0
  15. package/dist/template/.pi/agents/vision.md +157 -0
  16. package/dist/template/.pi/artifacts/example/plan.md +12 -0
  17. package/dist/template/.pi/artifacts/example/progress.md +4 -0
  18. package/dist/template/.pi/artifacts/example/research.md +4 -0
  19. package/dist/template/.pi/artifacts/example/spec.md +16 -0
  20. package/dist/template/.pi/context/architecture.md +141 -0
  21. package/dist/template/.pi/context/fallow.md +137 -0
  22. package/dist/template/.pi/extensions/templates-injector.ts +76 -0
  23. package/dist/template/.pi/extensions/workflows-runner.ts +301 -0
  24. package/dist/template/.pi/guard.example.json +75 -0
  25. package/dist/template/.pi/prompts/INDEX.md +78 -0
  26. package/dist/template/.pi/prompts/audit.md +109 -0
  27. package/dist/template/.pi/prompts/close.md +88 -0
  28. package/dist/template/.pi/prompts/create.md +197 -0
  29. package/dist/template/.pi/prompts/fix.md +117 -0
  30. package/dist/template/.pi/prompts/gc.md +112 -0
  31. package/dist/template/.pi/prompts/init.md +206 -0
  32. package/dist/template/.pi/prompts/loop-check.md +87 -0
  33. package/dist/template/.pi/prompts/loop-init.md +157 -0
  34. package/dist/template/.pi/prompts/loop-review.md +90 -0
  35. package/dist/template/.pi/prompts/plan.md +254 -0
  36. package/dist/template/.pi/prompts/research.md +136 -0
  37. package/dist/template/.pi/prompts/ship.md +219 -0
  38. package/dist/template/.pi/prompts/status.md +92 -0
  39. package/dist/template/.pi/prompts/verify.md +154 -0
  40. package/dist/template/.pi/scripts/gc-check.sh +86 -0
  41. package/dist/template/.pi/settings.json +15 -0
  42. package/dist/template/.pi/skills/INDEX.md +331 -0
  43. package/dist/template/.pi/skills/accessibility-audit/SKILL.md +205 -0
  44. package/dist/template/.pi/skills/accessibility-audit/references/accessibility-checklist.md +109 -0
  45. package/dist/template/.pi/skills/agent-code-quality-gate/SKILL.md +131 -0
  46. package/dist/template/.pi/skills/api-and-interface-design/SKILL.md +159 -0
  47. package/dist/template/.pi/skills/behavioral-kernel/SKILL.md +92 -0
  48. package/dist/template/.pi/skills/brainstorming/SKILL.md +138 -0
  49. package/dist/template/.pi/skills/browser-testing-with-devtools/SKILL.md +90 -0
  50. package/dist/template/.pi/skills/chrome-devtools/SKILL.md +129 -0
  51. package/dist/template/.pi/skills/ci-cd-and-automation/SKILL.md +199 -0
  52. package/dist/template/.pi/skills/cloudflare/SKILL.md +271 -0
  53. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/README.md +35 -0
  54. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/api.md +100 -0
  55. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
  56. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
  57. package/dist/template/.pi/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
  58. package/dist/template/.pi/skills/cloudflare/references/ai-gateway/README.md +695 -0
  59. package/dist/template/.pi/skills/cloudflare/references/ai-search/README.md +14 -0
  60. package/dist/template/.pi/skills/cloudflare/references/ai-search/api.md +38 -0
  61. package/dist/template/.pi/skills/cloudflare/references/ai-search/configuration.md +52 -0
  62. package/dist/template/.pi/skills/cloudflare/references/ai-search/gotchas.md +41 -0
  63. package/dist/template/.pi/skills/cloudflare/references/ai-search/patterns.md +45 -0
  64. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/README.md +14 -0
  65. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/api.md +27 -0
  66. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
  67. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
  68. package/dist/template/.pi/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
  69. package/dist/template/.pi/skills/cloudflare/references/api/README.md +21 -0
  70. package/dist/template/.pi/skills/cloudflare/references/api/api.md +31 -0
  71. package/dist/template/.pi/skills/cloudflare/references/api/configuration.md +20 -0
  72. package/dist/template/.pi/skills/cloudflare/references/api/gotchas.md +28 -0
  73. package/dist/template/.pi/skills/cloudflare/references/api/patterns.md +47 -0
  74. package/dist/template/.pi/skills/cloudflare/references/api-shield/README.md +20 -0
  75. package/dist/template/.pi/skills/cloudflare/references/api-shield/api.md +78 -0
  76. package/dist/template/.pi/skills/cloudflare/references/api-shield/configuration.md +128 -0
  77. package/dist/template/.pi/skills/cloudflare/references/api-shield/gotchas.md +51 -0
  78. package/dist/template/.pi/skills/cloudflare/references/api-shield/patterns.md +145 -0
  79. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
  80. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
  81. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  82. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  83. package/dist/template/.pi/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  84. package/dist/template/.pi/skills/cloudflare/references/bindings/README.md +14 -0
  85. package/dist/template/.pi/skills/cloudflare/references/bindings/api.md +3 -0
  86. package/dist/template/.pi/skills/cloudflare/references/bindings/configuration.md +58 -0
  87. package/dist/template/.pi/skills/cloudflare/references/bindings/gotchas.md +35 -0
  88. package/dist/template/.pi/skills/cloudflare/references/bindings/patterns.md +37 -0
  89. package/dist/template/.pi/skills/cloudflare/references/bot-management/README.md +71 -0
  90. package/dist/template/.pi/skills/cloudflare/references/bot-management/api.md +168 -0
  91. package/dist/template/.pi/skills/cloudflare/references/bot-management/configuration.md +114 -0
  92. package/dist/template/.pi/skills/cloudflare/references/bot-management/gotchas.md +99 -0
  93. package/dist/template/.pi/skills/cloudflare/references/bot-management/patterns.md +125 -0
  94. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/README.md +16 -0
  95. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/api.md +54 -0
  96. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
  97. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
  98. package/dist/template/.pi/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
  99. package/dist/template/.pi/skills/cloudflare/references/c3/README.md +264 -0
  100. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/README.md +93 -0
  101. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/api.md +176 -0
  102. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
  103. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
  104. package/dist/template/.pi/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
  105. package/dist/template/.pi/skills/cloudflare/references/containers/README.md +16 -0
  106. package/dist/template/.pi/skills/cloudflare/references/containers/api.md +43 -0
  107. package/dist/template/.pi/skills/cloudflare/references/containers/configuration.md +56 -0
  108. package/dist/template/.pi/skills/cloudflare/references/containers/gotchas.md +21 -0
  109. package/dist/template/.pi/skills/cloudflare/references/containers/patterns.md +40 -0
  110. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/README.md +85 -0
  111. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/api.md +198 -0
  112. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
  113. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
  114. package/dist/template/.pi/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
  115. package/dist/template/.pi/skills/cloudflare/references/d1/README.md +92 -0
  116. package/dist/template/.pi/skills/cloudflare/references/d1/api.md +141 -0
  117. package/dist/template/.pi/skills/cloudflare/references/d1/configuration.md +127 -0
  118. package/dist/template/.pi/skills/cloudflare/references/d1/gotchas.md +70 -0
  119. package/dist/template/.pi/skills/cloudflare/references/d1/patterns.md +144 -0
  120. package/dist/template/.pi/skills/cloudflare/references/ddos/README.md +34 -0
  121. package/dist/template/.pi/skills/cloudflare/references/ddos/api.md +136 -0
  122. package/dist/template/.pi/skills/cloudflare/references/ddos/configuration.md +67 -0
  123. package/dist/template/.pi/skills/cloudflare/references/ddos/gotchas.md +114 -0
  124. package/dist/template/.pi/skills/cloudflare/references/ddos/patterns.md +158 -0
  125. package/dist/template/.pi/skills/cloudflare/references/do-storage/README.md +62 -0
  126. package/dist/template/.pi/skills/cloudflare/references/do-storage/api.md +89 -0
  127. package/dist/template/.pi/skills/cloudflare/references/do-storage/configuration.md +116 -0
  128. package/dist/template/.pi/skills/cloudflare/references/do-storage/gotchas.md +93 -0
  129. package/dist/template/.pi/skills/cloudflare/references/do-storage/patterns.md +112 -0
  130. package/dist/template/.pi/skills/cloudflare/references/durable-objects/README.md +125 -0
  131. package/dist/template/.pi/skills/cloudflare/references/durable-objects/api.md +152 -0
  132. package/dist/template/.pi/skills/cloudflare/references/durable-objects/configuration.md +148 -0
  133. package/dist/template/.pi/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
  134. package/dist/template/.pi/skills/cloudflare/references/durable-objects/patterns.md +255 -0
  135. package/dist/template/.pi/skills/cloudflare/references/email-routing/README.md +18 -0
  136. package/dist/template/.pi/skills/cloudflare/references/email-routing/api.md +46 -0
  137. package/dist/template/.pi/skills/cloudflare/references/email-routing/configuration.md +63 -0
  138. package/dist/template/.pi/skills/cloudflare/references/email-routing/gotchas.md +16 -0
  139. package/dist/template/.pi/skills/cloudflare/references/email-routing/patterns.md +46 -0
  140. package/dist/template/.pi/skills/cloudflare/references/email-workers/README.md +598 -0
  141. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/README.md +62 -0
  142. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/api.md +137 -0
  143. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
  144. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
  145. package/dist/template/.pi/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
  146. package/dist/template/.pi/skills/cloudflare/references/images/README.md +14 -0
  147. package/dist/template/.pi/skills/cloudflare/references/images/api.md +3 -0
  148. package/dist/template/.pi/skills/cloudflare/references/images/configuration.md +45 -0
  149. package/dist/template/.pi/skills/cloudflare/references/images/gotchas.md +23 -0
  150. package/dist/template/.pi/skills/cloudflare/references/images/patterns.md +31 -0
  151. package/dist/template/.pi/skills/cloudflare/references/kv/README.md +60 -0
  152. package/dist/template/.pi/skills/cloudflare/references/kv/api.md +114 -0
  153. package/dist/template/.pi/skills/cloudflare/references/kv/configuration.md +92 -0
  154. package/dist/template/.pi/skills/cloudflare/references/kv/gotchas.md +117 -0
  155. package/dist/template/.pi/skills/cloudflare/references/kv/patterns.md +139 -0
  156. package/dist/template/.pi/skills/cloudflare/references/miniflare/README.md +64 -0
  157. package/dist/template/.pi/skills/cloudflare/references/miniflare/api.md +144 -0
  158. package/dist/template/.pi/skills/cloudflare/references/miniflare/configuration.md +203 -0
  159. package/dist/template/.pi/skills/cloudflare/references/miniflare/gotchas.md +187 -0
  160. package/dist/template/.pi/skills/cloudflare/references/miniflare/patterns.md +211 -0
  161. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/README.md +60 -0
  162. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/api.md +240 -0
  163. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
  164. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
  165. package/dist/template/.pi/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
  166. package/dist/template/.pi/skills/cloudflare/references/observability/README.md +18 -0
  167. package/dist/template/.pi/skills/cloudflare/references/observability/api.md +51 -0
  168. package/dist/template/.pi/skills/cloudflare/references/observability/configuration.md +60 -0
  169. package/dist/template/.pi/skills/cloudflare/references/observability/gotchas.md +36 -0
  170. package/dist/template/.pi/skills/cloudflare/references/observability/patterns.md +42 -0
  171. package/dist/template/.pi/skills/cloudflare/references/pages/README.md +76 -0
  172. package/dist/template/.pi/skills/cloudflare/references/pages/api.md +200 -0
  173. package/dist/template/.pi/skills/cloudflare/references/pages/configuration.md +228 -0
  174. package/dist/template/.pi/skills/cloudflare/references/pages/gotchas.md +161 -0
  175. package/dist/template/.pi/skills/cloudflare/references/pages/patterns.md +145 -0
  176. package/dist/template/.pi/skills/cloudflare/references/pages-functions/README.md +57 -0
  177. package/dist/template/.pi/skills/cloudflare/references/pages-functions/api.md +201 -0
  178. package/dist/template/.pi/skills/cloudflare/references/pages-functions/configuration.md +159 -0
  179. package/dist/template/.pi/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
  180. package/dist/template/.pi/skills/cloudflare/references/pages-functions/patterns.md +190 -0
  181. package/dist/template/.pi/skills/cloudflare/references/pipelines/README.md +664 -0
  182. package/dist/template/.pi/skills/cloudflare/references/pulumi/README.md +107 -0
  183. package/dist/template/.pi/skills/cloudflare/references/pulumi/api.md +194 -0
  184. package/dist/template/.pi/skills/cloudflare/references/pulumi/configuration.md +216 -0
  185. package/dist/template/.pi/skills/cloudflare/references/pulumi/gotchas.md +223 -0
  186. package/dist/template/.pi/skills/cloudflare/references/pulumi/patterns.md +139 -0
  187. package/dist/template/.pi/skills/cloudflare/references/queues/README.md +69 -0
  188. package/dist/template/.pi/skills/cloudflare/references/queues/api.md +138 -0
  189. package/dist/template/.pi/skills/cloudflare/references/queues/configuration.md +125 -0
  190. package/dist/template/.pi/skills/cloudflare/references/queues/gotchas.md +112 -0
  191. package/dist/template/.pi/skills/cloudflare/references/queues/patterns.md +155 -0
  192. package/dist/template/.pi/skills/cloudflare/references/r2/README.md +61 -0
  193. package/dist/template/.pi/skills/cloudflare/references/r2/api.md +127 -0
  194. package/dist/template/.pi/skills/cloudflare/references/r2/configuration.md +76 -0
  195. package/dist/template/.pi/skills/cloudflare/references/r2/gotchas.md +94 -0
  196. package/dist/template/.pi/skills/cloudflare/references/r2/patterns.md +127 -0
  197. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
  198. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
  199. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  200. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  201. package/dist/template/.pi/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  202. package/dist/template/.pi/skills/cloudflare/references/r2-sql/README.md +512 -0
  203. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/README.md +21 -0
  204. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/api.md +135 -0
  205. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
  206. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  207. package/dist/template/.pi/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
  208. package/dist/template/.pi/skills/cloudflare/references/realtimekit/README.md +81 -0
  209. package/dist/template/.pi/skills/cloudflare/references/realtimekit/api.md +164 -0
  210. package/dist/template/.pi/skills/cloudflare/references/realtimekit/configuration.md +147 -0
  211. package/dist/template/.pi/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
  212. package/dist/template/.pi/skills/cloudflare/references/realtimekit/patterns.md +155 -0
  213. package/dist/template/.pi/skills/cloudflare/references/sandbox/README.md +90 -0
  214. package/dist/template/.pi/skills/cloudflare/references/sandbox/api.md +178 -0
  215. package/dist/template/.pi/skills/cloudflare/references/sandbox/configuration.md +131 -0
  216. package/dist/template/.pi/skills/cloudflare/references/sandbox/gotchas.md +156 -0
  217. package/dist/template/.pi/skills/cloudflare/references/sandbox/patterns.md +203 -0
  218. package/dist/template/.pi/skills/cloudflare/references/secrets-store/README.md +58 -0
  219. package/dist/template/.pi/skills/cloudflare/references/secrets-store/api.md +182 -0
  220. package/dist/template/.pi/skills/cloudflare/references/secrets-store/configuration.md +140 -0
  221. package/dist/template/.pi/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
  222. package/dist/template/.pi/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  223. package/dist/template/.pi/skills/cloudflare/references/smart-placement/README.md +91 -0
  224. package/dist/template/.pi/skills/cloudflare/references/smart-placement/api.md +139 -0
  225. package/dist/template/.pi/skills/cloudflare/references/smart-placement/configuration.md +129 -0
  226. package/dist/template/.pi/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
  227. package/dist/template/.pi/skills/cloudflare/references/smart-placement/patterns.md +135 -0
  228. package/dist/template/.pi/skills/cloudflare/references/snippets/README.md +15 -0
  229. package/dist/template/.pi/skills/cloudflare/references/snippets/api.md +47 -0
  230. package/dist/template/.pi/skills/cloudflare/references/snippets/configuration.md +33 -0
  231. package/dist/template/.pi/skills/cloudflare/references/snippets/gotchas.md +21 -0
  232. package/dist/template/.pi/skills/cloudflare/references/snippets/patterns.md +34 -0
  233. package/dist/template/.pi/skills/cloudflare/references/spectrum/README.md +16 -0
  234. package/dist/template/.pi/skills/cloudflare/references/spectrum/api.md +24 -0
  235. package/dist/template/.pi/skills/cloudflare/references/spectrum/configuration.md +43 -0
  236. package/dist/template/.pi/skills/cloudflare/references/spectrum/gotchas.md +42 -0
  237. package/dist/template/.pi/skills/cloudflare/references/spectrum/patterns.md +40 -0
  238. package/dist/template/.pi/skills/cloudflare/references/static-assets/README.md +14 -0
  239. package/dist/template/.pi/skills/cloudflare/references/static-assets/api.md +3 -0
  240. package/dist/template/.pi/skills/cloudflare/references/static-assets/configuration.md +47 -0
  241. package/dist/template/.pi/skills/cloudflare/references/static-assets/gotchas.md +44 -0
  242. package/dist/template/.pi/skills/cloudflare/references/static-assets/patterns.md +42 -0
  243. package/dist/template/.pi/skills/cloudflare/references/stream/README.md +103 -0
  244. package/dist/template/.pi/skills/cloudflare/references/stream/api.md +204 -0
  245. package/dist/template/.pi/skills/cloudflare/references/stream/configuration.md +127 -0
  246. package/dist/template/.pi/skills/cloudflare/references/stream/gotchas.md +131 -0
  247. package/dist/template/.pi/skills/cloudflare/references/stream/patterns.md +152 -0
  248. package/dist/template/.pi/skills/cloudflare/references/tail-workers/README.md +640 -0
  249. package/dist/template/.pi/skills/cloudflare/references/terraform/README.md +76 -0
  250. package/dist/template/.pi/skills/cloudflare/references/terraform/api.md +159 -0
  251. package/dist/template/.pi/skills/cloudflare/references/terraform/configuration.md +156 -0
  252. package/dist/template/.pi/skills/cloudflare/references/terraform/gotchas.md +207 -0
  253. package/dist/template/.pi/skills/cloudflare/references/terraform/patterns.md +135 -0
  254. package/dist/template/.pi/skills/cloudflare/references/tunnel/README.md +82 -0
  255. package/dist/template/.pi/skills/cloudflare/references/tunnel/api.md +105 -0
  256. package/dist/template/.pi/skills/cloudflare/references/tunnel/configuration.md +113 -0
  257. package/dist/template/.pi/skills/cloudflare/references/tunnel/gotchas.md +115 -0
  258. package/dist/template/.pi/skills/cloudflare/references/tunnel/patterns.md +157 -0
  259. package/dist/template/.pi/skills/cloudflare/references/turn/README.md +699 -0
  260. package/dist/template/.pi/skills/cloudflare/references/turnstile/README.md +14 -0
  261. package/dist/template/.pi/skills/cloudflare/references/turnstile/api.md +3 -0
  262. package/dist/template/.pi/skills/cloudflare/references/turnstile/configuration.md +19 -0
  263. package/dist/template/.pi/skills/cloudflare/references/turnstile/gotchas.md +27 -0
  264. package/dist/template/.pi/skills/cloudflare/references/turnstile/patterns.md +41 -0
  265. package/dist/template/.pi/skills/cloudflare/references/vectorize/README.md +682 -0
  266. package/dist/template/.pi/skills/cloudflare/references/waf/README.md +14 -0
  267. package/dist/template/.pi/skills/cloudflare/references/waf/api.md +3 -0
  268. package/dist/template/.pi/skills/cloudflare/references/waf/configuration.md +44 -0
  269. package/dist/template/.pi/skills/cloudflare/references/waf/gotchas.md +24 -0
  270. package/dist/template/.pi/skills/cloudflare/references/waf/patterns.md +29 -0
  271. package/dist/template/.pi/skills/cloudflare/references/web-analytics/README.md +19 -0
  272. package/dist/template/.pi/skills/cloudflare/references/web-analytics/api.md +52 -0
  273. package/dist/template/.pi/skills/cloudflare/references/web-analytics/configuration.md +31 -0
  274. package/dist/template/.pi/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
  275. package/dist/template/.pi/skills/cloudflare/references/web-analytics/patterns.md +52 -0
  276. package/dist/template/.pi/skills/cloudflare/references/workerd/README.md +47 -0
  277. package/dist/template/.pi/skills/cloudflare/references/workerd/api.md +199 -0
  278. package/dist/template/.pi/skills/cloudflare/references/workerd/configuration.md +185 -0
  279. package/dist/template/.pi/skills/cloudflare/references/workerd/gotchas.md +203 -0
  280. package/dist/template/.pi/skills/cloudflare/references/workerd/patterns.md +216 -0
  281. package/dist/template/.pi/skills/cloudflare/references/workers/README.md +96 -0
  282. package/dist/template/.pi/skills/cloudflare/references/workers/api.md +137 -0
  283. package/dist/template/.pi/skills/cloudflare/references/workers/configuration.md +147 -0
  284. package/dist/template/.pi/skills/cloudflare/references/workers/gotchas.md +99 -0
  285. package/dist/template/.pi/skills/cloudflare/references/workers/patterns.md +149 -0
  286. package/dist/template/.pi/skills/cloudflare/references/workers-ai/README.md +116 -0
  287. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
  288. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
  289. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  290. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  291. package/dist/template/.pi/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  292. package/dist/template/.pi/skills/cloudflare/references/workers-playground/README.md +16 -0
  293. package/dist/template/.pi/skills/cloudflare/references/workers-playground/api.md +20 -0
  294. package/dist/template/.pi/skills/cloudflare/references/workers-playground/configuration.md +3 -0
  295. package/dist/template/.pi/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
  296. package/dist/template/.pi/skills/cloudflare/references/workers-playground/patterns.md +42 -0
  297. package/dist/template/.pi/skills/cloudflare/references/workers-vpc/README.md +579 -0
  298. package/dist/template/.pi/skills/cloudflare/references/workflows/README.md +62 -0
  299. package/dist/template/.pi/skills/cloudflare/references/workflows/api.md +125 -0
  300. package/dist/template/.pi/skills/cloudflare/references/workflows/configuration.md +177 -0
  301. package/dist/template/.pi/skills/cloudflare/references/workflows/gotchas.md +136 -0
  302. package/dist/template/.pi/skills/cloudflare/references/workflows/patterns.md +132 -0
  303. package/dist/template/.pi/skills/cloudflare/references/wrangler/README.md +90 -0
  304. package/dist/template/.pi/skills/cloudflare/references/wrangler/api.md +140 -0
  305. package/dist/template/.pi/skills/cloudflare/references/wrangler/configuration.md +128 -0
  306. package/dist/template/.pi/skills/cloudflare/references/wrangler/gotchas.md +93 -0
  307. package/dist/template/.pi/skills/cloudflare/references/wrangler/patterns.md +150 -0
  308. package/dist/template/.pi/skills/cloudflare/references/zaraz/README.md +360 -0
  309. package/dist/template/.pi/skills/code-cleanup/SKILL.md +232 -0
  310. package/dist/template/.pi/skills/code-review-and-quality/SKILL.md +344 -0
  311. package/dist/template/.pi/skills/code-simplification/SKILL.md +348 -0
  312. package/dist/template/.pi/skills/context-engineering/SKILL.md +296 -0
  313. package/dist/template/.pi/skills/core-data-expert/SKILL.md +117 -0
  314. package/dist/template/.pi/skills/core-data-expert/references/batch-operations.md +543 -0
  315. package/dist/template/.pi/skills/core-data-expert/references/cloudkit-integration.md +259 -0
  316. package/dist/template/.pi/skills/core-data-expert/references/concurrency.md +522 -0
  317. package/dist/template/.pi/skills/core-data-expert/references/fetch-requests.md +643 -0
  318. package/dist/template/.pi/skills/core-data-expert/references/glossary.md +233 -0
  319. package/dist/template/.pi/skills/core-data-expert/references/migration.md +393 -0
  320. package/dist/template/.pi/skills/core-data-expert/references/model-configuration.md +597 -0
  321. package/dist/template/.pi/skills/core-data-expert/references/performance.md +300 -0
  322. package/dist/template/.pi/skills/core-data-expert/references/persistent-history.md +553 -0
  323. package/dist/template/.pi/skills/core-data-expert/references/project-audit.md +60 -0
  324. package/dist/template/.pi/skills/core-data-expert/references/saving.md +574 -0
  325. package/dist/template/.pi/skills/core-data-expert/references/stack-setup.md +625 -0
  326. package/dist/template/.pi/skills/core-data-expert/references/testing.md +300 -0
  327. package/dist/template/.pi/skills/core-data-expert/references/threading.md +589 -0
  328. package/dist/template/.pi/skills/debugging-and-error-recovery/SKILL.md +274 -0
  329. package/dist/template/.pi/skills/deep-module-design/SKILL.md +218 -0
  330. package/dist/template/.pi/skills/defense-in-depth/SKILL.md +161 -0
  331. package/dist/template/.pi/skills/deprecation-and-migration/SKILL.md +186 -0
  332. package/dist/template/.pi/skills/design-system-audit/SKILL.md +176 -0
  333. package/dist/template/.pi/skills/design-taste-frontend/SKILL.md +255 -0
  334. package/dist/template/.pi/skills/development-lifecycle/SKILL.md +285 -0
  335. package/dist/template/.pi/skills/documentation-and-adrs/SKILL.md +217 -0
  336. package/dist/template/.pi/skills/doubt-driven-development/SKILL.md +207 -0
  337. package/dist/template/.pi/skills/fallow/SKILL.md +457 -0
  338. package/dist/template/.pi/skills/fallow/references/cli-reference.md +1905 -0
  339. package/dist/template/.pi/skills/fallow/references/gotchas.md +644 -0
  340. package/dist/template/.pi/skills/fallow/references/patterns.md +791 -0
  341. package/dist/template/.pi/skills/figma/SKILL.md +241 -0
  342. package/dist/template/.pi/skills/frontend-design/SKILL.md +262 -0
  343. package/dist/template/.pi/skills/frontend-design/references/animation/motion-advanced.md +224 -0
  344. package/dist/template/.pi/skills/frontend-design/references/animation/motion-core.md +181 -0
  345. package/dist/template/.pi/skills/frontend-design/references/canvas/execution.md +90 -0
  346. package/dist/template/.pi/skills/frontend-design/references/canvas/philosophy.md +94 -0
  347. package/dist/template/.pi/skills/frontend-design/references/design/color-system.md +111 -0
  348. package/dist/template/.pi/skills/frontend-design/references/design/interaction.md +149 -0
  349. package/dist/template/.pi/skills/frontend-design/references/design/typography-rules.md +106 -0
  350. package/dist/template/.pi/skills/frontend-design/references/design/ux-writing.md +99 -0
  351. package/dist/template/.pi/skills/frontend-design/references/shadcn/accessibility.md +132 -0
  352. package/dist/template/.pi/skills/frontend-design/references/shadcn/core-components.md +153 -0
  353. package/dist/template/.pi/skills/frontend-design/references/shadcn/form-components.md +158 -0
  354. package/dist/template/.pi/skills/frontend-design/references/shadcn/setup.md +69 -0
  355. package/dist/template/.pi/skills/frontend-design/references/shadcn/theming.md +152 -0
  356. package/dist/template/.pi/skills/frontend-design/references/tailwind/responsive.md +112 -0
  357. package/dist/template/.pi/skills/frontend-design/references/tailwind/utilities-layout.md +134 -0
  358. package/dist/template/.pi/skills/frontend-design/references/tailwind/utilities-styling.md +165 -0
  359. package/dist/template/.pi/skills/frontend-design/references/tailwind/v4-config.md +147 -0
  360. package/dist/template/.pi/skills/frontend-design/references/tailwind/v4-features.md +128 -0
  361. package/dist/template/.pi/skills/frontend-ui-engineering/SKILL.md +217 -0
  362. package/dist/template/.pi/skills/gemini-large-context/SKILL.md +238 -0
  363. package/dist/template/.pi/skills/git-workflow-and-versioning/SKILL.md +217 -0
  364. package/dist/template/.pi/skills/grill-me/SKILL.md +162 -0
  365. package/dist/template/.pi/skills/high-end-visual-design/SKILL.md +128 -0
  366. package/dist/template/.pi/skills/idea-refine/SKILL.md +195 -0
  367. package/dist/template/.pi/skills/idea-refine/examples.md +62 -0
  368. package/dist/template/.pi/skills/idea-refine/frameworks.md +63 -0
  369. package/dist/template/.pi/skills/idea-refine/refinement-criteria.md +56 -0
  370. package/dist/template/.pi/skills/incremental-implementation/SKILL.md +190 -0
  371. package/dist/template/.pi/skills/industrial-brutalist-ui/SKILL.md +131 -0
  372. package/dist/template/.pi/skills/interview-me/SKILL.md +227 -0
  373. package/dist/template/.pi/skills/jira/SKILL.md +306 -0
  374. package/dist/template/.pi/skills/loop-audit/SKILL.md +141 -0
  375. package/dist/template/.pi/skills/loop-cost/SKILL.md +130 -0
  376. package/dist/template/.pi/skills/loop-engineering/SKILL.md +175 -0
  377. package/dist/template/.pi/skills/minimalist-ui/SKILL.md +124 -0
  378. package/dist/template/.pi/skills/mockup-to-code/SKILL.md +197 -0
  379. package/dist/template/.pi/skills/observability-and-instrumentation/SKILL.md +202 -0
  380. package/dist/template/.pi/skills/opensrc/SKILL.md +297 -0
  381. package/dist/template/.pi/skills/opensrc/references/architecture.md +176 -0
  382. package/dist/template/.pi/skills/opensrc/references/cli-usage.md +176 -0
  383. package/dist/template/.pi/skills/opensrc/references/registry-support.md +137 -0
  384. package/dist/template/.pi/skills/pdf-extract/SKILL.md +461 -0
  385. package/dist/template/.pi/skills/performance-optimization/SKILL.md +233 -0
  386. package/dist/template/.pi/skills/performance-optimization/references/performance-checklist.md +85 -0
  387. package/dist/template/.pi/skills/planning-and-task-breakdown/SKILL.md +204 -0
  388. package/dist/template/.pi/skills/playwright/SKILL.md +404 -0
  389. package/dist/template/.pi/skills/playwright/references/agent-browser-cli.md +405 -0
  390. package/dist/template/.pi/skills/polar/SKILL.md +125 -0
  391. package/dist/template/.pi/skills/react-best-practices/SKILL.md +156 -0
  392. package/dist/template/.pi/skills/react-best-practices/rules/_sections.md +46 -0
  393. package/dist/template/.pi/skills/react-best-practices/rules/_template.md +28 -0
  394. package/dist/template/.pi/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  395. package/dist/template/.pi/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  396. package/dist/template/.pi/skills/react-best-practices/rules/async-api-routes.md +38 -0
  397. package/dist/template/.pi/skills/react-best-practices/rules/async-defer-await.md +80 -0
  398. package/dist/template/.pi/skills/react-best-practices/rules/async-dependencies.md +36 -0
  399. package/dist/template/.pi/skills/react-best-practices/rules/async-parallel.md +28 -0
  400. package/dist/template/.pi/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  401. package/dist/template/.pi/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  402. package/dist/template/.pi/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  403. package/dist/template/.pi/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  404. package/dist/template/.pi/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  405. package/dist/template/.pi/skills/react-best-practices/rules/bundle-preload.md +50 -0
  406. package/dist/template/.pi/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  407. package/dist/template/.pi/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  408. package/dist/template/.pi/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  409. package/dist/template/.pi/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  410. package/dist/template/.pi/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  411. package/dist/template/.pi/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  412. package/dist/template/.pi/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  413. package/dist/template/.pi/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  414. package/dist/template/.pi/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  415. package/dist/template/.pi/skills/react-best-practices/rules/js-early-exit.md +50 -0
  416. package/dist/template/.pi/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  417. package/dist/template/.pi/skills/react-best-practices/rules/js-index-maps.md +37 -0
  418. package/dist/template/.pi/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  419. package/dist/template/.pi/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  420. package/dist/template/.pi/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  421. package/dist/template/.pi/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  422. package/dist/template/.pi/skills/react-best-practices/rules/rendering-activity.md +26 -0
  423. package/dist/template/.pi/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  424. package/dist/template/.pi/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  425. package/dist/template/.pi/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  426. package/dist/template/.pi/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  427. package/dist/template/.pi/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  428. package/dist/template/.pi/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  429. package/dist/template/.pi/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  430. package/dist/template/.pi/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  431. package/dist/template/.pi/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  432. package/dist/template/.pi/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  433. package/dist/template/.pi/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  434. package/dist/template/.pi/skills/react-best-practices/rules/rerender-memo.md +44 -0
  435. package/dist/template/.pi/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  436. package/dist/template/.pi/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  437. package/dist/template/.pi/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  438. package/dist/template/.pi/skills/react-best-practices/rules/server-cache-react.md +76 -0
  439. package/dist/template/.pi/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  440. package/dist/template/.pi/skills/react-best-practices/rules/server-serialization.md +38 -0
  441. package/dist/template/.pi/skills/redesign-existing-projects/SKILL.md +217 -0
  442. package/dist/template/.pi/skills/resend/SKILL.md +196 -0
  443. package/dist/template/.pi/skills/resend/references/react-email.md +287 -0
  444. package/dist/template/.pi/skills/resend/references/receive-email.md +248 -0
  445. package/dist/template/.pi/skills/resend/references/send-email.md +318 -0
  446. package/dist/template/.pi/skills/root-cause-tracing/SKILL.md +216 -0
  447. package/dist/template/.pi/skills/security-and-hardening/SKILL.md +293 -0
  448. package/dist/template/.pi/skills/security-and-hardening/references/security-checklist.md +105 -0
  449. package/dist/template/.pi/skills/shipping-and-launch/SKILL.md +101 -0
  450. package/dist/template/.pi/skills/source-driven-development/SKILL.md +108 -0
  451. package/dist/template/.pi/skills/spec-driven-development/SKILL.md +177 -0
  452. package/dist/template/.pi/skills/srcwalk/SKILL.md +182 -0
  453. package/dist/template/.pi/skills/subagent-driven-development/SKILL.md +253 -0
  454. package/dist/template/.pi/skills/supabase/SKILL.md +153 -0
  455. package/dist/template/.pi/skills/supabase-postgres-best-practices/SKILL.md +88 -0
  456. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  457. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  458. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  459. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
  460. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
  461. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  462. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
  463. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
  464. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
  465. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
  466. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
  467. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  468. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
  469. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
  470. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  471. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  472. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  473. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
  474. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
  475. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
  476. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
  477. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
  478. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
  479. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  480. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  481. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
  482. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
  483. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
  484. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
  485. package/dist/template/.pi/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
  486. package/dist/template/.pi/skills/swift-concurrency/SKILL.md +290 -0
  487. package/dist/template/.pi/skills/swift-concurrency/references/actors.md +640 -0
  488. package/dist/template/.pi/skills/swift-concurrency/references/async-algorithms.md +822 -0
  489. package/dist/template/.pi/skills/swift-concurrency/references/async-await-basics.md +249 -0
  490. package/dist/template/.pi/skills/swift-concurrency/references/async-sequences.md +670 -0
  491. package/dist/template/.pi/skills/swift-concurrency/references/core-data.md +533 -0
  492. package/dist/template/.pi/skills/swift-concurrency/references/glossary.md +128 -0
  493. package/dist/template/.pi/skills/swift-concurrency/references/linting.md +142 -0
  494. package/dist/template/.pi/skills/swift-concurrency/references/memory-management.md +542 -0
  495. package/dist/template/.pi/skills/swift-concurrency/references/migration.md +1076 -0
  496. package/dist/template/.pi/skills/swift-concurrency/references/performance.md +574 -0
  497. package/dist/template/.pi/skills/swift-concurrency/references/sendable.md +578 -0
  498. package/dist/template/.pi/skills/swift-concurrency/references/tasks.md +604 -0
  499. package/dist/template/.pi/skills/swift-concurrency/references/testing.md +565 -0
  500. package/dist/template/.pi/skills/swift-concurrency/references/threading.md +452 -0
  501. package/dist/template/.pi/skills/swiftui-expert-skill/SKILL.md +343 -0
  502. package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
  503. package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  504. package/dist/template/.pi/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  505. package/dist/template/.pi/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
  506. package/dist/template/.pi/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  507. package/dist/template/.pi/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
  508. package/dist/template/.pi/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
  509. package/dist/template/.pi/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
  510. package/dist/template/.pi/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
  511. package/dist/template/.pi/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  512. package/dist/template/.pi/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  513. package/dist/template/.pi/skills/swiftui-expert-skill/references/state-management.md +447 -0
  514. package/dist/template/.pi/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
  515. package/dist/template/.pi/skills/swiftui-expert-skill/references/view-structure.md +276 -0
  516. package/dist/template/.pi/skills/test-driven-development/SKILL.md +400 -0
  517. package/dist/template/.pi/skills/test-driven-development/references/testing-patterns.md +155 -0
  518. package/dist/template/.pi/skills/testing-anti-patterns/SKILL.md +339 -0
  519. package/dist/template/.pi/skills/using-agent-skills/SKILL.md +371 -0
  520. package/dist/template/.pi/skills/using-git-worktrees/SKILL.md +275 -0
  521. package/dist/template/.pi/skills/vercel-deploy-claimable/SKILL.md +144 -0
  522. package/dist/template/.pi/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  523. package/dist/template/.pi/skills/verification-before-completion/SKILL.md +348 -0
  524. package/dist/template/.pi/skills/webclaw/SKILL.md +188 -0
  525. package/dist/template/.pi/skills/writing-skills/SKILL.md +329 -0
  526. package/dist/template/.pi/skills/writing-skills/references/anti-patterns.md +25 -0
  527. package/dist/template/.pi/skills/writing-skills/references/claude-search-optimization.md +140 -0
  528. package/dist/template/.pi/skills/writing-skills/references/discovery-workflow.md +11 -0
  529. package/dist/template/.pi/skills/writing-skills/references/file-organization.md +32 -0
  530. package/dist/template/.pi/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
  531. package/dist/template/.pi/skills/writing-skills/references/rationalization-hardening.md +75 -0
  532. package/dist/template/.pi/skills/writing-skills/references/testing-methodology.md +397 -0
  533. package/dist/template/.pi/skills/writing-skills/references/testing-skill-types.md +52 -0
  534. package/dist/template/.pi/subagents.json +10 -0
  535. package/dist/template/.pi/templates/adr.md +47 -0
  536. package/dist/template/.pi/templates/design.md +61 -0
  537. package/dist/template/.pi/templates/loop-github-action.yml +162 -0
  538. package/dist/template/.pi/templates/loop-orchestrator.sh +514 -0
  539. package/dist/template/.pi/templates/loop-orchestrator.test.ts +332 -0
  540. package/dist/template/.pi/templates/loop-orchestrator.ts +936 -0
  541. package/dist/template/.pi/templates/loop-state.json +24 -0
  542. package/dist/template/.pi/templates/loop-state.md +98 -0
  543. package/dist/template/.pi/templates/loop-vision.md +110 -0
  544. package/dist/template/.pi/templates/prd.md +204 -0
  545. package/dist/template/.pi/templates/progress.md +55 -0
  546. package/dist/template/.pi/templates/project.md +58 -0
  547. package/dist/template/.pi/templates/proposal.md +40 -0
  548. package/dist/template/.pi/templates/review-state.json +20 -0
  549. package/dist/template/.pi/templates/roadmap.md +93 -0
  550. package/dist/template/.pi/templates/state.md +97 -0
  551. package/dist/template/.pi/templates/tasks.md +202 -0
  552. package/dist/template/.pi/templates/tech-stack.md +85 -0
  553. package/dist/template/.pi/templates/user.md +26 -0
  554. package/dist/template/.pi/workflows/INDEX.md +63 -0
  555. package/dist/template/.pi/workflows/audit-pattern.md +84 -0
  556. package/dist/template/.pi/workflows/batch-implement.md +121 -0
  557. package/dist/template/.pi/workflows/deep-research.md +89 -0
  558. package/dist/template/.pi/workflows/development-lifecycle-workflow.md +175 -0
  559. package/dist/template/.pi/workflows/garbage-collection.md +144 -0
  560. package/dist/template/.pi/workflows/quality-loop.md +211 -0
  561. package/package.json +57 -0
@@ -0,0 +1,165 @@
1
+ # Tailwind Styling Utilities
2
+
3
+ Spacing, typography, colors, borders, shadows, transforms.
4
+
5
+ ## Spacing
6
+
7
+ ### Padding
8
+ ```html
9
+ <div class="p-4">All</div>
10
+ <div class="px-6">X axis</div>
11
+ <div class="py-3">Y axis</div>
12
+ <div class="pt-8 pr-4 pb-2 pl-6">Individual</div>
13
+ ```
14
+
15
+ ### Margin
16
+ ```html
17
+ <div class="m-4">All</div>
18
+ <div class="mx-auto">Center</div>
19
+ <div class="my-6">Y axis</div>
20
+ <div class="-mt-4">Negative</div>
21
+ <div class="ml-auto">Push right</div>
22
+ ```
23
+
24
+ ### Scale
25
+ ```
26
+ 0=0px, px=1px, 0.5=2px, 1=4px, 2=8px, 3=12px, 4=16px
27
+ 6=24px, 8=32px, 12=48px, 16=64px, 24=96px
28
+ v4: Any value: mt-17, px-29
29
+ ```
30
+
31
+ ## Typography
32
+
33
+ ```html
34
+ <!-- Size -->
35
+ <p class="text-xs">12px</p>
36
+ <p class="text-sm">14px</p>
37
+ <p class="text-base">16px</p>
38
+ <p class="text-lg">18px</p>
39
+ <p class="text-xl">20px</p>
40
+ <p class="text-2xl">24px</p>
41
+ <p class="text-4xl">36px</p>
42
+
43
+ <!-- Weight -->
44
+ <p class="font-light">300</p>
45
+ <p class="font-normal">400</p>
46
+ <p class="font-medium">500</p>
47
+ <p class="font-semibold">600</p>
48
+ <p class="font-bold">700</p>
49
+
50
+ <!-- Line height -->
51
+ <p class="leading-tight">1.25</p>
52
+ <p class="leading-normal">1.5</p>
53
+ <h1 class="text-4xl/tight">Combined</h1>
54
+
55
+ <!-- Transform -->
56
+ <p class="uppercase">UPPER</p>
57
+ <p class="lowercase">lower</p>
58
+ <p class="capitalize">Cap</p>
59
+
60
+ <!-- Decoration -->
61
+ <p class="underline">Underline</p>
62
+ <p class="line-through">Strike</p>
63
+
64
+ <!-- Overflow -->
65
+ <p class="truncate">Truncate...</p>
66
+ <p class="line-clamp-3">Clamp 3</p>
67
+ ```
68
+
69
+ ## Colors
70
+
71
+ ```html
72
+ <!-- Text -->
73
+ <p class="text-black">Black</p>
74
+ <p class="text-gray-500">Gray</p>
75
+ <p class="text-primary">CSS var</p>
76
+ <p class="text-muted-foreground">Muted</p>
77
+
78
+ <!-- Background -->
79
+ <div class="bg-white">White</div>
80
+ <div class="bg-blue-500">Blue</div>
81
+ <div class="bg-background">CSS var</div>
82
+
83
+ <!-- Opacity modifier -->
84
+ <div class="bg-black/75">75%</div>
85
+ <div class="text-blue-500/50">50%</div>
86
+ ```
87
+
88
+ ## Gradients
89
+
90
+ ```html
91
+ <div class="bg-linear-to-r from-blue-500 to-purple-600">Linear</div>
92
+ <div class="bg-linear-45 from-pink-500 to-yellow-500">Angle (v4)</div>
93
+ <div class="bg-linear-to-br from-pink-500 via-red-500 to-yellow-500">Via</div>
94
+ <div class="bg-linear-to-r/oklch from-indigo-500 to-teal-400">OKLCH (v4)</div>
95
+ ```
96
+
97
+ ## Borders
98
+
99
+ ```html
100
+ <!-- Width -->
101
+ <div class="border">1px all</div>
102
+ <div class="border-2">2px all</div>
103
+ <div class="border-t">Top only</div>
104
+
105
+ <!-- Color -->
106
+ <div class="border border-gray-300">Gray</div>
107
+ <div class="border border-border">CSS var</div>
108
+
109
+ <!-- Radius -->
110
+ <div class="rounded">0.25rem</div>
111
+ <div class="rounded-lg">0.5rem</div>
112
+ <div class="rounded-full">Pill</div>
113
+ <div class="rounded-t-lg">Top only</div>
114
+ ```
115
+
116
+ ## Shadows
117
+
118
+ ```html
119
+ <div class="shadow-sm">Small</div>
120
+ <div class="shadow">Default</div>
121
+ <div class="shadow-lg">Large</div>
122
+ <div class="shadow-xl">XL</div>
123
+ <div class="shadow-lg shadow-blue-500/50">Colored</div>
124
+ <div class="inset-shadow-sm">Inset (v4)</div>
125
+ ```
126
+
127
+ ## Transforms
128
+
129
+ ```html
130
+ <div class="scale-105">Scale</div>
131
+ <div class="rotate-45">Rotate</div>
132
+ <div class="translate-x-4">Move</div>
133
+
134
+ <!-- 3D (v4) -->
135
+ <div class="rotate-x-45">X</div>
136
+ <div class="rotate-y-30">Y</div>
137
+ <div class="perspective-distant">Perspective</div>
138
+ ```
139
+
140
+ ## Transitions
141
+
142
+ ```html
143
+ <div class="transition-all">All</div>
144
+ <div class="transition-colors">Colors</div>
145
+ <div class="transition-transform">Transform</div>
146
+ <div class="duration-300">300ms</div>
147
+ <div class="ease-in-out">Easing</div>
148
+ ```
149
+
150
+ ## Other
151
+
152
+ ```html
153
+ <div class="opacity-50">50%</div>
154
+ <div class="cursor-pointer">Pointer</div>
155
+ <div class="select-none">No select</div>
156
+ ```
157
+
158
+ ## Arbitrary Values
159
+
160
+ ```html
161
+ <div class="p-[17px]">Custom</div>
162
+ <div class="bg-[#bada55]">Hex</div>
163
+ <div class="w-[calc(100%-2rem)]">Calc</div>
164
+ <div class="grid-cols-[1fr_500px_2fr]">Grid</div>
165
+ ```
@@ -0,0 +1,147 @@
1
+ # Tailwind CSS v4 Configuration
2
+
3
+ v4.1.x (current: v4.1.18) - CSS-first config, no tailwind.config.js needed.
4
+
5
+ ## Installation
6
+
7
+ ### Vite (Recommended)
8
+ ```bash
9
+ npm i tailwindcss @tailwindcss/vite
10
+ ```
11
+
12
+ ```ts
13
+ // vite.config.ts
14
+ import tailwindcss from "@tailwindcss/vite"
15
+ export default { plugins: [tailwindcss()] }
16
+ ```
17
+
18
+ ```css
19
+ /* src/index.css */
20
+ @import "tailwindcss";
21
+ ```
22
+
23
+ ### PostCSS
24
+ ```bash
25
+ npm i tailwindcss @tailwindcss/postcss
26
+ ```
27
+
28
+ ```js
29
+ // postcss.config.js
30
+ export default { plugins: ["@tailwindcss/postcss"] }
31
+ ```
32
+
33
+ ## CSS-First Configuration
34
+
35
+ Configure in CSS with `@theme`:
36
+
37
+ ```css
38
+ @import "tailwindcss";
39
+
40
+ @theme {
41
+ /* OKLCH colors for vivid, wide-gamut */
42
+ --color-brand-50: oklch(0.97 0.02 264);
43
+ --color-brand-500: oklch(0.55 0.22 264);
44
+ --color-brand-900: oklch(0.25 0.15 264);
45
+
46
+ /* Fonts */
47
+ --font-display: "Satoshi", sans-serif;
48
+ --font-body: "Inter", system-ui, sans-serif;
49
+
50
+ /* Spacing, breakpoints, easing */
51
+ --spacing-18: calc(var(--spacing) * 18);
52
+ --breakpoint-3xl: 1920px;
53
+ --ease-fluid: cubic-bezier(0.3, 0, 0, 1);
54
+
55
+ /* Shadows */
56
+ --shadow-glow: 0 0 20px oklch(0.55 0.22 264 / 0.3);
57
+ }
58
+ ```
59
+
60
+ Usage: `<div class="bg-brand-500 font-display shadow-glow">`
61
+
62
+ ## Key v4 Changes from v3
63
+
64
+ | v3 | v4 |
65
+ |----|-----|
66
+ | `@tailwind base/components/utilities` | `@import "tailwindcss"` |
67
+ | `tailwind.config.js` | `@theme` directive |
68
+ | `content: [...]` array | Automatic detection |
69
+ | sRGB colors | OKLCH/P3 colors |
70
+ | `bg-opacity-50` | `bg-black/50` modifier |
71
+ | Plugin for container queries | Built-in `@container` |
72
+
73
+ ## Automatic Content Detection
74
+
75
+ No `content` array. Auto-ignores `.gitignore` and binary files.
76
+
77
+ Add sources manually if needed:
78
+ ```css
79
+ @source "../node_modules/@my-company/ui-lib";
80
+ ```
81
+
82
+ ## Dynamic Values
83
+
84
+ Any value works without config:
85
+ ```html
86
+ <div class="grid grid-cols-15">
87
+ <div class="mt-17 px-29">
88
+ <div data-active class="data-active:bg-blue-500">
89
+ ```
90
+
91
+ ## OKLCH Colors
92
+
93
+ Wider gamut, more vivid:
94
+ ```css
95
+ @theme {
96
+ --color-primary-50: oklch(0.98 0.02 250);
97
+ --color-primary-500: oklch(0.65 0.22 250);
98
+ --color-primary-900: oklch(0.25 0.15 250);
99
+ }
100
+ ```
101
+
102
+ Opacity modifier: `<div class="bg-primary-500/50">`
103
+
104
+ ## Custom Utilities & Variants
105
+
106
+ ```css
107
+ @utility glass {
108
+ background: oklch(1 0 0 / 0.1);
109
+ backdrop-filter: blur(10px);
110
+ border: 1px solid oklch(1 0 0 / 0.2);
111
+ }
112
+
113
+ @custom-variant theme-dark (&:where([data-theme="dark"] *));
114
+ ```
115
+
116
+ ## Layer Organization
117
+
118
+ ```css
119
+ @layer base { h1 { @apply text-4xl font-bold; } }
120
+ @layer components { .btn { @apply px-4 py-2 rounded-lg; } }
121
+ @layer utilities { .text-balance { text-wrap: balance; } }
122
+ ```
123
+
124
+ ## Dark Mode
125
+
126
+ Class strategy by default:
127
+ ```html
128
+ <html class="dark">
129
+ <div class="bg-white dark:bg-zinc-900">
130
+ ```
131
+
132
+ ## Migration from v3
133
+
134
+ ```bash
135
+ npx @tailwindcss/upgrade
136
+ ```
137
+
138
+ - Move `tailwind.config.js` to `@theme`
139
+ - Replace `@tailwind` with `@import "tailwindcss"`
140
+ - Remove `content` array
141
+ - Replace `bg-opacity-*` with `/opacity` modifier
142
+
143
+ ## Performance
144
+
145
+ - Full builds: 3.5x+ faster
146
+ - Incremental: 8x+ faster
147
+ - No-new-CSS: 100x+ faster (microseconds)
@@ -0,0 +1,128 @@
1
+ # Tailwind CSS v4 New Features
2
+
3
+ v4/v4.1 additions: gradients, 3D transforms, masks, text shadows, new variants.
4
+
5
+ ## Container Queries (Built-in)
6
+
7
+ No plugin needed:
8
+ ```html
9
+ <div class="@container">
10
+ <div class="grid grid-cols-1 @sm:grid-cols-2 @lg:grid-cols-4">
11
+ </div>
12
+
13
+ <!-- Max-width -->
14
+ <div class="grid-cols-3 @max-md:grid-cols-1">
15
+
16
+ <!-- Range -->
17
+ <div class="@min-md:@max-xl:hidden">
18
+ ```
19
+
20
+ ## Gradients
21
+
22
+ ```html
23
+ <!-- Angle-based -->
24
+ <div class="bg-linear-45 from-indigo-500 to-pink-500">
25
+
26
+ <!-- OKLCH interpolation -->
27
+ <div class="bg-linear-to-r/oklch from-indigo-500 to-teal-400">
28
+
29
+ <!-- Conic and radial -->
30
+ <div class="bg-conic from-red-500 to-red-500">
31
+ <div class="bg-radial from-white to-zinc-900">
32
+ ```
33
+
34
+ ## 3D Transforms
35
+
36
+ ```html
37
+ <div class="perspective-distant">
38
+ <div class="rotate-x-45 rotate-z-30 transform-3d">
39
+ </div>
40
+ ```
41
+
42
+ ## @starting-style (Enter Transitions)
43
+
44
+ ```html
45
+ <div popover class="transition-all starting:open:opacity-0 starting:open:scale-95">
46
+ ```
47
+
48
+ ## not-* Variant
49
+
50
+ ```html
51
+ <div class="not-hover:opacity-75">
52
+ <div class="not-supports-backdrop-blur:bg-white">
53
+ ```
54
+
55
+ ## Text Shadows (v4.1)
56
+
57
+ ```html
58
+ <p class="text-shadow-sm">Small</p>
59
+ <p class="text-shadow-lg">Large</p>
60
+ <p class="text-shadow-lg text-shadow-blue-500/50">Colored</p>
61
+ ```
62
+
63
+ ## Masks (v4.1)
64
+
65
+ ```html
66
+ <div class="mask-t-from-50%">Fade from top</div>
67
+ <div class="mask-b-from-20% mask-b-to-80%">Bottom fade</div>
68
+ <div class="mask-radial-from-70%">Radial</div>
69
+ <div class="mask-b-from-50% mask-radial-from-80%">Combined</div>
70
+ ```
71
+
72
+ ## Other v4.1 Utilities
73
+
74
+ ```html
75
+ <!-- Colored drop shadows -->
76
+ <svg class="drop-shadow-xl drop-shadow-cyan-500/50">
77
+
78
+ <!-- Overflow wrap -->
79
+ <p class="wrap-break-word">Break words</p>
80
+ <p class="wrap-anywhere">Break anywhere</p>
81
+
82
+ <!-- Safe alignment -->
83
+ <div class="flex justify-center-safe">
84
+
85
+ <!-- Baseline alignment -->
86
+ <div class="items-baseline-last">
87
+
88
+ <!-- Color scheme -->
89
+ <html class="color-scheme-dark">
90
+
91
+ <!-- Field sizing -->
92
+ <textarea class="field-sizing-content">
93
+
94
+ <!-- Inert styling -->
95
+ <div class="inert:opacity-50" inert>
96
+ ```
97
+
98
+ ## New v4.1 Variants
99
+
100
+ ```html
101
+ <!-- Pointer device -->
102
+ <div class="pointer-fine:p-2 pointer-coarse:p-4">
103
+
104
+ <!-- Form validation (after interaction) -->
105
+ <input class="user-valid:border-green-500 user-invalid:border-red-500">
106
+
107
+ <!-- Details content -->
108
+ <details class="details-content:mt-3">
109
+
110
+ <!-- Inverted colors -->
111
+ <div class="inverted-colors:shadow-none">
112
+
113
+ <!-- Noscript -->
114
+ <div class="noscript:block hidden">Enable JS</div>
115
+ ```
116
+
117
+ ## Source Directives (v4.1)
118
+
119
+ ```css
120
+ /* Ignore paths */
121
+ @source not "./src/legacy";
122
+
123
+ /* Safelist utilities */
124
+ @source inline("underline");
125
+
126
+ /* Brace expansion */
127
+ @source inline("{hover:,}bg-red-{100..900..100}");
128
+ ```
@@ -0,0 +1,217 @@
1
+ ---
2
+ name: frontend-ui-engineering
3
+ description: "Builds production-quality UIs. Auto-load when editing *.tsx,*.jsx,*.css,*.scss. Use when building or modifying user-facing interfaces, creating components, implementing layouts, managing state, or when output needs to look production-quality rather than AI-generated. Risk: Medium."
4
+ ---
5
+
6
+ # Frontend UI Engineering
7
+
8
+ ## Overview
9
+
10
+ Build production-quality user interfaces that are accessible, performant, and visually polished. The goal is UI that looks like it was built by a design-aware engineer at a top company — not like it was generated by an AI. This means real design system adherence, proper accessibility, thoughtful interaction patterns, and no generic "AI aesthetic."
11
+
12
+ ## When to Use
13
+
14
+ - Building new UI components or pages
15
+ - Modifying existing user-facing interfaces
16
+ - Implementing responsive layouts
17
+ - Adding interactivity or state management
18
+ - Fixing visual or UX issues
19
+
20
+ ## When NOT to Use
21
+
22
+ - Backend/logic-only work with no user-facing surface — use `incremental-implementation` or domain skills
23
+ - Pure design-system/token work without implementation — use `design-system-audit` / `frontend-design`
24
+ - Throwaway prototypes where production quality doesn't matter
25
+ - The UI is already polished and the task is a non-visual change
26
+
27
+ ## Related Skills
28
+
29
+ This skill composes with others for a complete frontend quality pipeline:
30
+
31
+ | Skill | Relationship | When to combine |
32
+ |-------|-------------|-----------------|
33
+ | `frontend-design` | Sibling | `frontend-design` covers general UI patterns with React. `frontend-ui-engineering` adds production-quality standards (accessibility, AI-aesthetic avoidance). Load both for serious UI work. |
34
+ | `design-taste-frontend` | Upstream | Apply design-taste rules FIRST to establish the aesthetic baseline. Then use `frontend-ui-engineering` for implementation quality. |
35
+ | `react-best-practices` | Complement | Load when building React/Next.js components — covers performance-specific patterns (memo, useMemo, server components). |
36
+ | `accessibility-audit` | Gate | After building UI, run `accessibility-audit` to verify WCAG 2.1 AA compliance. |
37
+ | `performance-optimization` | Gate | After UI is working, profile with `performance-optimization` for Core Web Vitals. |
38
+ | `mockup-to-code` | Upstream | If converting from Figma/mockup, run `mockup-to-code` first, then refine with `frontend-ui-engineering`. |
39
+
40
+ **Pipeline:** `design-taste-frontend` → `frontend-ui-engineering` → `accessibility-audit` + `performance-optimization`
41
+
42
+ ## Component Architecture
43
+
44
+ ### File Structure
45
+
46
+ Colocate everything related to a component:
47
+
48
+ ```
49
+ src/components/
50
+ TaskList/
51
+ TaskList.tsx # Component implementation
52
+ TaskList.test.tsx # Tests
53
+ TaskList.stories.tsx # Storybook stories (if using)
54
+ use-task-list.ts # Custom hook (if complex state)
55
+ types.ts # Component-specific types (if needed)
56
+ ```
57
+
58
+ ### Component Patterns
59
+
60
+ **Prefer composition over configuration:**
61
+
62
+ ```tsx
63
+ // Good: Composable
64
+ <Card>
65
+ <CardHeader>
66
+ <CardTitle>Tasks</CardTitle>
67
+ </CardHeader>
68
+ <CardBody>
69
+ <TaskList tasks={tasks} />
70
+ </CardBody>
71
+ </Card>
72
+
73
+ // Avoid: Over-configured
74
+ <Card
75
+ title="Tasks"
76
+ headerVariant="large"
77
+ bodyPadding="md"
78
+ content={<TaskList tasks={tasks} />}
79
+ />
80
+ ```
81
+
82
+ **Keep components focused — one responsibility per component.**
83
+
84
+ **Separate data fetching from presentation:**
85
+ - Container components handle data (loading, error, empty states)
86
+ - Presentation components handle rendering
87
+
88
+ ## State Management
89
+
90
+ Choose the simplest approach that works:
91
+
92
+ ```
93
+ Local state (useState) → Component-specific UI state
94
+ Lifted state → Shared between 2-3 sibling components
95
+ Context → Theme, auth, locale (read-heavy, write-rare)
96
+ URL state (searchParams) → Filters, pagination, shareable UI state
97
+ Server state (React Query, SWR) → Remote data with caching
98
+ Global store (Zustand, Redux) → Complex client state shared app-wide
99
+ ```
100
+
101
+ **Avoid prop drilling deeper than 3 levels.** Use context or restructure.
102
+
103
+ ## Design System Adherence
104
+
105
+ ### Avoid the AI Aesthetic
106
+
107
+ AI-generated UI has recognizable patterns. Avoid all of them:
108
+
109
+ | AI Default | Production Quality |
110
+ |---|---|
111
+ | Purple/indigo everything | Use the project's actual color palette |
112
+ | Excessive gradients | Flat or subtle gradients matching the design system |
113
+ | Rounded everything (rounded-2xl) | Consistent border-radius from the design system |
114
+ | Generic hero sections | Content-first layouts |
115
+ | Lorem ipsum-style copy | Realistic placeholder content |
116
+ | Oversized padding everywhere | Consistent spacing scale |
117
+ | Stock card grids | Purpose-driven layouts |
118
+ | Shadow-heavy design | Subtle or no shadows unless design system specifies |
119
+
120
+ ### Spacing and Layout
121
+
122
+ Use a consistent spacing scale. Don't invent values:
123
+
124
+ ```css
125
+ /* Use the scale: 0.25rem increments */
126
+ /* Good */ padding: 1rem; /* 16px */
127
+ /* Good */ gap: 0.75rem; /* 12px */
128
+ /* Bad */ padding: 13px; /* Not on any scale */
129
+ ```
130
+
131
+ ### Typography
132
+
133
+ Respect type hierarchy: h1 (one per page) → h2 → h3 → body → small. Don't skip heading levels.
134
+
135
+ ### Color
136
+
137
+ - Use semantic color tokens (`text-primary`, `bg-surface`) — not raw hex values
138
+ - Ensure sufficient contrast (4.5:1 normal text, 3:1 large text)
139
+ - Don't rely solely on color for information (add icons, text, or patterns)
140
+
141
+ ## Accessibility (WCAG 2.1 AA)
142
+
143
+ ### Keyboard Navigation
144
+
145
+ Every interactive element must be keyboard accessible. Use native `<button>` and `<a>` — not `<div onClick>`.
146
+
147
+ ### ARIA Labels
148
+
149
+ ```tsx
150
+ // Icon-only buttons need aria-label
151
+ <button aria-label="Close dialog"><XIcon /></button>
152
+
153
+ // Form inputs need labels
154
+ <label htmlFor="email">Email</label>
155
+ <input id="email" type="email" />
156
+ ```
157
+
158
+ ### Focus Management
159
+
160
+ Trap focus inside modals while open, return focus on close. Move focus when content changes significantly.
161
+
162
+ ### Meaningful Empty and Error States
163
+
164
+ Never show blank screens. Every component must handle: loading state, empty state, error state, and the normal data state.
165
+
166
+ ## Responsive Design
167
+
168
+ Design for mobile first, then expand:
169
+
170
+ ```tsx
171
+ <div className="
172
+ grid grid-cols-1 /* Mobile: single column */
173
+ sm:grid-cols-2 /* Small: 2 columns */
174
+ lg:grid-cols-3 /* Large: 3 columns */
175
+ gap-4
176
+ ">
177
+ ```
178
+
179
+ Test at: 320px, 768px, 1024px, 1440px.
180
+
181
+ ## Loading and Transitions
182
+
183
+ - Use skeleton loading for content (not spinners)
184
+ - Use optimistic updates for perceived speed
185
+ - `aria-busy="true"` on loading regions
186
+ - Avoid layout shifts during loading (reserve space)
187
+
188
+ ## Common Rationalizations
189
+
190
+ | Rationalization | Reality |
191
+ |---|---|
192
+ | "Accessibility is a nice-to-have" | It's a legal requirement in many jurisdictions and an engineering quality standard. |
193
+ | "We'll make it responsive later" | Retrofitting responsive design is 3x harder than building it from the start. |
194
+ | "The design isn't final, so I'll skip styling" | Use the design system defaults. Unstyled UI creates a broken first impression. |
195
+ | "This is just a prototype" | Prototypes become production code. Build the foundation right. |
196
+ | "The AI aesthetic is fine for now" | It signals low quality. Use the project's actual design system from the start. |
197
+
198
+ ## Red Flags
199
+
200
+ - Components with more than 200 lines (split them)
201
+ - Inline styles or arbitrary pixel values
202
+ - Missing error states, loading states, or empty states
203
+ - No keyboard navigation testing
204
+ - Color as the sole indicator of state (red/green without text or icons)
205
+ - Generic "AI look" (purple gradients, oversized cards, stock layouts)
206
+
207
+ ## Verification
208
+
209
+ After building UI:
210
+
211
+ - [ ] Component renders without console errors
212
+ - [ ] All interactive elements are keyboard accessible (Tab through the page)
213
+ - [ ] Screen reader can convey the page's content and structure
214
+ - [ ] Responsive: works at 320px, 768px, 1024px, 1440px
215
+ - [ ] Loading, error, and empty states all handled
216
+ - [ ] Follows the project's design system (spacing, colors, typography)
217
+ - [ ] No accessibility warnings in dev tools or axe-core