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,385 @@
1
+ ---
2
+ name: meilisearch
3
+ description: Integrate Meilisearch for fast, typo-tolerant full-text search including index management, filtering, faceting, geo search, and relevancy tuning. Use when adding search functionality to applications that need instant, typo-tolerant results.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Meilisearch
8
+
9
+ Integrate Meilisearch for fast, typo-tolerant full-text search. Meilisearch is an open-source search engine designed for instant search experiences with minimal configuration.
10
+
11
+ ## When to Use This Skill
12
+
13
+ - Adding search functionality to web applications
14
+ - Implementing faceted search (filter by category, price range, etc.)
15
+ - Building autocomplete / search-as-you-type experiences
16
+ - Searching content that needs typo tolerance and relevancy ranking
17
+ - Implementing geo-based search (find nearby locations)
18
+ - Multi-tenant search with secure tenant tokens
19
+
20
+ ## Setup
21
+
22
+ ```bash
23
+ # Install JavaScript client
24
+ pnpm add meilisearch
25
+
26
+ # Run Meilisearch locally (Docker)
27
+ docker run -d -p 7700:7700 \
28
+ -v $(pwd)/meili_data:/meili_data \
29
+ -e MEILI_MASTER_KEY='your-master-key' \
30
+ getmeili/meilisearch:latest
31
+ ```
32
+
33
+ ### Client Initialization
34
+
35
+ ```typescript
36
+ // src/lib/search/meilisearch.ts
37
+ import { MeiliSearch } from 'meilisearch';
38
+
39
+ export const meili = new MeiliSearch({
40
+ host: process.env.MEILISEARCH_HOST ?? 'http://localhost:7700',
41
+ apiKey: process.env.MEILISEARCH_ADMIN_KEY, // Admin key for server-side operations
42
+ });
43
+
44
+ // For client-side search, use a search-only API key
45
+ export const meiliSearch = new MeiliSearch({
46
+ host: process.env.MEILISEARCH_HOST ?? 'http://localhost:7700',
47
+ apiKey: process.env.MEILISEARCH_SEARCH_KEY, // Read-only key
48
+ });
49
+ ```
50
+
51
+ ## Index Management
52
+
53
+ ### Creating and Configuring an Index
54
+
55
+ ```typescript
56
+ // Create index with primary key
57
+ const index = await meili.createIndex('products', { primaryKey: 'id' });
58
+
59
+ // Configure searchable attributes (order defines relevancy weight)
60
+ await meili.index('products').updateSearchableAttributes([
61
+ 'name', // Highest weight
62
+ 'description',
63
+ 'category',
64
+ 'brand', // Lowest weight
65
+ ]);
66
+
67
+ // Configure filterable attributes (for filtering and faceting)
68
+ await meili.index('products').updateFilterableAttributes([
69
+ 'category',
70
+ 'brand',
71
+ 'price',
72
+ 'inStock',
73
+ 'rating',
74
+ 'tags',
75
+ '_geo', // Required for geo search
76
+ ]);
77
+
78
+ // Configure sortable attributes
79
+ await meili.index('products').updateSortableAttributes([
80
+ 'price',
81
+ 'rating',
82
+ 'createdAt',
83
+ ]);
84
+
85
+ // Configure displayed attributes (what is returned in results)
86
+ await meili.index('products').updateDisplayedAttributes([
87
+ 'id', 'name', 'description', 'price', 'category',
88
+ 'brand', 'imageUrl', 'rating', 'slug',
89
+ ]);
90
+
91
+ // Configure ranking rules (order matters)
92
+ await meili.index('products').updateRankingRules([
93
+ 'words', // Number of matched query words
94
+ 'typo', // Number of typos
95
+ 'proximity', // Distance between matched words
96
+ 'attribute', // Position in searchableAttributes list
97
+ 'sort', // User-defined sort
98
+ 'exactness', // Exact vs prefix match
99
+ 'rating:desc', // Custom ranking: higher rating first
100
+ ]);
101
+ ```
102
+
103
+ ### Typo Tolerance
104
+
105
+ ```typescript
106
+ await meili.index('products').updateTypoTolerance({
107
+ enabled: true,
108
+ minWordSizeForTypos: {
109
+ oneTypo: 4, // Allow 1 typo for words >= 4 chars
110
+ twoTypos: 8, // Allow 2 typos for words >= 8 chars
111
+ },
112
+ disableOnAttributes: ['sku', 'barcode'], // Exact match only for these
113
+ disableOnWords: ['iPhone', 'MacBook'], // Exact match for specific terms
114
+ });
115
+ ```
116
+
117
+ ### Synonyms
118
+
119
+ ```typescript
120
+ await meili.index('products').updateSynonyms({
121
+ 'phone': ['smartphone', 'mobile', 'cellphone'],
122
+ 'laptop': ['notebook', 'portable computer'],
123
+ 'tv': ['television', 'monitor', 'screen'],
124
+ // One-way synonym
125
+ 'iphone': ['phone'],
126
+ });
127
+ ```
128
+
129
+ ### Stop Words
130
+
131
+ ```typescript
132
+ await meili.index('products').updateStopWords([
133
+ 'the', 'a', 'an', 'is', 'are', 'was', 'were', 'of', 'for', 'in',
134
+ ]);
135
+ ```
136
+
137
+ ## Document Operations
138
+
139
+ ### Adding Documents
140
+
141
+ ```typescript
142
+ const products = [
143
+ {
144
+ id: 'prod_1',
145
+ name: 'Wireless Noise-Canceling Headphones',
146
+ description: 'Premium wireless headphones with active noise cancellation',
147
+ category: 'Electronics',
148
+ brand: 'AudioTech',
149
+ price: 299.99,
150
+ rating: 4.7,
151
+ inStock: true,
152
+ tags: ['wireless', 'noise-canceling', 'bluetooth'],
153
+ slug: 'wireless-noise-canceling-headphones',
154
+ _geo: { lat: 40.7128, lng: -74.0060 },
155
+ },
156
+ // ... more products
157
+ ];
158
+
159
+ // Add or replace documents
160
+ const task = await meili.index('products').addDocuments(products);
161
+
162
+ // Wait for indexing to complete
163
+ await meili.waitForTask(task.taskUid);
164
+
165
+ // Update specific documents (partial update)
166
+ await meili.index('products').updateDocuments([
167
+ { id: 'prod_1', price: 249.99, inStock: false },
168
+ ]);
169
+
170
+ // Delete documents
171
+ await meili.index('products').deleteDocument('prod_1');
172
+ await meili.index('products').deleteDocuments(['prod_1', 'prod_2']);
173
+ await meili.index('products').deleteAllDocuments();
174
+ ```
175
+
176
+ ### Batch Indexing
177
+
178
+ ```typescript
179
+ // For large datasets, batch in chunks
180
+ async function indexAllProducts(products: Product[]) {
181
+ const BATCH_SIZE = 1000;
182
+ const tasks: number[] = [];
183
+
184
+ for (let i = 0; i < products.length; i += BATCH_SIZE) {
185
+ const batch = products.slice(i, i + BATCH_SIZE);
186
+ const task = await meili.index('products').addDocuments(batch);
187
+ tasks.push(task.taskUid);
188
+ }
189
+
190
+ // Wait for all batches to finish
191
+ for (const taskUid of tasks) {
192
+ await meili.waitForTask(taskUid);
193
+ }
194
+ }
195
+ ```
196
+
197
+ ## Searching
198
+
199
+ ### Basic Search
200
+
201
+ ```typescript
202
+ const results = await meili.index('products').search('wireless headphones');
203
+
204
+ // results shape:
205
+ // {
206
+ // hits: [...], // Matching documents
207
+ // query: 'wireless headphones',
208
+ // processingTimeMs: 2,
209
+ // limit: 20,
210
+ // offset: 0,
211
+ // estimatedTotalHits: 42,
212
+ // }
213
+ ```
214
+
215
+ ### Search with Filters
216
+
217
+ ```typescript
218
+ const results = await meili.index('products').search('headphones', {
219
+ filter: [
220
+ 'category = "Electronics"',
221
+ 'price >= 50 AND price <= 300',
222
+ 'inStock = true',
223
+ 'rating >= 4.0',
224
+ ],
225
+ sort: ['price:asc'],
226
+ limit: 20,
227
+ offset: 0,
228
+ });
229
+
230
+ // Array of filter strings are ANDed together
231
+ // Use OR within a string: 'category = "Electronics" OR category = "Audio"'
232
+ // Use arrays for AND between groups, strings for OR within groups:
233
+ // filter: [['category = "Electronics"', 'category = "Audio"'], 'inStock = true']
234
+ // = (Electronics OR Audio) AND inStock
235
+ ```
236
+
237
+ ### Search with Facets
238
+
239
+ ```typescript
240
+ const results = await meili.index('products').search('headphones', {
241
+ facets: ['category', 'brand', 'tags'],
242
+ filter: ['inStock = true'],
243
+ });
244
+
245
+ // results.facetDistribution:
246
+ // {
247
+ // category: { Electronics: 15, Audio: 8, Accessories: 3 },
248
+ // brand: { AudioTech: 10, SoundMax: 8, BassKing: 5 },
249
+ // tags: { wireless: 18, bluetooth: 15, 'noise-canceling': 12 },
250
+ // }
251
+ ```
252
+
253
+ ### Search with Highlighting
254
+
255
+ ```typescript
256
+ const results = await meili.index('products').search('wireless headphones', {
257
+ attributesToHighlight: ['name', 'description'],
258
+ highlightPreTag: '<mark>',
259
+ highlightPostTag: '</mark>',
260
+ attributesToCrop: ['description'],
261
+ cropLength: 30,
262
+ });
263
+
264
+ // Each hit includes _formatted with highlighted matches:
265
+ // hit._formatted.name = '<mark>Wireless</mark> Noise-Canceling <mark>Headphones</mark>'
266
+ ```
267
+
268
+ ### Geo Search
269
+
270
+ ```typescript
271
+ // Find products within 10km of a location
272
+ const results = await meili.index('products').search('coffee shop', {
273
+ filter: ['_geoRadius(40.7128, -74.0060, 10000)'], // lat, lng, radius in meters
274
+ sort: ['_geoPoint(40.7128, -74.0060):asc'], // Sort by distance
275
+ });
276
+
277
+ // Bounding box filter
278
+ const results2 = await meili.index('products').search('', {
279
+ filter: ['_geoBoundingBox([40.82, -74.02], [40.70, -73.95])'], // top-left, bottom-right
280
+ });
281
+ ```
282
+
283
+ ### Multi-Index Search
284
+
285
+ ```typescript
286
+ const results = await meili.multiSearch({
287
+ queries: [
288
+ { indexUid: 'products', q: 'wireless', limit: 5 },
289
+ { indexUid: 'articles', q: 'wireless', limit: 5 },
290
+ { indexUid: 'categories', q: 'wireless', limit: 3 },
291
+ ],
292
+ });
293
+
294
+ // results.results is an array of search results, one per query
295
+ ```
296
+
297
+ ## Tenant Tokens (Multi-Tenancy)
298
+
299
+ Tenant tokens restrict search to specific filter rules. Generate them server-side, use them client-side.
300
+
301
+ ```typescript
302
+ // Server: Generate a tenant token
303
+ import { MeiliSearch } from 'meilisearch';
304
+
305
+ const client = new MeiliSearch({
306
+ host: process.env.MEILISEARCH_HOST!,
307
+ apiKey: process.env.MEILISEARCH_ADMIN_KEY!,
308
+ });
309
+
310
+ function generateTenantToken(tenantId: string): string {
311
+ return client.generateTenantToken(
312
+ process.env.MEILISEARCH_SEARCH_KEY_UID!, // UID of the search key
313
+ {
314
+ products: {
315
+ filter: `tenantId = "${tenantId}"`, // Enforced filter
316
+ },
317
+ },
318
+ {
319
+ expiresAt: new Date(Date.now() + 3600 * 1000), // 1 hour
320
+ },
321
+ );
322
+ }
323
+ ```
324
+
325
+ ```typescript
326
+ // Client: Use the tenant token
327
+ const tenantClient = new MeiliSearch({
328
+ host: 'https://search.example.com',
329
+ apiKey: tenantToken, // Token from server
330
+ });
331
+
332
+ // All searches are automatically scoped to the tenant
333
+ const results = await tenantClient.index('products').search('headphones');
334
+ // Only returns products where tenantId matches
335
+ ```
336
+
337
+ ## Syncing Data
338
+
339
+ ```typescript
340
+ // Pattern: Sync database changes to Meilisearch
341
+ // Call this from your database hooks/triggers
342
+
343
+ async function syncProductToSearch(product: Product, action: 'upsert' | 'delete') {
344
+ const index = meili.index('products');
345
+
346
+ if (action === 'delete') {
347
+ await index.deleteDocument(product.id);
348
+ return;
349
+ }
350
+
351
+ await index.addDocuments([{
352
+ id: product.id,
353
+ name: product.name,
354
+ description: product.description,
355
+ category: product.category,
356
+ brand: product.brand,
357
+ price: product.price,
358
+ rating: product.rating,
359
+ inStock: product.inStock,
360
+ tags: product.tags,
361
+ slug: product.slug,
362
+ updatedAt: product.updatedAt,
363
+ }]);
364
+ }
365
+ ```
366
+
367
+ ## Anti-Patterns
368
+
369
+ | Anti-Pattern | Correct Approach |
370
+ |-------------|-----------------|
371
+ | Using the admin key on the client | Use search-only keys or tenant tokens client-side |
372
+ | Not configuring searchableAttributes | Without it, all fields are searchable (slow, noisy results) |
373
+ | Indexing raw database rows with all columns | Index only fields needed for search, display, and filtering |
374
+ | Calling `waitForTask` in request handlers | Indexing is async -- return immediately, let it process in background |
375
+ | Re-indexing entire dataset on every change | Use incremental `addDocuments` (upserts by primary key) |
376
+ | Using Meilisearch as a primary database | It is a search index -- your database is the source of truth |
377
+
378
+ ## Environment Variables
379
+
380
+ ```env
381
+ MEILISEARCH_HOST=http://localhost:7700
382
+ MEILISEARCH_ADMIN_KEY= # Admin key -- server-side only
383
+ MEILISEARCH_SEARCH_KEY= # Search-only key -- safe for client
384
+ MEILISEARCH_SEARCH_KEY_UID= # UID of search key (for tenant tokens)
385
+ ```
@@ -0,0 +1,189 @@
1
+ ---
2
+ name: typesense
3
+ description: "Typesense search patterns covering collection schemas, indexing, search queries, faceting, geo-search, curation, and InstantSearch adapter. Use when implementing search with Typesense."
4
+ version: 1.0.0
5
+ source: self
6
+ date_added: "2026-03-14"
7
+ ---
8
+
9
+ # Typesense
10
+
11
+ Open-source, typo-tolerant search engine built in C++. Self-hosted or Typesense Cloud. Sub-50ms latency with schema-enforced collections.
12
+
13
+ ## When to Use
14
+
15
+ - Need fast full-text search with a schema-first approach
16
+ - Want a self-hosted, open-source alternative to Algolia
17
+ - Need geo-search, faceted filtering, or curation rules
18
+ - Building e-commerce or content search
19
+
20
+ ## When NOT to Use
21
+
22
+ - Need complex aggregations or analytics on search data (use Elasticsearch)
23
+ - Search is simple enough for DB `LIKE` queries
24
+ - Need document-level security per user (Typesense has collection-level API keys)
25
+
26
+ ## Setup
27
+
28
+ ### Installation
29
+
30
+ ```bash
31
+ npm install typesense # Backend client
32
+ npm install typesense-instantsearch-adapter # For InstantSearch UI
33
+ ```
34
+
35
+ ### Client Initialization
36
+
37
+ ```typescript
38
+ import Typesense from 'typesense';
39
+
40
+ const client = new Typesense.Client({
41
+ nodes: [{ host: 'localhost', port: 8108, protocol: 'http' }],
42
+ apiKey: 'your-admin-api-key',
43
+ connectionTimeoutSeconds: 2,
44
+ });
45
+ ```
46
+
47
+ ## Collections (Schema Definition)
48
+
49
+ ```typescript
50
+ await client.collections().create({
51
+ name: 'products',
52
+ fields: [
53
+ { name: 'name', type: 'string' },
54
+ { name: 'description', type: 'string' },
55
+ { name: 'price', type: 'float', facet: true },
56
+ { name: 'brand', type: 'string', facet: true },
57
+ { name: 'category', type: 'string', facet: true },
58
+ { name: 'rating', type: 'float', facet: true },
59
+ { name: 'in_stock', type: 'bool', facet: true },
60
+ { name: 'tags', type: 'string[]', facet: true },
61
+ { name: 'location', type: 'geopoint', optional: true }, // [lat, lng]
62
+ ],
63
+ default_sorting_field: 'rating',
64
+ });
65
+ ```
66
+
67
+ ## Indexing
68
+
69
+ ```typescript
70
+ // Single document
71
+ await client.collections('products').documents().upsert({
72
+ id: 'product-123',
73
+ name: 'iPhone 15 Pro',
74
+ description: 'Latest iPhone with titanium design',
75
+ price: 999,
76
+ brand: 'Apple',
77
+ category: 'Electronics',
78
+ rating: 4.8,
79
+ in_stock: true,
80
+ tags: ['smartphone', 'apple', 'premium'],
81
+ });
82
+
83
+ // Batch import (JSONL format, up to 40MB per batch)
84
+ await client.collections('products').documents().import(products, { action: 'upsert' });
85
+
86
+ // Delete
87
+ await client.collections('products').documents('product-123').delete();
88
+ ```
89
+
90
+ ## Search Queries
91
+
92
+ ```typescript
93
+ const results = await client.collections('products').documents().search({
94
+ q: 'iphone pro',
95
+ query_by: 'name,description,brand',
96
+ filter_by: 'in_stock:true && price:<1200',
97
+ sort_by: 'rating:desc',
98
+ facet_by: 'brand,category,price',
99
+ max_facet_values: 10,
100
+ page: 1,
101
+ per_page: 20,
102
+ highlight_full_fields: 'name',
103
+ });
104
+
105
+ results.hits?.forEach(hit => {
106
+ const doc = hit.document;
107
+ console.log(`${doc.name} — $${doc.price}`);
108
+ console.log(`Highlight: ${hit.highlights?.[0]?.snippet}`);
109
+ });
110
+
111
+ // Facet counts
112
+ results.facet_counts?.forEach(facet => {
113
+ console.log(`${facet.field_name}:`, facet.counts);
114
+ });
115
+ ```
116
+
117
+ ### Geo-Search
118
+
119
+ ```typescript
120
+ const results = await client.collections('stores').documents().search({
121
+ q: '*',
122
+ query_by: 'name',
123
+ filter_by: 'location:(37.7749, -122.4194, 10 km)', // Within 10km of SF
124
+ sort_by: 'location(37.7749, -122.4194):asc', // Nearest first
125
+ });
126
+ ```
127
+
128
+ ## Scoped API Keys (Multi-Tenant)
129
+
130
+ ```typescript
131
+ // Generate a search key scoped to specific tenant
132
+ const scopedKey = client.keys().generateScopedSearchKey(
133
+ 'base-search-api-key',
134
+ {
135
+ filter_by: 'tenant_id:tenant-123',
136
+ expires_at: Math.floor(Date.now() / 1000) + 3600,
137
+ }
138
+ );
139
+ // Give this key to the frontend — it can only search tenant-123's data
140
+ ```
141
+
142
+ ## InstantSearch Adapter
143
+
144
+ ```tsx
145
+ import TypesenseInstantsearchAdapter from 'typesense-instantsearch-adapter';
146
+ import { InstantSearch, SearchBox, Hits, RefinementList } from 'react-instantsearch';
147
+
148
+ const adapter = new TypesenseInstantsearchAdapter({
149
+ server: {
150
+ apiKey: 'search-only-key',
151
+ nodes: [{ host: 'search.example.com', port: 443, protocol: 'https' }],
152
+ },
153
+ additionalSearchParameters: { query_by: 'name,description,brand' },
154
+ });
155
+
156
+ function SearchPage() {
157
+ return (
158
+ <InstantSearch searchClient={adapter.searchClient} indexName="products">
159
+ <SearchBox />
160
+ <RefinementList attribute="brand" />
161
+ <Hits hitComponent={ProductHit} />
162
+ </InstantSearch>
163
+ );
164
+ }
165
+ ```
166
+
167
+ ## Key Limits
168
+
169
+ | Limit | Value |
170
+ |-------|-------|
171
+ | Max document size | 10 KB (default, configurable) |
172
+ | Max import batch size | 40 MB |
173
+ | Max `query_by` fields | 100 |
174
+ | Max facet values returned | 250 |
175
+ | Max results per search | 250 (use pagination for more) |
176
+ | API key scoping | Collection-level (not document-level) |
177
+
178
+ ## Anti-Patterns
179
+
180
+ | Don't | Do |
181
+ |-------|-----|
182
+ | Expose admin API key to client | Generate scoped search keys for frontend |
183
+ | Skip schema definition | Define explicit schemas — Typesense enforces types |
184
+ | Use `*` for `query_by` | List specific fields ordered by relevance priority |
185
+ | Import one document at a time | Batch import with `documents().import()` |
186
+ | Filter by high-cardinality fields without facet:true | Mark filterable fields as `facet: true` in schema |
187
+ | Use `default_sorting_field` for non-numeric fields | Only numeric fields (int32, float) work as default sort |
188
+ | Skip `upsert` action on re-import | Use `{ action: 'upsert' }` to avoid duplicate errors |
189
+ | Store large blobs as document fields | Store file content externally, index metadata only |