cfsa-antigravity 3.0.2 → 3.1.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 (565) hide show
  1. package/README.md +27 -10
  2. package/bin/cli.mjs +7 -6
  3. package/package.json +1 -1
  4. package/template/.agent/PRDS/codex-runtime-support.md +2 -2
  5. package/template/.agent/TASKS/codex-runtime-support.md +2 -2
  6. package/template/.agent/instructions/workflow.md +3 -3
  7. package/template/.agent/kit-sync.md +3 -3
  8. package/template/.agent/rules/completion-checklist.md +3 -3
  9. package/template/.agent/skills/parallel-agents/SKILL.md +1 -1
  10. package/template/.agent/skills/session-continuity/SKILL.md +6 -6
  11. package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +1 -1
  12. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +3 -3
  13. package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +4 -4
  14. package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
  15. package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
  16. package/template/.agent/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
  17. package/template/.agent/workflows/create-prd-architecture.md +2 -2
  18. package/template/.agent/workflows/create-prd-design-system.md +2 -2
  19. package/template/.agent/workflows/create-prd-security.md +2 -2
  20. package/template/.agent/workflows/create-prd-stack.md +2 -2
  21. package/template/.agent/workflows/create-prd.md +2 -2
  22. package/template/.agent/workflows/decompose-architecture-validate.md +1 -1
  23. package/template/.agent/workflows/decompose-architecture.md +2 -2
  24. package/template/.agent/workflows/ideate.md +2 -2
  25. package/template/.agent/workflows/implement-slice-setup.md +1 -1
  26. package/template/.agent/workflows/implement-slice-tdd.md +3 -3
  27. package/template/.agent/workflows/implement-slice.md +2 -2
  28. package/template/.agent/workflows/plan-phase-preflight.md +2 -2
  29. package/template/.agent/workflows/plan-phase-write.md +2 -2
  30. package/template/.agent/workflows/plan-phase.md +2 -2
  31. package/template/.agent/workflows/setup-workspace.md +2 -2
  32. package/template/.agent/workflows/update-architecture-map.md +1 -1
  33. package/template/.agent/workflows/validate-phase-quality.md +1 -1
  34. package/template/.agent/workflows/validate-phase-readiness.md +2 -2
  35. package/template/.agent/workflows/validate-phase.md +2 -2
  36. package/template/.agent/workflows/verify-infrastructure.md +1 -1
  37. package/template/.agent/workflows/write-architecture-spec-deepen.md +3 -3
  38. package/template/.agent/workflows/write-architecture-spec-design.md +1 -1
  39. package/template/.agent/workflows/write-architecture-spec.md +3 -3
  40. package/template/.agent/workflows/write-be-spec-classify.md +1 -1
  41. package/template/.agent/workflows/write-be-spec-write.md +3 -3
  42. package/template/.agent/workflows/write-be-spec.md +3 -3
  43. package/template/.agent/workflows/write-fe-spec-classify.md +1 -1
  44. package/template/.agent/workflows/write-fe-spec-write.md +2 -2
  45. package/template/.agent/workflows/write-fe-spec.md +3 -3
  46. package/template/.claude/README.md +3 -1
  47. package/template/.claude/instructions/workflow.md +3 -3
  48. package/template/.claude/kit-sync.md +3 -3
  49. package/template/.claude/rules/completion-checklist.md +3 -3
  50. package/template/.claude/skills/parallel-agents/SKILL.md +1 -1
  51. package/template/.claude/skills/plan-phase/SKILL.md +2 -2
  52. package/template/.claude/skills/plan-phase-preflight/SKILL.md +2 -2
  53. package/template/.claude/skills/session-continuity/SKILL.md +6 -6
  54. package/template/.claude/skills/session-continuity/protocols/01-session-resumption.md +1 -1
  55. package/template/.claude/skills/session-continuity/protocols/02-progress-generation.md +3 -3
  56. package/template/.claude/skills/session-continuity/protocols/03-progress-update.md +4 -4
  57. package/template/.claude/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
  58. package/template/.claude/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
  59. package/template/.claude/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
  60. package/template/.claude/skills/setup/setup-cfsa.md +1 -1
  61. package/template/.claude/skills/write-architecture-spec/SKILL.md +2 -2
  62. package/template/.claude/skills/write-architecture-spec-deepen/SKILL.md +1 -1
  63. package/template/.claude/skills/write-architecture-spec-design/SKILL.md +1 -1
  64. package/template/.claude/skills/write-be-spec/SKILL.md +3 -3
  65. package/template/.claude/skills/write-be-spec-classify/SKILL.md +1 -1
  66. package/template/.claude/skills/write-be-spec-write/SKILL.md +1 -1
  67. package/template/.claude/skills/write-fe-spec/SKILL.md +3 -3
  68. package/template/.claude/skills/write-fe-spec-write/SKILL.md +1 -1
  69. package/template/.codex/README.md +99 -0
  70. package/template/.codex/instructions/commands.md +24 -0
  71. package/template/.codex/instructions/example.md +21 -0
  72. package/template/.codex/instructions/patterns.md +61 -0
  73. package/template/.codex/instructions/structure.md +29 -0
  74. package/template/.codex/instructions/tech-stack.md +93 -0
  75. package/template/.codex/instructions/workflow.md +64 -0
  76. package/template/.codex/kit-sync.md +6 -0
  77. package/template/.codex/rules/boundary-not-placeholder.md +146 -0
  78. package/template/.codex/rules/completion-checklist.md +60 -0
  79. package/template/.codex/rules/debug-by-test.md +49 -0
  80. package/template/.codex/rules/decision-classification.md +113 -0
  81. package/template/.codex/rules/extensibility.md +52 -0
  82. package/template/.codex/rules/memory-capture.md +84 -0
  83. package/template/.codex/rules/question-vs-command.md +91 -0
  84. package/template/.codex/rules/security-first.md +54 -0
  85. package/template/.codex/rules/single-question.md +59 -0
  86. package/template/.codex/rules/skill-mcp-first.md +45 -0
  87. package/template/.codex/rules/source-before-ask.md +93 -0
  88. package/template/.codex/rules/specificity-standards.md +64 -0
  89. package/template/.codex/rules/tdd-contract-first.md +67 -0
  90. package/template/.codex/rules/vertical-slices.md +83 -0
  91. package/template/.codex/skill-library/MANIFEST.md +498 -0
  92. package/template/.codex/skill-library/README.md +38 -0
  93. package/template/.codex/skill-library/meta/claude-code/README.md +9 -0
  94. package/template/.codex/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  95. package/template/.codex/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  96. package/template/.codex/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  97. package/template/.codex/skill-library/meta/mcp-builder/SKILL.md +236 -0
  98. package/template/.codex/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  99. package/template/.codex/skill-library/meta/tmux-processes/SKILL.md +210 -0
  100. package/template/.codex/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  101. package/template/.codex/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  102. package/template/.codex/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  103. package/template/.codex/skill-library/stack/ai/langchain/SKILL.md +530 -0
  104. package/template/.codex/skill-library/stack/ai/ollama/SKILL.md +321 -0
  105. package/template/.codex/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  106. package/template/.codex/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  107. package/template/.codex/skill-library/stack/api/graphql/SKILL.md +1061 -0
  108. package/template/.codex/skill-library/stack/api/trpc/SKILL.md +576 -0
  109. package/template/.codex/skill-library/stack/auth/authjs/SKILL.md +569 -0
  110. package/template/.codex/skill-library/stack/auth/clerk/SKILL.md +590 -0
  111. package/template/.codex/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  112. package/template/.codex/skill-library/stack/auth/lucia/SKILL.md +230 -0
  113. package/template/.codex/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
  114. package/template/.codex/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  115. package/template/.codex/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  116. package/template/.codex/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  117. package/template/.codex/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  118. package/template/.codex/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  119. package/template/.codex/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  120. package/template/.codex/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  121. package/template/.codex/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  122. package/template/.codex/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  123. package/template/.codex/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  124. package/template/.codex/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  125. package/template/.codex/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  126. package/template/.codex/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  127. package/template/.codex/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  128. package/template/.codex/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  129. package/template/.codex/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  130. package/template/.codex/skill-library/stack/databases/redis/SKILL.md +1079 -0
  131. package/template/.codex/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  132. package/template/.codex/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  133. package/template/.codex/skill-library/stack/databases/supabase/SKILL.md +640 -0
  134. package/template/.codex/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  135. package/template/.codex/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  136. package/template/.codex/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  137. package/template/.codex/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
  138. package/template/.codex/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
  139. package/template/.codex/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  140. package/template/.codex/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  141. package/template/.codex/skill-library/stack/devops/nginx/SKILL.md +841 -0
  142. package/template/.codex/skill-library/stack/devops/terraform/SKILL.md +860 -0
  143. package/template/.codex/skill-library/stack/email/resend/SKILL.md +391 -0
  144. package/template/.codex/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  145. package/template/.codex/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
  146. package/template/.codex/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  147. package/template/.codex/skill-library/stack/extensions/wxt/SKILL.md +216 -0
  148. package/template/.codex/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
  149. package/template/.codex/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
  150. package/template/.codex/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
  151. package/template/.codex/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  152. package/template/.codex/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  153. package/template/.codex/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  154. package/template/.codex/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  155. package/template/.codex/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  156. package/template/.codex/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  157. package/template/.codex/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  158. package/template/.codex/skill-library/stack/frameworks/svelte5/SKILL.md +81 -0
  159. package/template/.codex/skill-library/stack/frameworks/svelte5/references/events.md +353 -0
  160. package/template/.codex/skill-library/stack/frameworks/svelte5/references/migration.md +339 -0
  161. package/template/.codex/skill-library/stack/frameworks/svelte5/references/performance.md +443 -0
  162. package/template/.codex/skill-library/stack/frameworks/svelte5/references/runes.md +394 -0
  163. package/template/.codex/skill-library/stack/frameworks/svelte5/references/snippets.md +291 -0
  164. package/template/.codex/skill-library/stack/frameworks/svelte5/references/sveltekit.md +401 -0
  165. package/template/.codex/skill-library/stack/frameworks/svelte5/references/typescript.md +305 -0
  166. package/template/.codex/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  167. package/template/.codex/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  168. package/template/.codex/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  169. package/template/.codex/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  170. package/template/.codex/skill-library/stack/hosting/aws/SKILL.md +467 -0
  171. package/template/.codex/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  172. package/template/.codex/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  173. package/template/.codex/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  174. package/template/.codex/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  175. package/template/.codex/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  176. package/template/.codex/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  177. package/template/.codex/skill-library/stack/languages/go/SKILL.md +664 -0
  178. package/template/.codex/skill-library/stack/languages/java/SKILL.md +778 -0
  179. package/template/.codex/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  180. package/template/.codex/skill-library/stack/languages/python/SKILL.md +678 -0
  181. package/template/.codex/skill-library/stack/languages/rust/SKILL.md +673 -0
  182. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  183. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  184. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  185. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  186. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  187. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  188. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  189. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  190. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  191. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  192. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  193. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  194. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  195. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  196. package/template/.codex/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  197. package/template/.codex/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  198. package/template/.codex/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  199. package/template/.codex/skill-library/stack/messaging/nats/SKILL.md +147 -0
  200. package/template/.codex/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
  201. package/template/.codex/skill-library/stack/messaging/sqs/SKILL.md +187 -0
  202. package/template/.codex/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  203. package/template/.codex/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  204. package/template/.codex/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
  205. package/template/.codex/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  206. package/template/.codex/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
  207. package/template/.codex/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  208. package/template/.codex/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  209. package/template/.codex/skill-library/stack/notifications/fcm/SKILL.md +229 -0
  210. package/template/.codex/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
  211. package/template/.codex/skill-library/stack/notifications/twilio/SKILL.md +204 -0
  212. package/template/.codex/skill-library/stack/observability/datadog/SKILL.md +179 -0
  213. package/template/.codex/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  214. package/template/.codex/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  215. package/template/.codex/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  216. package/template/.codex/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  217. package/template/.codex/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  218. package/template/.codex/skill-library/stack/orm/prisma/SKILL.md +744 -0
  219. package/template/.codex/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  220. package/template/.codex/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  221. package/template/.codex/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  222. package/template/.codex/skill-library/stack/queue/inngest/SKILL.md +438 -0
  223. package/template/.codex/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  224. package/template/.codex/skill-library/stack/search/algolia/SKILL.md +206 -0
  225. package/template/.codex/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  226. package/template/.codex/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  227. package/template/.codex/skill-library/stack/search/typesense/SKILL.md +189 -0
  228. package/template/.codex/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  229. package/template/.codex/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  230. package/template/.codex/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  231. package/template/.codex/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  232. package/template/.codex/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  233. package/template/.codex/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  234. package/template/.codex/skill-library/stack/state/zustand/SKILL.md +483 -0
  235. package/template/.codex/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  236. package/template/.codex/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
  237. package/template/.codex/skill-library/stack/storage/gcs/SKILL.md +229 -0
  238. package/template/.codex/skill-library/stack/testing/playwright/SKILL.md +641 -0
  239. package/template/.codex/skill-library/stack/testing/storybook/SKILL.md +923 -0
  240. package/template/.codex/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  241. package/template/.codex/skill-library/stack/testing/vitest/SKILL.md +714 -0
  242. package/template/.codex/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  243. package/template/.codex/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  244. package/template/.codex/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  245. package/template/.codex/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  246. package/template/.codex/skill-library/stack/ui/svelte-flow/SKILL.md +390 -0
  247. package/template/.codex/skill-library/surface/api/api-caching/SKILL.md +458 -0
  248. package/template/.codex/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  249. package/template/.codex/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  250. package/template/.codex/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  251. package/template/.codex/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  252. package/template/.codex/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  253. package/template/.codex/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  254. package/template/.codex/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  255. package/template/.codex/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  256. package/template/.codex/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  257. package/template/.codex/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  258. package/template/.codex/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  259. package/template/.codex/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  260. package/template/.codex/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  261. package/template/.codex/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  262. package/template/.codex/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  263. package/template/.codex/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  264. package/template/.codex/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  265. package/template/.codex/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  266. package/template/.codex/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  267. package/template/.codex/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  268. package/template/.codex/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  269. package/template/.codex/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  270. package/template/.codex/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  271. package/template/.codex/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  272. package/template/.codex/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  273. package/template/.codex/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  274. package/template/.codex/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  275. package/template/.codex/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  276. package/template/.codex/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  277. package/template/.codex/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  278. package/template/.codex/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  279. package/template/.codex/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  280. package/template/.codex/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  281. package/template/.codex/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  282. package/template/.codex/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  283. package/template/.codex/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  284. package/template/.codex/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  285. package/template/.codex/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  286. package/template/.codex/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  287. package/template/.codex/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  288. package/template/.codex/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  289. package/template/.codex/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  290. package/template/.codex/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  291. package/template/.codex/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  292. package/template/.codex/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  293. package/template/.codex/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  294. package/template/.codex/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  295. package/template/.codex/skill-library/surface/web/i18n-localization/SKILL.md +332 -0
  296. package/template/.codex/skill-library/surface/web/i18n-localization/references/icu-message-format.md +223 -0
  297. package/template/.codex/skill-library/surface/web/i18n-localization/references/intl-api-patterns.md +326 -0
  298. package/template/.codex/skill-library/surface/web/i18n-localization/references/rtl-support.md +298 -0
  299. package/template/.codex/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  300. package/template/.codex/skill-library/surface/web/page-cro/SKILL.md +182 -0
  301. package/template/.codex/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  302. package/template/.codex/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  303. package/template/.codex/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  304. package/template/.codex/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  305. package/template/.codex/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  306. package/template/.codex/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  307. package/template/.codex/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  308. package/template/.codex/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  309. package/template/.codex/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  310. package/template/.codex/skills/README.md +78 -0
  311. package/template/.codex/skills/accessibility/SKILL.md +522 -0
  312. package/template/.codex/skills/accessibility/references/WCAG.md +162 -0
  313. package/template/.codex/skills/accessibility/references/ia-spec-checklist.md +35 -0
  314. package/template/.codex/skills/adversarial-review/SKILL.md +90 -0
  315. package/template/.codex/skills/antigravity-workflows/SKILL.md +81 -0
  316. package/template/.codex/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  317. package/template/.codex/skills/api-design-principles/SKILL.md +169 -0
  318. package/template/.codex/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  319. package/template/.codex/skills/api-design-principles/assets/rest-api-template.py +182 -0
  320. package/template/.codex/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  321. package/template/.codex/skills/api-design-principles/references/rest-best-practices.md +408 -0
  322. package/template/.codex/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  323. package/template/.codex/skills/api-versioning/SKILL.md +166 -0
  324. package/template/.codex/skills/api-versioning/references/typescript.md +157 -0
  325. package/template/.codex/skills/architecture-mapping/SKILL.md +219 -0
  326. package/template/.codex/skills/audit-ambiguity/SKILL.md +54 -0
  327. package/template/.codex/skills/audit-ambiguity-execute/SKILL.md +86 -0
  328. package/template/.codex/skills/audit-ambiguity-rubrics/SKILL.md +58 -0
  329. package/template/.codex/skills/bootstrap-agents/SKILL.md +258 -0
  330. package/template/.codex/skills/bootstrap-agents-fill/SKILL.md +25 -0
  331. package/template/.codex/skills/bootstrap-agents-provision/SKILL.md +22 -0
  332. package/template/.codex/skills/brainstorming/SKILL.md +177 -0
  333. package/template/.codex/skills/brand-guidelines/SKILL.md +44 -0
  334. package/template/.codex/skills/clean-code/SKILL.md +196 -0
  335. package/template/.codex/skills/clean-code/references/typescript.md +126 -0
  336. package/template/.codex/skills/code-review-pro/SKILL.md +152 -0
  337. package/template/.codex/skills/concise-planning/SKILL.md +107 -0
  338. package/template/.codex/skills/create-prd/SKILL.md +94 -0
  339. package/template/.codex/skills/create-prd-architecture/SKILL.md +72 -0
  340. package/template/.codex/skills/create-prd-compile/SKILL.md +85 -0
  341. package/template/.codex/skills/create-prd-design-system/SKILL.md +69 -0
  342. package/template/.codex/skills/create-prd-security/SKILL.md +66 -0
  343. package/template/.codex/skills/create-prd-stack/SKILL.md +84 -0
  344. package/template/.codex/skills/cross-layer-consistency/SKILL.md +117 -0
  345. package/template/.codex/skills/database-schema-design/SKILL.md +205 -0
  346. package/template/.codex/skills/database-schema-design/references/relational.md +228 -0
  347. package/template/.codex/skills/decompose-architecture/SKILL.md +72 -0
  348. package/template/.codex/skills/decompose-architecture-structure/SKILL.md +62 -0
  349. package/template/.codex/skills/decompose-architecture-validate/SKILL.md +72 -0
  350. package/template/.codex/skills/deployment-procedures/SKILL.md +241 -0
  351. package/template/.codex/skills/design-anti-cliche/SKILL.md +159 -0
  352. package/template/.codex/skills/design-direction/SKILL.md +45 -0
  353. package/template/.codex/skills/error-handling-patterns/SKILL.md +226 -0
  354. package/template/.codex/skills/error-handling-patterns/references/go.md +162 -0
  355. package/template/.codex/skills/error-handling-patterns/references/python.md +262 -0
  356. package/template/.codex/skills/error-handling-patterns/references/rust.md +112 -0
  357. package/template/.codex/skills/error-handling-patterns/references/typescript.md +178 -0
  358. package/template/.codex/skills/evolve-contract/SKILL.md +24 -0
  359. package/template/.codex/skills/evolve-feature/SKILL.md +18 -0
  360. package/template/.codex/skills/evolve-feature-cascade/SKILL.md +24 -0
  361. package/template/.codex/skills/evolve-feature-classify/SKILL.md +21 -0
  362. package/template/.codex/skills/find-skills/SKILL.md +145 -0
  363. package/template/.codex/skills/git-advanced/SKILL.md +972 -0
  364. package/template/.codex/skills/git-workflow/SKILL.md +420 -0
  365. package/template/.codex/skills/idea-extraction/SKILL.md +644 -0
  366. package/template/.codex/skills/ideate/SKILL.md +77 -0
  367. package/template/.codex/skills/ideate-discover/SKILL.md +89 -0
  368. package/template/.codex/skills/ideate-extract/SKILL.md +77 -0
  369. package/template/.codex/skills/ideate-validate/SKILL.md +75 -0
  370. package/template/.codex/skills/implement-slice/SKILL.md +64 -0
  371. package/template/.codex/skills/implement-slice-setup/SKILL.md +70 -0
  372. package/template/.codex/skills/implement-slice-tdd/SKILL.md +78 -0
  373. package/template/.codex/skills/logging-best-practices/SKILL.md +192 -0
  374. package/template/.codex/skills/logging-best-practices/references/go.md +49 -0
  375. package/template/.codex/skills/logging-best-practices/references/python.md +52 -0
  376. package/template/.codex/skills/logging-best-practices/references/typescript.md +215 -0
  377. package/template/.codex/skills/migration-management/SKILL.md +200 -0
  378. package/template/.codex/skills/migration-management/references/relational.md +214 -0
  379. package/template/.codex/skills/minimalist-surgical-development/SKILL.md +135 -0
  380. package/template/.codex/skills/parallel-agents/SKILL.md +165 -0
  381. package/template/.codex/skills/parallel-debugging/SKILL.md +135 -0
  382. package/template/.codex/skills/parallel-feature-development/SKILL.md +157 -0
  383. package/template/.codex/skills/performance-budgeting/SKILL.md +144 -0
  384. package/template/.codex/skills/pipeline-rubrics/SKILL.md +51 -0
  385. package/template/.codex/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  386. package/template/.codex/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  387. package/template/.codex/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  388. package/template/.codex/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  389. package/template/.codex/skills/pipeline-rubrics/references/scoring.md +32 -0
  390. package/template/.codex/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
  391. package/template/.codex/skills/plan-phase/SKILL.md +62 -0
  392. package/template/.codex/skills/plan-phase-preflight/SKILL.md +75 -0
  393. package/template/.codex/skills/plan-phase-write/SKILL.md +85 -0
  394. package/template/.codex/skills/prd-templates/SKILL.md +107 -0
  395. package/template/.codex/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
  396. package/template/.codex/skills/prd-templates/references/architecture-design-template.md +88 -0
  397. package/template/.codex/skills/prd-templates/references/be-spec-classification.md +41 -0
  398. package/template/.codex/skills/prd-templates/references/be-spec-template.md +107 -0
  399. package/template/.codex/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
  400. package/template/.codex/skills/prd-templates/references/constraint-exploration.md +41 -0
  401. package/template/.codex/skills/prd-templates/references/data-placement-template.md +74 -0
  402. package/template/.codex/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
  403. package/template/.codex/skills/prd-templates/references/decision-propagation.md +121 -0
  404. package/template/.codex/skills/prd-templates/references/decomposition-templates.md +226 -0
  405. package/template/.codex/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
  406. package/template/.codex/skills/prd-templates/references/design-system-decisions.md +198 -0
  407. package/template/.codex/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
  408. package/template/.codex/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
  409. package/template/.codex/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
  410. package/template/.codex/skills/prd-templates/references/engineering-standards-template.md +126 -0
  411. package/template/.codex/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
  412. package/template/.codex/skills/prd-templates/references/expansion-modes.md +27 -0
  413. package/template/.codex/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  414. package/template/.codex/skills/prd-templates/references/fe-spec-template.md +90 -0
  415. package/template/.codex/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
  416. package/template/.codex/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
  417. package/template/.codex/skills/prd-templates/references/fractal-cx-template.md +58 -0
  418. package/template/.codex/skills/prd-templates/references/fractal-feature-template.md +93 -0
  419. package/template/.codex/skills/prd-templates/references/fractal-node-index-template.md +55 -0
  420. package/template/.codex/skills/prd-templates/references/gate-applicability.md +92 -0
  421. package/template/.codex/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
  422. package/template/.codex/skills/prd-templates/references/ideation-index-template.md +111 -0
  423. package/template/.codex/skills/prd-templates/references/ideation-meta-template.md +126 -0
  424. package/template/.codex/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  425. package/template/.codex/skills/prd-templates/references/input-classification.md +23 -0
  426. package/template/.codex/skills/prd-templates/references/map-guard-protocol.md +65 -0
  427. package/template/.codex/skills/prd-templates/references/operational-templates.md +116 -0
  428. package/template/.codex/skills/prd-templates/references/persona-completeness-gate.md +20 -0
  429. package/template/.codex/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  430. package/template/.codex/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
  431. package/template/.codex/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
  432. package/template/.codex/skills/prd-templates/references/shard-split-remediation.md +157 -0
  433. package/template/.codex/skills/prd-templates/references/skill-loading-protocol.md +36 -0
  434. package/template/.codex/skills/prd-templates/references/slice-completion-gates.md +29 -0
  435. package/template/.codex/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
  436. package/template/.codex/skills/prd-templates/references/surface-model.md +61 -0
  437. package/template/.codex/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  438. package/template/.codex/skills/prd-templates/references/vision-template.md +57 -0
  439. package/template/.codex/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
  440. package/template/.codex/skills/prd-templates/references/write-verification-protocol.md +57 -0
  441. package/template/.codex/skills/prompt-engineer/SKILL.md +203 -0
  442. package/template/.codex/skills/propagate-decision/SKILL.md +18 -0
  443. package/template/.codex/skills/propagate-decision-apply/SKILL.md +22 -0
  444. package/template/.codex/skills/propagate-decision-scan/SKILL.md +20 -0
  445. package/template/.codex/skills/regex-patterns/SKILL.md +333 -0
  446. package/template/.codex/skills/regex-patterns/references/go.md +44 -0
  447. package/template/.codex/skills/regex-patterns/references/javascript.md +63 -0
  448. package/template/.codex/skills/regex-patterns/references/python.md +77 -0
  449. package/template/.codex/skills/regex-patterns/references/rust.md +43 -0
  450. package/template/.codex/skills/remediate-pipeline/SKILL.md +18 -0
  451. package/template/.codex/skills/remediate-pipeline-assess/SKILL.md +21 -0
  452. package/template/.codex/skills/remediate-pipeline-execute/SKILL.md +23 -0
  453. package/template/.codex/skills/remediate-shard-split/SKILL.md +21 -0
  454. package/template/.codex/skills/resolve-ambiguity/SKILL.md +278 -0
  455. package/template/.codex/skills/security-scanning-security-hardening/SKILL.md +231 -0
  456. package/template/.codex/skills/session-continuity/SKILL.md +732 -0
  457. package/template/.codex/skills/session-continuity/protocols/01-session-resumption.md +38 -0
  458. package/template/.codex/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  459. package/template/.codex/skills/session-continuity/protocols/03-progress-update.md +70 -0
  460. package/template/.codex/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  461. package/template/.codex/skills/session-continuity/protocols/05-session-close.md +37 -0
  462. package/template/.codex/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  463. package/template/.codex/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  464. package/template/.codex/skills/session-continuity/protocols/08-spec-pipeline-update.md +65 -0
  465. package/template/.codex/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  466. package/template/.codex/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
  467. package/template/.codex/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
  468. package/template/.codex/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  469. package/template/.codex/skills/setup/README.md +24 -0
  470. package/template/.codex/skills/setup/setup-cfsa.md +200 -0
  471. package/template/.codex/skills/setup/setup-fill-placeholders.md +192 -0
  472. package/template/.codex/skills/setup/setup-provision-skills.md +82 -0
  473. package/template/.codex/skills/setup/setup-verify.md +89 -0
  474. package/template/.codex/skills/setup-workspace/SKILL.md +83 -0
  475. package/template/.codex/skills/setup-workspace-cicd/SKILL.md +56 -0
  476. package/template/.codex/skills/setup-workspace-data/SKILL.md +69 -0
  477. package/template/.codex/skills/setup-workspace-hosting/SKILL.md +59 -0
  478. package/template/.codex/skills/setup-workspace-scaffold/SKILL.md +72 -0
  479. package/template/.codex/skills/skill-creator/SKILL.md +203 -0
  480. package/template/.codex/skills/spec-writing/SKILL.md +110 -0
  481. package/template/.codex/skills/sync-kit/SKILL.md +23 -0
  482. package/template/.codex/skills/systematic-debugging/CREATION-LOG.md +119 -0
  483. package/template/.codex/skills/systematic-debugging/SKILL.md +297 -0
  484. package/template/.codex/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  485. package/template/.codex/skills/systematic-debugging/condition-based-waiting.md +115 -0
  486. package/template/.codex/skills/systematic-debugging/defense-in-depth.md +122 -0
  487. package/template/.codex/skills/systematic-debugging/find-polluter.sh +63 -0
  488. package/template/.codex/skills/systematic-debugging/root-cause-tracing.md +169 -0
  489. package/template/.codex/skills/systematic-debugging/test-academic.md +14 -0
  490. package/template/.codex/skills/systematic-debugging/test-pressure-1.md +58 -0
  491. package/template/.codex/skills/systematic-debugging/test-pressure-2.md +68 -0
  492. package/template/.codex/skills/systematic-debugging/test-pressure-3.md +69 -0
  493. package/template/.codex/skills/tdd-workflow/SKILL.md +186 -0
  494. package/template/.codex/skills/tdd-workflow/references/typescript.md +231 -0
  495. package/template/.codex/skills/tech-stack-catalog/SKILL.md +49 -0
  496. package/template/.codex/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
  497. package/template/.codex/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  498. package/template/.codex/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  499. package/template/.codex/skills/technical-writer/SKILL.md +242 -0
  500. package/template/.codex/skills/testing-strategist/SKILL.md +319 -0
  501. package/template/.codex/skills/testing-strategist/references/typescript.md +328 -0
  502. package/template/.codex/skills/update-architecture-map/SKILL.md +21 -0
  503. package/template/.codex/skills/utilities/resolve-skill.md +195 -0
  504. package/template/.codex/skills/validate-phase/SKILL.md +62 -0
  505. package/template/.codex/skills/validate-phase-quality/SKILL.md +67 -0
  506. package/template/.codex/skills/validate-phase-readiness/SKILL.md +74 -0
  507. package/template/.codex/skills/verification-before-completion/SKILL.md +97 -0
  508. package/template/.codex/skills/verify-infrastructure/SKILL.md +25 -0
  509. package/template/.codex/skills/workflow-automation/SKILL.md +166 -0
  510. package/template/.codex/skills/workflow-automation/references/inngest.md +88 -0
  511. package/template/.codex/skills/workflow-automation/references/temporal.md +64 -0
  512. package/template/.codex/skills/write-architecture-spec/SKILL.md +78 -0
  513. package/template/.codex/skills/write-architecture-spec-deepen/SKILL.md +82 -0
  514. package/template/.codex/skills/write-architecture-spec-design/SKILL.md +80 -0
  515. package/template/.codex/skills/write-be-spec/SKILL.md +75 -0
  516. package/template/.codex/skills/write-be-spec-classify/SKILL.md +80 -0
  517. package/template/.codex/skills/write-be-spec-write/SKILL.md +99 -0
  518. package/template/.codex/skills/write-fe-spec/SKILL.md +79 -0
  519. package/template/.codex/skills/write-fe-spec-classify/SKILL.md +77 -0
  520. package/template/.codex/skills/write-fe-spec-write/SKILL.md +88 -0
  521. package/template/.factory/README.md +2 -3
  522. package/template/.factory/instructions/workflow.md +3 -3
  523. package/template/.factory/kit-sync.md +3 -3
  524. package/template/.factory/skills/completion-checklist/SKILL.md +3 -3
  525. package/template/.factory/skills/parallel-agents/SKILL.md +1 -1
  526. package/template/.factory/skills/plan-phase/SKILL.md +2 -2
  527. package/template/.factory/skills/plan-phase-preflight/SKILL.md +2 -2
  528. package/template/.factory/skills/session-continuity/SKILL.md +6 -6
  529. package/template/.factory/skills/session-continuity/protocols/01-session-resumption.md +1 -1
  530. package/template/.factory/skills/session-continuity/protocols/02-progress-generation.md +3 -3
  531. package/template/.factory/skills/session-continuity/protocols/03-progress-update.md +4 -4
  532. package/template/.factory/skills/session-continuity/protocols/07-spec-pipeline-generation.md +1 -1
  533. package/template/.factory/skills/session-continuity/protocols/08-spec-pipeline-update.md +2 -2
  534. package/template/.factory/skills/session-continuity/protocols/11-parallel-synthesis.md +1 -1
  535. package/template/.factory/skills/setup-cfsa/SKILL.md +1 -1
  536. package/template/.factory/skills/write-architecture-spec/SKILL.md +2 -2
  537. package/template/.factory/skills/write-architecture-spec-deepen/SKILL.md +1 -1
  538. package/template/.factory/skills/write-architecture-spec-design/SKILL.md +1 -1
  539. package/template/.factory/skills/write-be-spec/SKILL.md +3 -3
  540. package/template/.factory/skills/write-be-spec-classify/SKILL.md +1 -1
  541. package/template/.factory/skills/write-be-spec-write/SKILL.md +1 -1
  542. package/template/.factory/skills/write-fe-spec/SKILL.md +3 -3
  543. package/template/.factory/skills/write-fe-spec-write/SKILL.md +1 -1
  544. package/template/.memory/README.md +1 -0
  545. package/template/.memory/mcp-server/README.md +10 -2
  546. package/template/.memory/mcp-server/client.mjs +61 -18
  547. package/template/.memory/mcp-server/daemon.mjs +8 -3
  548. package/template/.memory/mcp-server/runtime.mjs +51 -14
  549. package/template/.memory/mcp-server/start.mjs +4 -2
  550. package/template/.memory/migrate/migrate-legacy.mjs +1 -0
  551. package/template/.memory/pipeline/README.md +1 -0
  552. package/template/CLAUDE.md +4 -4
  553. package/template/CODEX.md +6 -53
  554. package/template/GEMINI.md +2 -2
  555. package/template/docs/README.md +5 -2
  556. package/template/docs/kit-architecture.md +36 -19
  557. package/template/docs/progress-state-catalog.md +48 -0
  558. package/template/.factory/progress/memory/.gitkeep +0 -0
  559. /package/template/{.agent/progress → .codex/skills/skill-creator/references}/.gitkeep +0 -0
  560. /package/template/{.agent/progress/memory → .codex/skills/skill-creator/scripts}/.gitkeep +0 -0
  561. /package/template/{.agent/progress/sessions → .memory/pipeline/progress}/.gitkeep +0 -0
  562. /package/template/{.claude/progress → .memory/pipeline/progress/memory}/.gitkeep +0 -0
  563. /package/template/{.claude/progress/memory → .memory/pipeline/progress/phases}/.gitkeep +0 -0
  564. /package/template/{.claude → .memory/pipeline}/progress/sessions/.gitkeep +0 -0
  565. /package/template/{.factory/progress → .memory/pipeline/progress/slices}/.gitkeep +0 -0
