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,326 @@
1
+ # Intl API Patterns Reference
2
+
3
+ Complete reference for all 7 JavaScript `Intl` formatters with locale-aware usage patterns.
4
+
5
+ ## 1. Intl.DateTimeFormat
6
+
7
+ Format dates and times according to locale conventions.
8
+
9
+ ```ts
10
+ // Basic
11
+ new Intl.DateTimeFormat('en-US').format(date)
12
+ // → "3/21/2026"
13
+
14
+ new Intl.DateTimeFormat('de-DE').format(date)
15
+ // → "21.3.2026"
16
+
17
+ // With options
18
+ new Intl.DateTimeFormat('en-US', {
19
+ dateStyle: 'full',
20
+ timeStyle: 'short',
21
+ }).format(date)
22
+ // → "Saturday, March 21, 2026 at 3:01 PM"
23
+
24
+ // Specific parts
25
+ new Intl.DateTimeFormat('en-US', {
26
+ weekday: 'long',
27
+ year: 'numeric',
28
+ month: 'long',
29
+ day: 'numeric',
30
+ }).format(date)
31
+ // → "Saturday, March 21, 2026"
32
+
33
+ // Time zone aware
34
+ new Intl.DateTimeFormat('en-US', {
35
+ timeZone: 'Asia/Tokyo',
36
+ timeStyle: 'long',
37
+ }).format(date)
38
+ // → "4:01:22 AM JST"
39
+ ```
40
+
41
+ ### Key Options
42
+
43
+ | Option | Values |
44
+ |--------|--------|
45
+ | `dateStyle` | `full`, `long`, `medium`, `short` |
46
+ | `timeStyle` | `full`, `long`, `medium`, `short` |
47
+ | `weekday` | `long`, `short`, `narrow` |
48
+ | `month` | `numeric`, `2-digit`, `long`, `short`, `narrow` |
49
+ | `hour12` | `true`, `false` |
50
+ | `timeZone` | IANA timezone string |
51
+
52
+ ---
53
+
54
+ ## 2. Intl.NumberFormat
55
+
56
+ Format numbers, currencies, percentages, and units.
57
+
58
+ ```ts
59
+ // Currency
60
+ new Intl.NumberFormat('en-US', {
61
+ style: 'currency',
62
+ currency: 'USD',
63
+ }).format(1234.56)
64
+ // → "$1,234.56"
65
+
66
+ new Intl.NumberFormat('ja-JP', {
67
+ style: 'currency',
68
+ currency: 'JPY',
69
+ }).format(1234)
70
+ // → "¥1,234"
71
+
72
+ // Percentage
73
+ new Intl.NumberFormat('en-US', {
74
+ style: 'percent',
75
+ minimumFractionDigits: 1,
76
+ }).format(0.867)
77
+ // → "86.7%"
78
+
79
+ // Unit
80
+ new Intl.NumberFormat('en-US', {
81
+ style: 'unit',
82
+ unit: 'kilometer-per-hour',
83
+ unitDisplay: 'short',
84
+ }).format(120)
85
+ // → "120 km/h"
86
+
87
+ // Compact notation
88
+ new Intl.NumberFormat('en-US', {
89
+ notation: 'compact',
90
+ compactDisplay: 'short',
91
+ }).format(1500000)
92
+ // → "1.5M"
93
+
94
+ // Accounting (negative in parentheses)
95
+ new Intl.NumberFormat('en-US', {
96
+ style: 'currency',
97
+ currency: 'USD',
98
+ currencySign: 'accounting',
99
+ }).format(-1234)
100
+ // → "($1,234.00)"
101
+ ```
102
+
103
+ ### Common Units
104
+
105
+ `acre`, `byte`, `celsius`, `centimeter`, `day`, `degree`, `fahrenheit`, `foot`, `gallon`, `gigabyte`, `gram`, `hectare`, `hour`, `inch`, `kilobyte`, `kilogram`, `kilometer`, `kilometer-per-hour`, `liter`, `megabyte`, `meter`, `mile`, `mile-per-hour`, `minute`, `month`, `ounce`, `percent`, `pound`, `second`, `terabyte`, `week`, `yard`, `year`
106
+
107
+ ---
108
+
109
+ ## 3. Intl.RelativeTimeFormat
110
+
111
+ Format relative time expressions ("2 days ago", "in 3 hours").
112
+
113
+ ```ts
114
+ const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' });
115
+
116
+ rtf.format(-1, 'day') // → "yesterday"
117
+ rtf.format(-2, 'day') // → "2 days ago"
118
+ rtf.format(1, 'hour') // → "in 1 hour"
119
+ rtf.format(0, 'day') // → "today"
120
+
121
+ // With numeric: 'always'
122
+ const rtfAlways = new Intl.RelativeTimeFormat('en', { numeric: 'always' });
123
+ rtfAlways.format(-1, 'day') // → "1 day ago" (not "yesterday")
124
+ ```
125
+
126
+ ### Style Options
127
+
128
+ | Option | `long` | `short` | `narrow` |
129
+ |--------|--------|---------|----------|
130
+ | `-1 day` | "1 day ago" | "1 day ago" | "1d ago" |
131
+ | `3 month` | "in 3 months" | "in 3 mo." | "in 3mo." |
132
+
133
+ ### Valid Units
134
+
135
+ `second`, `minute`, `hour`, `day`, `week`, `month`, `quarter`, `year`
136
+
137
+ ### Helper: Auto-Select Unit
138
+
139
+ ```ts
140
+ function getRelativeTime(date: Date, locale: string): string {
141
+ const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });
142
+ const diffMs = date.getTime() - Date.now();
143
+ const diffSec = Math.round(diffMs / 1000);
144
+ const diffMin = Math.round(diffSec / 60);
145
+ const diffHr = Math.round(diffMin / 60);
146
+ const diffDay = Math.round(diffHr / 24);
147
+
148
+ if (Math.abs(diffSec) < 60) return rtf.format(diffSec, 'second');
149
+ if (Math.abs(diffMin) < 60) return rtf.format(diffMin, 'minute');
150
+ if (Math.abs(diffHr) < 24) return rtf.format(diffHr, 'hour');
151
+ if (Math.abs(diffDay) < 30) return rtf.format(diffDay, 'day');
152
+ return rtf.format(Math.round(diffDay / 30), 'month');
153
+ }
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 4. Intl.ListFormat
159
+
160
+ Format lists with locale-aware conjunctions and disjunctions.
161
+
162
+ ```ts
163
+ // Conjunction (and)
164
+ new Intl.ListFormat('en', { style: 'long', type: 'conjunction' })
165
+ .format(['Alice', 'Bob', 'Charlie'])
166
+ // → "Alice, Bob, and Charlie"
167
+
168
+ // Disjunction (or)
169
+ new Intl.ListFormat('en', { style: 'long', type: 'disjunction' })
170
+ .format(['Red', 'Blue', 'Green'])
171
+ // → "Red, Blue, or Green"
172
+
173
+ // Unit (no conjunction)
174
+ new Intl.ListFormat('en', { style: 'narrow', type: 'unit' })
175
+ .format(['6 lb', '4 oz'])
176
+ // → "6 lb 4 oz"
177
+
178
+ // Other locales
179
+ new Intl.ListFormat('ja', { style: 'long', type: 'conjunction' })
180
+ .format(['東京', '大阪', '名古屋'])
181
+ // → "東京、大阪、名古屋"
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 5. Intl.PluralRules
187
+
188
+ Determine the plural category for a number in a given locale.
189
+
190
+ ```ts
191
+ // Cardinal (counting)
192
+ const pr = new Intl.PluralRules('en');
193
+ pr.select(0) // → "other"
194
+ pr.select(1) // → "one"
195
+ pr.select(2) // → "other"
196
+
197
+ // Ordinal (ranking)
198
+ const prOrd = new Intl.PluralRules('en', { type: 'ordinal' });
199
+ prOrd.select(1) // → "one" → 1st
200
+ prOrd.select(2) // → "two" → 2nd
201
+ prOrd.select(3) // → "few" → 3rd
202
+ prOrd.select(4) // → "other" → 4th
203
+
204
+ // Arabic — demonstrates zero, one, two, few, many, other
205
+ const prAr = new Intl.PluralRules('ar');
206
+ prAr.select(0) // → "zero"
207
+ prAr.select(1) // → "one"
208
+ prAr.select(2) // → "two"
209
+ prAr.select(5) // → "few"
210
+ prAr.select(11) // → "many"
211
+ prAr.select(100) // → "other"
212
+ ```
213
+
214
+ ### Use Case: Building Suffix Maps
215
+
216
+ ```ts
217
+ const suffixes = new Map([
218
+ ['one', 'st'],
219
+ ['two', 'nd'],
220
+ ['few', 'rd'],
221
+ ['other', 'th'],
222
+ ]);
223
+ const pr = new Intl.PluralRules('en', { type: 'ordinal' });
224
+
225
+ function ordinal(n: number): string {
226
+ return `${n}${suffixes.get(pr.select(n))}`;
227
+ }
228
+
229
+ ordinal(1) // → "1st"
230
+ ordinal(22) // → "22nd"
231
+ ordinal(43) // → "43rd"
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 6. Intl.DisplayNames
237
+
238
+ Get locale-aware display names for regions, languages, scripts, and currencies.
239
+
240
+ ```ts
241
+ // Region names
242
+ const regionNames = new Intl.DisplayNames('en', { type: 'region' });
243
+ regionNames.of('US') // → "United States"
244
+ regionNames.of('JP') // → "Japan"
245
+ regionNames.of('DE') // → "Germany"
246
+
247
+ // In German
248
+ new Intl.DisplayNames('de', { type: 'region' }).of('US')
249
+ // → "Vereinigte Staaten"
250
+
251
+ // Language names
252
+ const langNames = new Intl.DisplayNames('en', { type: 'language' });
253
+ langNames.of('fr') // → "French"
254
+ langNames.of('zh-Hans') // → "Simplified Chinese"
255
+
256
+ // Currency names
257
+ const currNames = new Intl.DisplayNames('en', { type: 'currency' });
258
+ currNames.of('EUR') // → "Euro"
259
+ currNames.of('JPY') // → "Japanese Yen"
260
+
261
+ // Script names
262
+ const scriptNames = new Intl.DisplayNames('en', { type: 'script' });
263
+ scriptNames.of('Latn') // → "Latin"
264
+ scriptNames.of('Arab') // → "Arabic"
265
+ ```
266
+
267
+ ### Types
268
+
269
+ | Type | Input | Example |
270
+ |------|-------|---------|
271
+ | `region` | ISO 3166 code | `of('US')` → "United States" |
272
+ | `language` | BCP 47 tag | `of('fr')` → "French" |
273
+ | `currency` | ISO 4217 code | `of('EUR')` → "Euro" |
274
+ | `script` | ISO 15924 code | `of('Latn')` → "Latin" |
275
+
276
+ ---
277
+
278
+ ## 7. Intl.Segmenter
279
+
280
+ Segment text into words, sentences, or graphemes. Critical for CJK languages and complex scripts that lack whitespace word boundaries.
281
+
282
+ ```ts
283
+ // Word segmentation (English)
284
+ const wordSeg = new Intl.Segmenter('en', { granularity: 'word' });
285
+ const words = [...wordSeg.segment('Hello, world!')].filter(s => s.isWordLike);
286
+ // → [{ segment: "Hello", ... }, { segment: "world", ... }]
287
+
288
+ // Word segmentation (Japanese — no spaces)
289
+ const jpSeg = new Intl.Segmenter('ja', { granularity: 'word' });
290
+ const jpWords = [...jpSeg.segment('すべての人間は')].filter(s => s.isWordLike);
291
+ // → [{ segment: "すべて" }, { segment: "の" }, { segment: "人間" }, { segment: "は" }]
292
+
293
+ // Grapheme segmentation (emoji clusters)
294
+ const graphSeg = new Intl.Segmenter('en', { granularity: 'grapheme' });
295
+ const graphemes = [...graphSeg.segment('👨‍👩‍👧‍👦 Hello')].map(s => s.segment);
296
+ // → ["👨‍👩‍👧‍👦", " ", "H", "e", "l", "l", "o"]
297
+
298
+ // Sentence segmentation
299
+ const sentSeg = new Intl.Segmenter('en', { granularity: 'sentence' });
300
+ const sentences = [...sentSeg.segment('Hello! How are you? Fine.')].map(s => s.segment);
301
+ // → ["Hello! ", "How are you? ", "Fine."]
302
+ ```
303
+
304
+ ### Granularity Options
305
+
306
+ | Granularity | Use Case |
307
+ |-------------|----------|
308
+ | `grapheme` | Character counting (handles emoji, diacritics, CJK) |
309
+ | `word` | Word counting, search indexing, CJK tokenization |
310
+ | `sentence` | Sentence-level processing, text summarization |
311
+
312
+ ### Why Not `String.split()`?
313
+
314
+ - `'👨‍👩‍👧‍👦'.length` → **11** (JS string length counts UTF-16 code units)
315
+ - `[...'👨‍👩‍👧‍👦']` → **7** (spread counts code points, not graphemes)
316
+ - `Intl.Segmenter` → **1** grapheme (correct visual character count)
317
+
318
+ ---
319
+
320
+ ## General Rules
321
+
322
+ 1. **Always pass the user's locale** — never hardcode `'en-US'`
323
+ 2. **Cache formatter instances** — creating `new Intl.*Format()` is expensive; reuse across renders
324
+ 3. **Use `resolvedOptions()`** to inspect what the formatter actually resolved
325
+ 4. **Server-side rendering**: Node.js has full ICU data since v13; Deno and Bun also support all Intl APIs
326
+ 5. **Polyfill strategy**: `@formatjs/intl-*` packages for older environments
@@ -0,0 +1,298 @@
1
+ # RTL Support Reference
2
+
3
+ Comprehensive reference for right-to-left (RTL) language support in web applications. Covers CSS logical properties, component patterns, testing, and bidirectional text handling.
4
+
5
+ ## RTL Languages
6
+
7
+ | Language | Code | Script |
8
+ |----------|------|--------|
9
+ | Arabic | `ar` | Arabic |
10
+ | Hebrew | `he` | Hebrew |
11
+ | Persian (Farsi) | `fa` | Arabic |
12
+ | Urdu | `ur` | Arabic |
13
+ | Pashto | `ps` | Arabic |
14
+ | Sindhi | `sd` | Arabic |
15
+ | Kurdish (Sorani) | `ckb` | Arabic |
16
+ | Dhivehi | `dv` | Thaana |
17
+
18
+ ---
19
+
20
+ ## CSS Logical Properties
21
+
22
+ Replace all physical direction properties with logical equivalents. This is the single most impactful RTL change — logical properties automatically flip for RTL layouts.
23
+
24
+ ### Full Mapping Table
25
+
26
+ | Physical Property | Logical Property |
27
+ |-------------------|-----------------|
28
+ | `margin-left` | `margin-inline-start` |
29
+ | `margin-right` | `margin-inline-end` |
30
+ | `margin-top` | `margin-block-start` |
31
+ | `margin-bottom` | `margin-block-end` |
32
+ | `padding-left` | `padding-inline-start` |
33
+ | `padding-right` | `padding-inline-end` |
34
+ | `padding-top` | `padding-block-start` |
35
+ | `padding-bottom` | `padding-block-end` |
36
+ | `border-left` | `border-inline-start` |
37
+ | `border-right` | `border-inline-end` |
38
+ | `border-top-left-radius` | `border-start-start-radius` |
39
+ | `border-top-right-radius` | `border-start-end-radius` |
40
+ | `border-bottom-left-radius` | `border-end-start-radius` |
41
+ | `border-bottom-right-radius` | `border-end-end-radius` |
42
+ | `left` | `inset-inline-start` |
43
+ | `right` | `inset-inline-end` |
44
+ | `top` | `inset-block-start` |
45
+ | `bottom` | `inset-block-end` |
46
+ | `text-align: left` | `text-align: start` |
47
+ | `text-align: right` | `text-align: end` |
48
+ | `float: left` | `float: inline-start` |
49
+ | `float: right` | `float: inline-end` |
50
+ | `width` | `inline-size` |
51
+ | `height` | `block-size` |
52
+ | `min-width` | `min-inline-size` |
53
+ | `max-width` | `max-inline-size` |
54
+
55
+ ### Shorthand Properties
56
+
57
+ ```css
58
+ /* Physical (avoid) */
59
+ .card {
60
+ margin: 0 16px 0 24px;
61
+ padding: 8px 16px 8px 24px;
62
+ }
63
+
64
+ /* Logical (use) */
65
+ .card {
66
+ margin-inline-start: 24px;
67
+ margin-inline-end: 16px;
68
+ padding-inline-start: 24px;
69
+ padding-inline-end: 16px;
70
+ padding-block: 8px;
71
+ }
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Component-Level RTL Patterns
77
+
78
+ ### Icon Mirroring
79
+
80
+ Icons that imply direction must be mirrored in RTL:
81
+
82
+ ```css
83
+ /* Mirror directional icons */
84
+ [dir="rtl"] .icon-arrow-forward,
85
+ [dir="rtl"] .icon-chevron-right,
86
+ [dir="rtl"] .icon-reply,
87
+ [dir="rtl"] .icon-undo,
88
+ [dir="rtl"] .icon-external-link {
89
+ transform: scaleX(-1);
90
+ }
91
+ ```
92
+
93
+ **Do NOT mirror**: Icons without directional meaning — checkmarks, stars, hearts, plus signs, media controls (play/pause follow universal convention).
94
+
95
+ ### Progress Bars
96
+
97
+ ```css
98
+ .progress-bar {
99
+ /* Use logical properties — no RTL override needed */
100
+ border-start-start-radius: 4px;
101
+ border-end-start-radius: 4px;
102
+ }
103
+
104
+ .progress-fill {
105
+ /* Flex handles direction automatically */
106
+ /* But transform-based progress needs flipping: */
107
+ transform-origin: inline-start;
108
+ }
109
+
110
+ /* If using transform for animation: */
111
+ [dir="rtl"] .progress-fill {
112
+ transform-origin: right;
113
+ }
114
+ ```
115
+
116
+ ### Navigation & Sidebars
117
+
118
+ ```css
119
+ .sidebar {
120
+ /* Logical placement — auto-flips for RTL */
121
+ inset-inline-start: 0;
122
+ border-inline-end: 1px solid var(--border);
123
+ }
124
+
125
+ .nav-arrow-back {
126
+ /* Back arrow points left in LTR, right in RTL */
127
+ transform: scaleX(1);
128
+ }
129
+
130
+ [dir="rtl"] .nav-arrow-back {
131
+ transform: scaleX(-1);
132
+ }
133
+ ```
134
+
135
+ ### Form Layouts
136
+
137
+ ```css
138
+ .form-field {
139
+ text-align: start; /* Not 'left' */
140
+ }
141
+
142
+ .form-label {
143
+ margin-inline-end: 8px; /* Space between label and input */
144
+ }
145
+
146
+ .input-icon-prefix {
147
+ inset-inline-start: 12px; /* Icon inside input, start side */
148
+ }
149
+
150
+ .input-icon-suffix {
151
+ inset-inline-end: 12px; /* Icon inside input, end side */
152
+ }
153
+ ```
154
+
155
+ ### Tables
156
+
157
+ ```css
158
+ .table th,
159
+ .table td {
160
+ text-align: start;
161
+ padding-inline-start: 16px;
162
+ padding-inline-end: 8px;
163
+ }
164
+
165
+ /* Numeric columns always LTR */
166
+ .table .col-number {
167
+ direction: ltr;
168
+ text-align: end;
169
+ }
170
+ ```
171
+
172
+ ---
173
+
174
+ ## `dir` Attribute Usage
175
+
176
+ ### `dir="rtl"` — Explicit Direction
177
+
178
+ Set on `<html>` for the entire document, or on individual elements for mixed content:
179
+
180
+ ```html
181
+ <html lang="ar" dir="rtl">
182
+ ```
183
+
184
+ ### `dir="auto"` — Browser Detection
185
+
186
+ Let the browser determine direction from content. Use for user-generated content:
187
+
188
+ ```html
189
+ <input type="text" dir="auto" placeholder="Type in any language">
190
+ <p dir="auto">{{ userContent }}</p>
191
+ ```
192
+
193
+ **When to use `dir="auto"`**:
194
+ - User-generated text fields (comments, messages, bios)
195
+ - Dynamic content where the language is unknown at render time
196
+
197
+ **When NOT to use `dir="auto"`**:
198
+ - Your own UI text (you know the locale — set it explicitly)
199
+ - Document-level `<html>` tag (always explicit)
200
+
201
+ ### Setting Direction from Locale
202
+
203
+ ```ts
204
+ function getDirection(locale: string): 'ltr' | 'rtl' {
205
+ const rtlLocales = new Set([
206
+ 'ar', 'he', 'fa', 'ur', 'ps', 'sd', 'ckb', 'dv'
207
+ ]);
208
+ const lang = locale.split('-')[0];
209
+ return rtlLocales.has(lang) ? 'rtl' : 'ltr';
210
+ }
211
+
212
+ // Apply to document
213
+ document.documentElement.dir = getDirection(currentLocale);
214
+ document.documentElement.lang = currentLocale;
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Bidirectional Text Handling
220
+
221
+ When LTR and RTL content mix within a single element, Unicode bidirectional algorithm needs hints.
222
+
223
+ ### `<bdi>` — Bidirectional Isolation
224
+
225
+ Isolates inline content from surrounding direction context. Use for user names, dynamic content in a different script:
226
+
227
+ ```html
228
+ <!-- Without bdi: "User مريم sent 3 messages" renders incorrectly -->
229
+ <!-- With bdi: each segment maintains its direction -->
230
+ <p>User <bdi>مريم</bdi> sent 3 messages</p>
231
+ ```
232
+
233
+ ### `<bdo>` — Bidirectional Override
234
+
235
+ Forces a specific direction regardless of content:
236
+
237
+ ```html
238
+ <bdo dir="ltr">12345</bdo> <!-- Forces LTR for this span -->
239
+ <bdo dir="rtl">Hello</bdo> <!-- Forces RTL — renders "olleH" -->
240
+ ```
241
+
242
+ Use sparingly — mainly for demonstrating direction effects or code display.
243
+
244
+ ### Unicode Control Characters
245
+
246
+ For contexts where HTML elements aren't available (plain text, JSON):
247
+
248
+ | Character | Code Point | Purpose |
249
+ |-----------|------------|---------|
250
+ | LRM (Left-to-Right Mark) | `\u200E` | Force LTR context |
251
+ | RLM (Right-to-Left Mark) | `\u200F` | Force RTL context |
252
+ | LRE (LTR Embedding) | `\u202A` | Start LTR embedding |
253
+ | RLE (RTL Embedding) | `\u202B` | Start RTL embedding |
254
+ | PDF (Pop Direction) | `\u202C` | End embedding |
255
+ | LRI (LTR Isolate) | `\u2066` | Start LTR isolation (preferred) |
256
+ | RLI (RTL Isolate) | `\u2067` | Start RTL isolation (preferred) |
257
+ | PDI (Pop Isolate) | `\u2069` | End isolation |
258
+
259
+ **Prefer isolates (LRI/RLI/PDI) over embeddings (LRE/RLE/PDF)** — isolates are the modern approach and prevent more rendering issues.
260
+
261
+ ---
262
+
263
+ ## RTL Testing Checklist
264
+
265
+ ### Visual Inspection
266
+
267
+ - [ ] Layout mirrors correctly — sidebar, nav, content panels swap sides
268
+ - [ ] Text alignment: body text is right-aligned, numeric data is LTR
269
+ - [ ] Icons: directional icons (arrows, reply, undo) are mirrored
270
+ - [ ] Icons: non-directional icons (checkmark, star, play) are NOT mirrored
271
+ - [ ] Progress bars fill from right to left
272
+ - [ ] Breadcrumbs: separator direction is correct (← instead of →)
273
+ - [ ] Form fields: labels and inputs align correctly
274
+ - [ ] Scrollbar: appears on the left side
275
+
276
+ ### Functional Testing
277
+
278
+ - [ ] Keyboard navigation follows RTL flow (Tab moves right-to-left)
279
+ - [ ] Swipe gestures are mirrored (swipe right = back in RTL)
280
+ - [ ] Drag-and-drop respects RTL axis
281
+ - [ ] Tooltips and popovers position correctly (start/end, not left/right)
282
+ - [ ] Modal dialogs: close button on start side (left in RTL)
283
+ - [ ] Dropdown menus open toward inline-end
284
+
285
+ ### Content Testing
286
+
287
+ - [ ] Mixed LTR/RTL content renders correctly (usernames, URLs in RTL text)
288
+ - [ ] Numbers display correctly within RTL context
289
+ - [ ] Phone numbers and email addresses maintain LTR direction
290
+ - [ ] Currency symbols position correctly per locale
291
+ - [ ] Dates follow locale format (not all RTL locales use RTL date format)
292
+
293
+ ### Browser Testing
294
+
295
+ - [ ] Chrome: verify with `chrome://settings/languages` direction override
296
+ - [ ] Firefox: verify with `layout.css.devtools.enabled` for logical property inspector
297
+ - [ ] Safari: verify iOS Safari with RTL system language
298
+ - [ ] Quick toggle: add `document.documentElement.dir = 'rtl'` to devtools console