@@ -0,0 +1,1078 @@
1
+ ---
2
+ name: vanilla-css
3
+ description: Provides comprehensive modern vanilla CSS patterns (2024+) including custom properties, container queries, cascade layers, :has() selector, native nesting, @scope, color-mix(), oklch colors, scroll-driven animations, view transitions, logical properties, subgrid, anchor positioning, popover API, @property, media queries, CSS reset best practices, BEM methodology, and progressive enhancement strategies. Use when building stylesheets without a preprocessor or framework.
4
+ version: 1.0.0
5
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash
6
+ ---
7
+
8
+ # Modern Vanilla CSS Development Patterns
9
+
10
+ ## Overview
11
+
12
+ Expert guide for building production-quality stylesheets with modern vanilla CSS (2024+). Covers native features that replace preprocessors: nesting, custom properties, cascade layers, container queries, and more. No build step required for most features.
13
+
14
+ ## When to Use
15
+
16
+ - Building stylesheets without a CSS preprocessor or utility framework
17
+ - Leveraging native CSS features that replace Sass/Less functionality
18
+ - Creating themeable design systems with custom properties
19
+ - Implementing responsive component-based layouts with container queries
20
+ - Building accessible, performant interfaces with progressive enhancement
21
+ - Styling web components or shadow DOM content
22
+ - Projects where minimal tooling and long-term maintainability matter
23
+
24
+ ## Instructions
25
+
26
+ 1. **Use cascade layers** to organize specificity and avoid wars
27
+ 2. **Use custom properties** for all design tokens (colors, spacing, typography)
28
+ 3. **Use native nesting** instead of preprocessor nesting (max 3 levels)
29
+ 4. **Use container queries** for component-level responsiveness
30
+ 5. **Use logical properties** instead of physical (inline/block, not left/right)
31
+ 6. **Use oklch** for perceptually uniform color manipulation
32
+ 7. **Progressive enhancement**: core layout works without newest features
33
+
34
+ ## Examples
35
+
36
+ ### Complete Modern Stylesheet Architecture
37
+
38
+ ```css
39
+ /* === 1. Cascade Layers === */
40
+ @layer reset, tokens, base, layout, components, utilities, overrides;
41
+
42
+ /* === 2. Reset Layer === */
43
+ @layer reset {
44
+ *,
45
+ *::before,
46
+ *::after {
47
+ box-sizing: border-box;
48
+ margin: 0;
49
+ padding: 0;
50
+ }
51
+
52
+ html {
53
+ -webkit-text-size-adjust: none;
54
+ text-size-adjust: none;
55
+ scroll-behavior: smooth;
56
+ }
57
+
58
+ body {
59
+ min-block-size: 100dvh;
60
+ line-height: 1.5;
61
+ -webkit-font-smoothing: antialiased;
62
+ }
63
+
64
+ img, picture, video, canvas, svg {
65
+ display: block;
66
+ max-inline-size: 100%;
67
+ }
68
+
69
+ input, button, textarea, select {
70
+ font: inherit;
71
+ color: inherit;
72
+ }
73
+
74
+ p, h1, h2, h3, h4, h5, h6 {
75
+ overflow-wrap: break-word;
76
+ }
77
+ }
78
+
79
+ /* === 3. Design Tokens Layer === */
80
+ @layer tokens {
81
+ :root {
82
+ /* --- Color Palette (oklch) --- */
83
+ --color-primary: oklch(55% 0.25 265);
84
+ --color-primary-light: oklch(70% 0.2 265);
85
+ --color-primary-dark: oklch(40% 0.25 265);
86
+ --color-secondary: oklch(65% 0.15 160);
87
+
88
+ --color-surface: oklch(99% 0 0);
89
+ --color-surface-raised: oklch(97% 0 0);
90
+ --color-surface-sunken: oklch(95% 0 0);
91
+
92
+ --color-text: oklch(20% 0 0);
93
+ --color-text-muted: oklch(45% 0 0);
94
+ --color-text-on-primary: oklch(98% 0 0);
95
+
96
+ --color-border: oklch(85% 0 0);
97
+ --color-focus-ring: oklch(65% 0.25 265 / 0.5);
98
+
99
+ --color-success: oklch(60% 0.2 145);
100
+ --color-warning: oklch(75% 0.15 85);
101
+ --color-error: oklch(55% 0.25 25);
102
+
103
+ /* --- Spacing Scale --- */
104
+ --space-xs: 0.25rem;
105
+ --space-sm: 0.5rem;
106
+ --space-md: 1rem;
107
+ --space-lg: 1.5rem;
108
+ --space-xl: 2rem;
109
+ --space-2xl: 3rem;
110
+ --space-3xl: 4rem;
111
+
112
+ /* --- Typography --- */
113
+ --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
114
+ --font-mono: ui-monospace, "Cascadia Code", "Fira Code", monospace;
115
+
116
+ --text-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);
117
+ --text-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);
118
+ --text-base: clamp(0.95rem, 0.9rem + 0.25vw, 1rem);
119
+ --text-lg: clamp(1.1rem, 1rem + 0.5vw, 1.25rem);
120
+ --text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
121
+ --text-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
122
+ --text-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);
123
+
124
+ /* --- Border Radius --- */
125
+ --radius-sm: 0.25rem;
126
+ --radius-md: 0.5rem;
127
+ --radius-lg: 0.75rem;
128
+ --radius-full: 9999px;
129
+
130
+ /* --- Shadows --- */
131
+ --shadow-sm: 0 1px 2px oklch(0% 0 0 / 0.05);
132
+ --shadow-md: 0 4px 6px oklch(0% 0 0 / 0.07),
133
+ 0 2px 4px oklch(0% 0 0 / 0.05);
134
+ --shadow-lg: 0 10px 15px oklch(0% 0 0 / 0.1),
135
+ 0 4px 6px oklch(0% 0 0 / 0.05);
136
+
137
+ /* --- Transitions --- */
138
+ --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
139
+ --duration-fast: 150ms;
140
+ --duration-normal: 250ms;
141
+ --duration-slow: 400ms;
142
+
143
+ /* --- Z-Index Scale --- */
144
+ --z-dropdown: 100;
145
+ --z-sticky: 200;
146
+ --z-overlay: 300;
147
+ --z-modal: 400;
148
+ --z-popover: 500;
149
+ --z-toast: 600;
150
+ }
151
+ }
152
+ ```
153
+
154
+ ## Constraints and Warnings
155
+
156
+ - **Browser support**: Check caniuse.com for :has(), @layer, container queries, oklch
157
+ - **Native nesting**: Supported in all modern browsers but not IE or older Safari
158
+ - **Anchor positioning**: Still limited browser support as of 2024
159
+ - **Scroll-driven animations**: Chrome/Edge only as of late 2024
160
+ - **View transitions**: Same-document supported widely; cross-document is newer
161
+ - **@scope**: Limited browser support; use as progressive enhancement
162
+ - **@property**: Supported in Chromium and Safari 15.4+, Firefox 128+
163
+ - **No fallback = broken**: Always provide fallback for cutting-edge features
164
+
165
+ ## Core Concepts
166
+
167
+ ### Custom Properties (CSS Variables)
168
+
169
+ Custom properties cascade and can be scoped to any selector:
170
+
171
+ ```css
172
+ /* Global tokens */
173
+ :root {
174
+ --brand-hue: 265;
175
+ --brand-color: oklch(55% 0.25 var(--brand-hue));
176
+ }
177
+
178
+ /* Component-scoped overrides */
179
+ .card {
180
+ --card-padding: var(--space-lg);
181
+ --card-radius: var(--radius-md);
182
+
183
+ padding: var(--card-padding);
184
+ border-radius: var(--card-radius);
185
+ background: var(--color-surface-raised);
186
+ }
187
+
188
+ .card--compact {
189
+ --card-padding: var(--space-sm);
190
+ --card-radius: var(--radius-sm);
191
+ }
192
+ ```
193
+
194
+ ### Dark Mode Theming
195
+
196
+ ```css
197
+ @layer tokens {
198
+ :root {
199
+ color-scheme: light dark;
200
+
201
+ --color-surface: oklch(99% 0 0);
202
+ --color-text: oklch(20% 0 0);
203
+ --color-border: oklch(85% 0 0);
204
+ }
205
+
206
+ @media (prefers-color-scheme: dark) {
207
+ :root {
208
+ --color-surface: oklch(15% 0 0);
209
+ --color-text: oklch(90% 0 0);
210
+ --color-border: oklch(30% 0 0);
211
+ }
212
+ }
213
+
214
+ /* Class-based override for manual toggle */
215
+ [data-theme="dark"] {
216
+ --color-surface: oklch(15% 0 0);
217
+ --color-text: oklch(90% 0 0);
218
+ --color-border: oklch(30% 0 0);
219
+ }
220
+ }
221
+ ```
222
+
223
+ ### Cascade Layers (@layer)
224
+
225
+ Layers control specificity order regardless of selector weight:
226
+
227
+ ```css
228
+ /* Declaration order sets priority (last wins) */
229
+ @layer reset, base, components, utilities;
230
+
231
+ @layer reset {
232
+ /* Lowest priority -- easily overridden */
233
+ a { color: inherit; text-decoration: none; }
234
+ }
235
+
236
+ @layer base {
237
+ a { color: var(--color-primary); }
238
+ }
239
+
240
+ @layer components {
241
+ .nav__link { color: var(--color-text); }
242
+ }
243
+
244
+ @layer utilities {
245
+ /* Highest priority among layers */
246
+ .text-primary { color: var(--color-primary); }
247
+ }
248
+
249
+ /* Unlayered styles beat ALL layers */
250
+ ```
251
+
252
+ ### Native CSS Nesting
253
+
254
+ ```css
255
+ .card {
256
+ background: var(--color-surface-raised);
257
+ border: 1px solid var(--color-border);
258
+ border-radius: var(--radius-md);
259
+
260
+ /* Direct child nesting */
261
+ & .card__header {
262
+ padding: var(--space-md);
263
+ border-block-end: 1px solid var(--color-border);
264
+ }
265
+
266
+ & .card__body {
267
+ padding: var(--space-lg);
268
+ }
269
+
270
+ /* Pseudo-classes */
271
+ &:hover {
272
+ box-shadow: var(--shadow-md);
273
+ }
274
+
275
+ &:focus-within {
276
+ outline: 2px solid var(--color-focus-ring);
277
+ }
278
+
279
+ /* Media queries nest inside selectors */
280
+ @media (width >= 768px) {
281
+ display: grid;
282
+ grid-template-columns: 200px 1fr;
283
+ }
284
+ }
285
+ ```
286
+
287
+ ### Container Queries
288
+
289
+ ```css
290
+ /* Define a containment context */
291
+ .widget-container {
292
+ container-type: inline-size;
293
+ container-name: widget;
294
+ }
295
+
296
+ /* Respond to the container's size, not the viewport */
297
+ .widget {
298
+ display: grid;
299
+ gap: var(--space-sm);
300
+
301
+ @container widget (inline-size >= 400px) {
302
+ grid-template-columns: 1fr 1fr;
303
+ gap: var(--space-md);
304
+ }
305
+
306
+ @container widget (inline-size >= 700px) {
307
+ grid-template-columns: 1fr 1fr 1fr;
308
+ gap: var(--space-lg);
309
+ }
310
+ }
311
+ ```
312
+
313
+ ### The :has() Selector
314
+
315
+ The parent selector -- style an element based on its contents:
316
+
317
+ ```css
318
+ /* Card that contains an image gets different layout */
319
+ .card:has(> img) {
320
+ padding: 0;
321
+
322
+ & img {
323
+ border-radius: var(--radius-md) var(--radius-md) 0 0;
324
+ }
325
+ }
326
+
327
+ /* Form group with invalid input */
328
+ .form-group:has(:invalid) {
329
+ & .form-group__label {
330
+ color: var(--color-error);
331
+ }
332
+
333
+ & .form-group__message {
334
+ display: block;
335
+ }
336
+ }
337
+
338
+ /* Style a label when its associated checkbox is checked */
339
+ label:has(input[type="checkbox"]:checked) {
340
+ background: var(--color-primary-light);
341
+ }
342
+
343
+ /* Navigation link that is the current page */
344
+ .nav:has(.nav__link[aria-current="page"]) {
345
+ border-block-end-color: var(--color-primary);
346
+ }
347
+ ```
348
+
349
+ ### @scope
350
+
351
+ Limit where styles apply without increasing specificity:
352
+
353
+ ```css
354
+ @scope (.card) to (.card__footer) {
355
+ /* Styles apply inside .card but NOT inside .card__footer */
356
+ a {
357
+ color: var(--color-primary);
358
+ text-decoration: underline;
359
+ }
360
+ }
361
+
362
+ @scope ([data-theme="admin"]) {
363
+ .btn {
364
+ --btn-bg: oklch(45% 0.2 25);
365
+ }
366
+ }
367
+ ```
368
+
369
+ ### color-mix() and oklch Colors
370
+
371
+ ```css
372
+ :root {
373
+ --brand: oklch(55% 0.25 265);
374
+
375
+ /* Generate tints and shades */
376
+ --brand-100: color-mix(in oklch, var(--brand) 10%, white);
377
+ --brand-200: color-mix(in oklch, var(--brand) 25%, white);
378
+ --brand-300: color-mix(in oklch, var(--brand) 40%, white);
379
+ --brand-500: var(--brand);
380
+ --brand-700: color-mix(in oklch, var(--brand) 70%, black);
381
+ --brand-900: color-mix(in oklch, var(--brand) 40%, black);
382
+
383
+ /* Semi-transparent variants */
384
+ --brand-overlay: color-mix(in oklch, var(--brand) 15%, transparent);
385
+
386
+ /* Mix two brand colors */
387
+ --accent: color-mix(in oklch, var(--brand) 50%, oklch(70% 0.2 145));
388
+ }
389
+ ```
390
+
391
+ ### @property (Typed Custom Properties)
392
+
393
+ ```css
394
+ /* Register a custom property with type, inheritance, and initial value */
395
+ @property --gradient-angle {
396
+ syntax: "<angle>";
397
+ inherits: false;
398
+ initial-value: 0deg;
399
+ }
400
+
401
+ @property --color-progress {
402
+ syntax: "<percentage>";
403
+ inherits: true;
404
+ initial-value: 0%;
405
+ }
406
+
407
+ /* Now you can animate custom properties */
408
+ .gradient-spinner {
409
+ background: conic-gradient(
410
+ from var(--gradient-angle),
411
+ var(--color-primary),
412
+ var(--color-secondary),
413
+ var(--color-primary)
414
+ );
415
+ animation: spin-gradient 3s linear infinite;
416
+ }
417
+
418
+ @keyframes spin-gradient {
419
+ to {
420
+ --gradient-angle: 360deg;
421
+ }
422
+ }
423
+ ```
424
+
425
+ ### Logical Properties
426
+
427
+ Replace physical properties (top/right/bottom/left) with flow-relative ones:
428
+
429
+ ```css
430
+ /* Physical (breaks in RTL) */
431
+ .card-old {
432
+ margin-left: 1rem;
433
+ padding-top: 0.5rem;
434
+ border-right: 1px solid gray;
435
+ text-align: left;
436
+ }
437
+
438
+ /* Logical (works in LTR and RTL) */
439
+ .card {
440
+ margin-inline-start: 1rem;
441
+ padding-block-start: 0.5rem;
442
+ border-inline-end: 1px solid var(--color-border);
443
+ text-align: start;
444
+ }
445
+
446
+ /* Common logical property mappings:
447
+ left/right -> inline-start/inline-end
448
+ top/bottom -> block-start/block-end
449
+ width -> inline-size
450
+ height -> block-size
451
+ margin-left -> margin-inline-start
452
+ padding-top -> padding-block-start
453
+ border-bottom -> border-block-end
454
+ text-align: left -> text-align: start
455
+ */
456
+
457
+ .container {
458
+ max-inline-size: 1200px;
459
+ margin-inline: auto;
460
+ padding-inline: var(--space-md);
461
+ padding-block: var(--space-xl);
462
+ }
463
+ ```
464
+
465
+ ### Subgrid
466
+
467
+ ```css
468
+ .page-grid {
469
+ display: grid;
470
+ grid-template-columns:
471
+ [full-start] minmax(var(--space-md), 1fr)
472
+ [content-start] min(65ch, 100%)
473
+ [content-end] minmax(var(--space-md), 1fr)
474
+ [full-end];
475
+ }
476
+
477
+ /* Children inherit the parent grid tracks */
478
+ .page-grid > .card {
479
+ grid-column: content;
480
+ display: grid;
481
+ grid-template-columns: subgrid;
482
+
483
+ & .card__title,
484
+ & .card__body {
485
+ grid-column: content;
486
+ }
487
+ }
488
+
489
+ /* Subgrid for aligned card layouts */
490
+ .card-list {
491
+ display: grid;
492
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
493
+ gap: var(--space-lg);
494
+ }
495
+
496
+ .card-list > .card {
497
+ display: grid;
498
+ grid-template-rows: subgrid;
499
+ grid-row: span 3; /* header, body, footer */
500
+ }
501
+ ```
502
+
503
+ ### Anchor Positioning
504
+
505
+ ```css
506
+ /* Define an anchor */
507
+ .trigger {
508
+ anchor-name: --tooltip-anchor;
509
+ }
510
+
511
+ /* Position relative to the anchor */
512
+ .tooltip {
513
+ position: fixed;
514
+ position-anchor: --tooltip-anchor;
515
+ inset-area: top;
516
+ margin-block-end: var(--space-xs);
517
+
518
+ /* Fallback if not enough space */
519
+ position-try-fallbacks: flip-block, flip-inline;
520
+ }
521
+ ```
522
+
523
+ ### Popover API
524
+
525
+ ```css
526
+ /* Style the popover */
527
+ [popover] {
528
+ border: 1px solid var(--color-border);
529
+ border-radius: var(--radius-md);
530
+ padding: var(--space-lg);
531
+ box-shadow: var(--shadow-lg);
532
+ max-inline-size: 400px;
533
+
534
+ /* Entry animation */
535
+ opacity: 0;
536
+ transform: translateY(-8px);
537
+ transition:
538
+ opacity var(--duration-normal) var(--ease-out),
539
+ transform var(--duration-normal) var(--ease-out),
540
+ display var(--duration-normal) var(--ease-out) allow-discrete,
541
+ overlay var(--duration-normal) var(--ease-out) allow-discrete;
542
+
543
+ &:popover-open {
544
+ opacity: 1;
545
+ transform: translateY(0);
546
+ }
547
+
548
+ /* Starting style for entry animation */
549
+ @starting-style {
550
+ &:popover-open {
551
+ opacity: 0;
552
+ transform: translateY(-8px);
553
+ }
554
+ }
555
+ }
556
+
557
+ /* Style the backdrop */
558
+ [popover]::backdrop {
559
+ background: oklch(0% 0 0 / 0.3);
560
+ backdrop-filter: blur(4px);
561
+ }
562
+ ```
563
+
564
+ ### Scroll-Driven Animations
565
+
566
+ ```css
567
+ /* Progress bar that tracks page scroll */
568
+ .scroll-progress {
569
+ position: fixed;
570
+ inset-block-start: 0;
571
+ inset-inline: 0;
572
+ block-size: 3px;
573
+ background: var(--color-primary);
574
+ transform-origin: left;
575
+ animation: grow-progress linear both;
576
+ animation-timeline: scroll();
577
+ }
578
+
579
+ @keyframes grow-progress {
580
+ from { transform: scaleX(0); }
581
+ to { transform: scaleX(1); }
582
+ }
583
+
584
+ /* Reveal elements as they enter the viewport */
585
+ .reveal {
586
+ opacity: 0;
587
+ transform: translateY(20px);
588
+ animation: reveal-in linear both;
589
+ animation-timeline: view();
590
+ animation-range: entry 0% entry 100%;
591
+ }
592
+
593
+ @keyframes reveal-in {
594
+ to {
595
+ opacity: 1;
596
+ transform: translateY(0);
597
+ }
598
+ }
599
+ ```
600
+
601
+ ### View Transitions
602
+
603
+ ```css
604
+ /* Define which elements participate in transitions */
605
+ .page-header {
606
+ view-transition-name: page-header;
607
+ }
608
+
609
+ .hero-image {
610
+ view-transition-name: hero-image;
611
+ }
612
+
613
+ /* Customize the transition animation */
614
+ ::view-transition-old(hero-image) {
615
+ animation: 300ms var(--ease-out) both fade-out;
616
+ }
617
+
618
+ ::view-transition-new(hero-image) {
619
+ animation: 300ms var(--ease-out) both fade-in;
620
+ }
621
+
622
+ @keyframes fade-out {
623
+ to { opacity: 0; }
624
+ }
625
+
626
+ @keyframes fade-in {
627
+ from { opacity: 0; }
628
+ }
629
+
630
+ /* Trigger from JavaScript */
631
+ /* document.startViewTransition(() => updateDOM()); */
632
+ ```
633
+
634
+ ## Layout Patterns
635
+
636
+ ### Holy Grail Layout
637
+
638
+ ```css
639
+ .layout {
640
+ display: grid;
641
+ grid-template-rows: auto 1fr auto;
642
+ grid-template-columns: minmax(200px, 1fr) minmax(0, 3fr) minmax(200px, 1fr);
643
+ grid-template-areas:
644
+ "header header header"
645
+ "nav main aside"
646
+ "footer footer footer";
647
+ min-block-size: 100dvh;
648
+
649
+ @media (width < 768px) {
650
+ grid-template-columns: 1fr;
651
+ grid-template-areas:
652
+ "header"
653
+ "nav"
654
+ "main"
655
+ "aside"
656
+ "footer";
657
+ }
658
+ }
659
+
660
+ .layout__header { grid-area: header; }
661
+ .layout__nav { grid-area: nav; }
662
+ .layout__main { grid-area: main; }
663
+ .layout__aside { grid-area: aside; }
664
+ .layout__footer { grid-area: footer; }
665
+ ```
666
+
667
+ ### Fluid Typography and Spacing
668
+
669
+ ```css
670
+ :root {
671
+ /* Fluid type scale using clamp */
672
+ --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
673
+ --text-lg: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
674
+ --text-xl: clamp(1.25rem, 1rem + 1vw, 1.75rem);
675
+ --text-2xl: clamp(1.5rem, 1rem + 2vw, 2.5rem);
676
+ --text-3xl: clamp(2rem, 1.25rem + 3vw, 3.5rem);
677
+
678
+ /* Fluid spacing */
679
+ --space-fluid-sm: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
680
+ --space-fluid-md: clamp(1rem, 0.8rem + 1vw, 1.5rem);
681
+ --space-fluid-lg: clamp(1.5rem, 1rem + 2.5vw, 3rem);
682
+ }
683
+ ```
684
+
685
+ ## Media Queries
686
+
687
+ ### Preference Queries
688
+
689
+ ```css
690
+ /* Reduced motion */
691
+ @media (prefers-reduced-motion: reduce) {
692
+ *,
693
+ *::before,
694
+ *::after {
695
+ animation-duration: 0.01ms !important;
696
+ animation-iteration-count: 1 !important;
697
+ transition-duration: 0.01ms !important;
698
+ scroll-behavior: auto !important;
699
+ }
700
+ }
701
+
702
+ /* Color scheme */
703
+ @media (prefers-color-scheme: dark) {
704
+ :root {
705
+ --color-surface: oklch(15% 0 0);
706
+ --color-text: oklch(90% 0 0);
707
+ }
708
+ }
709
+
710
+ /* Contrast preference */
711
+ @media (prefers-contrast: more) {
712
+ :root {
713
+ --color-text: oklch(0% 0 0);
714
+ --color-border: oklch(30% 0 0);
715
+ }
716
+ }
717
+
718
+ /* Reduced transparency */
719
+ @media (prefers-reduced-transparency: reduce) {
720
+ .glass-panel {
721
+ backdrop-filter: none;
722
+ background: var(--color-surface);
723
+ }
724
+ }
725
+ ```
726
+
727
+ ### Modern Range Syntax
728
+
729
+ ```css
730
+ /* Old: @media (min-width: 768px) and (max-width: 1024px) */
731
+ /* New: */
732
+ @media (768px <= width <= 1024px) {
733
+ .container { padding-inline: var(--space-lg); }
734
+ }
735
+
736
+ @media (width >= 1024px) {
737
+ .sidebar { display: block; }
738
+ }
739
+
740
+ @media (width < 640px) {
741
+ .desktop-only { display: none; }
742
+ }
743
+ ```
744
+
745
+ ## CSS Reset Best Practices
746
+
747
+ ```css
748
+ @layer reset {
749
+ /* Box model */
750
+ *, *::before, *::after {
751
+ box-sizing: border-box;
752
+ }
753
+
754
+ /* Remove default margin */
755
+ * {
756
+ margin: 0;
757
+ }
758
+
759
+ /* Full viewport height */
760
+ html, body {
761
+ min-block-size: 100dvh;
762
+ }
763
+
764
+ /* Typography defaults */
765
+ body {
766
+ line-height: 1.5;
767
+ -webkit-font-smoothing: antialiased;
768
+ }
769
+
770
+ /* Media elements */
771
+ img, picture, video, canvas, svg {
772
+ display: block;
773
+ max-inline-size: 100%;
774
+ block-size: auto;
775
+ }
776
+
777
+ /* Form elements inherit font */
778
+ input, button, textarea, select {
779
+ font: inherit;
780
+ color: inherit;
781
+ }
782
+
783
+ /* Avoid text overflow */
784
+ p, h1, h2, h3, h4, h5, h6 {
785
+ overflow-wrap: break-word;
786
+ }
787
+
788
+ /* Remove list styles for lists with role */
789
+ ul[role="list"], ol[role="list"] {
790
+ list-style: none;
791
+ padding: 0;
792
+ }
793
+
794
+ /* Anchor defaults */
795
+ a {
796
+ color: inherit;
797
+ text-decoration-skip-ink: auto;
798
+ }
799
+
800
+ /* Table defaults */
801
+ table {
802
+ border-collapse: collapse;
803
+ }
804
+
805
+ /* Remove button styling */
806
+ button {
807
+ background: none;
808
+ border: none;
809
+ cursor: pointer;
810
+ }
811
+ }
812
+ ```
813
+
814
+ ## BEM Methodology
815
+
816
+ Block-Element-Modifier naming for maintainable CSS:
817
+
818
+ ```css
819
+ /* Block */
820
+ .card { }
821
+
822
+ /* Element (double underscore) */
823
+ .card__header { }
824
+ .card__body { }
825
+ .card__footer { }
826
+ .card__title { }
827
+ .card__action { }
828
+
829
+ /* Modifier (double hyphen) */
830
+ .card--featured { }
831
+ .card--compact { }
832
+ .card__action--primary { }
833
+ .card__action--disabled { }
834
+ ```
835
+
836
+ ### BEM with Native Nesting
837
+
838
+ ```css
839
+ .card {
840
+ background: var(--color-surface-raised);
841
+ border-radius: var(--radius-md);
842
+ overflow: hidden;
843
+
844
+ &__header {
845
+ padding: var(--space-md);
846
+ border-block-end: 1px solid var(--color-border);
847
+ }
848
+
849
+ &__title {
850
+ font-size: var(--text-lg);
851
+ font-weight: 600;
852
+ }
853
+
854
+ &__body {
855
+ padding: var(--space-lg);
856
+ }
857
+
858
+ &__footer {
859
+ padding: var(--space-md);
860
+ display: flex;
861
+ justify-content: flex-end;
862
+ gap: var(--space-sm);
863
+ }
864
+
865
+ /* Modifiers */
866
+ &--featured {
867
+ border: 2px solid var(--color-primary);
868
+
869
+ & .card__header {
870
+ background: var(--color-primary);
871
+ color: var(--color-text-on-primary);
872
+ }
873
+ }
874
+
875
+ &--compact {
876
+ & .card__body {
877
+ padding: var(--space-sm);
878
+ }
879
+ }
880
+ }
881
+ ```
882
+
883
+ ## Component Patterns
884
+
885
+ ### Button Component
886
+
887
+ ```css
888
+ .btn {
889
+ --btn-bg: var(--color-primary);
890
+ --btn-color: var(--color-text-on-primary);
891
+ --btn-padding-inline: var(--space-lg);
892
+ --btn-padding-block: var(--space-sm);
893
+ --btn-radius: var(--radius-md);
894
+
895
+ display: inline-flex;
896
+ align-items: center;
897
+ justify-content: center;
898
+ gap: var(--space-xs);
899
+ padding-block: var(--btn-padding-block);
900
+ padding-inline: var(--btn-padding-inline);
901
+ background: var(--btn-bg);
902
+ color: var(--btn-color);
903
+ border: 2px solid transparent;
904
+ border-radius: var(--btn-radius);
905
+ font-weight: 600;
906
+ font-size: var(--text-base);
907
+ line-height: 1;
908
+ cursor: pointer;
909
+ transition: all var(--duration-fast) var(--ease-out);
910
+
911
+ &:hover {
912
+ --btn-bg: var(--color-primary-dark);
913
+ }
914
+
915
+ &:focus-visible {
916
+ outline: 2px solid var(--color-focus-ring);
917
+ outline-offset: 2px;
918
+ }
919
+
920
+ &:active {
921
+ transform: scale(0.98);
922
+ }
923
+
924
+ &:disabled {
925
+ opacity: 0.5;
926
+ cursor: not-allowed;
927
+ pointer-events: none;
928
+ }
929
+
930
+ &--secondary {
931
+ --btn-bg: transparent;
932
+ --btn-color: var(--color-primary);
933
+ border-color: var(--color-primary);
934
+
935
+ &:hover {
936
+ --btn-bg: var(--color-primary);
937
+ --btn-color: var(--color-text-on-primary);
938
+ }
939
+ }
940
+
941
+ &--sm {
942
+ --btn-padding-inline: var(--space-md);
943
+ --btn-padding-block: var(--space-xs);
944
+ font-size: var(--text-sm);
945
+ }
946
+
947
+ &--lg {
948
+ --btn-padding-inline: var(--space-xl);
949
+ --btn-padding-block: var(--space-md);
950
+ font-size: var(--text-lg);
951
+ }
952
+ }
953
+ ```
954
+
955
+ ### Form Input
956
+
957
+ ```css
958
+ .input {
959
+ --input-border: var(--color-border);
960
+ --input-bg: var(--color-surface);
961
+
962
+ display: block;
963
+ inline-size: 100%;
964
+ padding: var(--space-sm) var(--space-md);
965
+ background: var(--input-bg);
966
+ border: 1px solid var(--input-border);
967
+ border-radius: var(--radius-md);
968
+ font-size: var(--text-base);
969
+ transition: border-color var(--duration-fast);
970
+
971
+ &:focus {
972
+ --input-border: var(--color-primary);
973
+ outline: 2px solid var(--color-focus-ring);
974
+ outline-offset: -1px;
975
+ }
976
+
977
+ &[aria-invalid="true"] {
978
+ --input-border: var(--color-error);
979
+ }
980
+
981
+ &:disabled {
982
+ opacity: 0.6;
983
+ cursor: not-allowed;
984
+ }
985
+ }
986
+ ```
987
+
988
+ ## Progressive Enhancement
989
+
990
+ ```css
991
+ /* Base: works everywhere */
992
+ .grid {
993
+ display: flex;
994
+ flex-wrap: wrap;
995
+ gap: var(--space-md);
996
+ }
997
+
998
+ .grid > * {
999
+ flex: 1 1 250px;
1000
+ }
1001
+
1002
+ /* Enhancement: container queries */
1003
+ @supports (container-type: inline-size) {
1004
+ .grid-container {
1005
+ container-type: inline-size;
1006
+ }
1007
+
1008
+ .grid {
1009
+ display: grid;
1010
+ grid-template-columns: 1fr;
1011
+
1012
+ @container (inline-size >= 500px) {
1013
+ grid-template-columns: repeat(2, 1fr);
1014
+ }
1015
+
1016
+ @container (inline-size >= 800px) {
1017
+ grid-template-columns: repeat(3, 1fr);
1018
+ }
1019
+ }
1020
+ }
1021
+
1022
+ /* Enhancement: :has() */
1023
+ @supports selector(:has(*)) {
1024
+ .form-group:has(:invalid:not(:placeholder-shown)) {
1025
+ & .form-group__error {
1026
+ display: block;
1027
+ }
1028
+ }
1029
+ }
1030
+
1031
+ /* Enhancement: oklch colors */
1032
+ @supports (color: oklch(50% 0.2 265)) {
1033
+ :root {
1034
+ --color-primary: oklch(55% 0.25 265);
1035
+ }
1036
+ }
1037
+ ```
1038
+
1039
+ ## Anti-Patterns
1040
+
1041
+ | Anti-Pattern | Why It Is Bad | Correct Approach |
1042
+ |--------------|---------------|------------------|
1043
+ | `!important` everywhere | Breaks cascade, unmaintainable | Use @layer for specificity control |
1044
+ | Deep nesting (4+ levels) | Hard to read, high specificity | Max 3 levels of nesting |
1045
+ | Magic numbers (`margin: 37px`) | Arbitrary, not from a scale | Use design token variables |
1046
+ | Physical properties only | Breaks RTL/vertical writing modes | Use logical properties |
1047
+ | IDs for styling (`#header`) | Too specific, cannot reuse | Use classes with BEM |
1048
+ | `px` for font sizes | Does not respect user preferences | Use `rem` or `clamp()` |
1049
+ | Inline styles in HTML | Cannot be overridden easily | Use classes and custom properties |
1050
+ | Using `@import` (non-layered) | Creates render-blocking requests | Use `@layer` or bundler imports |
1051
+ | Animating `width`/`height` | Triggers layout, poor performance | Animate `transform` and `opacity` |
1052
+ | `* { transition: all }` | Unexpected transitions everywhere | Target specific properties |
1053
+ | Colors as hex in every rule | Hard to theme, no consistency | Define in `:root` as tokens |
1054
+ | `float` for layout | Legacy, replaced by flexbox/grid | Use `display: flex` or `grid` |
1055
+
1056
+ ## Best Practices
1057
+
1058
+ 1. **Layer everything**: Use `@layer` to avoid specificity conflicts
1059
+ 2. **Token everything**: All values come from custom properties in `:root`
1060
+ 3. **Use oklch**: Perceptually uniform, easy to generate tints/shades
1061
+ 4. **Logical properties**: Always use inline/block instead of left/right/top/bottom
1062
+ 5. **Mobile-first**: Write base styles for small screens, enhance with `@media`
1063
+ 6. **Container queries for components**: Viewport media queries for layout, container queries for components
1064
+ 7. **Nest max 3 levels**: Deeper nesting is a code smell
1065
+ 8. **Fluid typography**: Use `clamp()` for text sizing
1066
+ 9. **Respect user preferences**: `prefers-reduced-motion`, `prefers-color-scheme`, `prefers-contrast`
1067
+ 10. **Focus styles are mandatory**: Every interactive element needs `:focus-visible`
1068
+ 11. **Test RTL**: Logical properties make it easy but always verify
1069
+ 12. **Progressive enhance**: Feature-query new CSS with `@supports`
1070
+
1071
+ ## References
1072
+
1073
+ - MDN Web Docs: https://developer.mozilla.org/en-US/docs/Web/CSS
1074
+ - Can I Use: https://caniuse.com
1075
+ - CSS Tricks: https://css-tricks.com
1076
+ - Modern CSS: https://moderncss.dev
1077
+ - Open Props: https://open-props.style
1078
+ - Every Layout: https://every-layout.dev