cfsa-antigravity 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/bin/cli.mjs +324 -0
  2. package/package.json +34 -0
  3. package/template/.agent/instructions/commands.md +48 -0
  4. package/template/.agent/instructions/patterns.md +61 -0
  5. package/template/.agent/instructions/structure.md +29 -0
  6. package/template/.agent/instructions/tech-stack.md +43 -0
  7. package/template/.agent/instructions/workflow.md +41 -0
  8. package/template/.agent/kit-sync.md +15 -0
  9. package/template/.agent/rules/boundary-not-placeholder.md +146 -0
  10. package/template/.agent/rules/completion-checklist.md +48 -0
  11. package/template/.agent/rules/decision-classification.md +103 -0
  12. package/template/.agent/rules/extensibility.md +47 -0
  13. package/template/.agent/rules/question-vs-command.md +81 -0
  14. package/template/.agent/rules/security-first.md +43 -0
  15. package/template/.agent/rules/specificity-standards.md +54 -0
  16. package/template/.agent/rules/tdd-contract-first.md +57 -0
  17. package/template/.agent/rules/vertical-slices.md +42 -0
  18. package/template/.agent/skill-library/MANIFEST.md +480 -0
  19. package/template/.agent/skill-library/README.md +38 -0
  20. package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +73 -0
  21. package/template/.agent/skill-library/meta/claude-code/README.md +9 -0
  22. package/template/.agent/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  23. package/template/.agent/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  24. package/template/.agent/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  25. package/template/.agent/skill-library/meta/git-advanced/SKILL.md +972 -0
  26. package/template/.agent/skill-library/meta/mcp-builder/SKILL.md +236 -0
  27. package/template/.agent/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  28. package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +751 -0
  29. package/template/.agent/skill-library/meta/tmux-processes/SKILL.md +210 -0
  30. package/template/.agent/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  31. package/template/.agent/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  32. package/template/.agent/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  33. package/template/.agent/skill-library/stack/ai/langchain/SKILL.md +530 -0
  34. package/template/.agent/skill-library/stack/ai/ollama/SKILL.md +321 -0
  35. package/template/.agent/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  36. package/template/.agent/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  37. package/template/.agent/skill-library/stack/api/graphql/SKILL.md +1061 -0
  38. package/template/.agent/skill-library/stack/api/trpc/SKILL.md +576 -0
  39. package/template/.agent/skill-library/stack/auth/authjs/SKILL.md +569 -0
  40. package/template/.agent/skill-library/stack/auth/clerk/SKILL.md +590 -0
  41. package/template/.agent/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  42. package/template/.agent/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  43. package/template/.agent/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  44. package/template/.agent/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  45. package/template/.agent/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  46. package/template/.agent/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  47. package/template/.agent/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  48. package/template/.agent/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  49. package/template/.agent/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  50. package/template/.agent/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  51. package/template/.agent/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  52. package/template/.agent/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  53. package/template/.agent/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  54. package/template/.agent/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  55. package/template/.agent/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  56. package/template/.agent/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  57. package/template/.agent/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  58. package/template/.agent/skill-library/stack/databases/redis/SKILL.md +1079 -0
  59. package/template/.agent/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  60. package/template/.agent/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  61. package/template/.agent/skill-library/stack/databases/supabase/SKILL.md +640 -0
  62. package/template/.agent/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  63. package/template/.agent/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  64. package/template/.agent/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  65. package/template/.agent/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  66. package/template/.agent/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  67. package/template/.agent/skill-library/stack/devops/nginx/SKILL.md +841 -0
  68. package/template/.agent/skill-library/stack/devops/terraform/SKILL.md +860 -0
  69. package/template/.agent/skill-library/stack/email/resend/SKILL.md +391 -0
  70. package/template/.agent/skill-library/stack/engines/godot/SKILL.md +488 -0
  71. package/template/.agent/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  72. package/template/.agent/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  73. package/template/.agent/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  74. package/template/.agent/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  75. package/template/.agent/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  76. package/template/.agent/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  77. package/template/.agent/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  78. package/template/.agent/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  79. package/template/.agent/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  80. package/template/.agent/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  81. package/template/.agent/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  82. package/template/.agent/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  83. package/template/.agent/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  84. package/template/.agent/skill-library/stack/hosting/aws/SKILL.md +467 -0
  85. package/template/.agent/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  86. package/template/.agent/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  87. package/template/.agent/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  88. package/template/.agent/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  89. package/template/.agent/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  90. package/template/.agent/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  91. package/template/.agent/skill-library/stack/languages/go/SKILL.md +664 -0
  92. package/template/.agent/skill-library/stack/languages/java/SKILL.md +778 -0
  93. package/template/.agent/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  94. package/template/.agent/skill-library/stack/languages/python/SKILL.md +678 -0
  95. package/template/.agent/skill-library/stack/languages/rust/SKILL.md +673 -0
  96. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  97. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  98. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  99. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  100. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  101. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  102. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  103. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  104. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  105. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  106. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  107. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  108. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  109. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  110. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  111. package/template/.agent/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  112. package/template/.agent/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  113. package/template/.agent/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  114. package/template/.agent/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  115. package/template/.agent/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  116. package/template/.agent/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  117. package/template/.agent/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  118. package/template/.agent/skill-library/stack/observability/datadog/SKILL.md +179 -0
  119. package/template/.agent/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  120. package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +168 -0
  121. package/template/.agent/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  122. package/template/.agent/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  123. package/template/.agent/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  124. package/template/.agent/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  125. package/template/.agent/skill-library/stack/orm/prisma/SKILL.md +744 -0
  126. package/template/.agent/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  127. package/template/.agent/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  128. package/template/.agent/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  129. package/template/.agent/skill-library/stack/queue/inngest/SKILL.md +438 -0
  130. package/template/.agent/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  131. package/template/.agent/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  132. package/template/.agent/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  133. package/template/.agent/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  134. package/template/.agent/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  135. package/template/.agent/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  136. package/template/.agent/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  137. package/template/.agent/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  138. package/template/.agent/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  139. package/template/.agent/skill-library/stack/state/zustand/SKILL.md +483 -0
  140. package/template/.agent/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  141. package/template/.agent/skill-library/stack/testing/playwright/SKILL.md +641 -0
  142. package/template/.agent/skill-library/stack/testing/storybook/SKILL.md +923 -0
  143. package/template/.agent/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  144. package/template/.agent/skill-library/stack/testing/vitest/SKILL.md +714 -0
  145. package/template/.agent/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  146. package/template/.agent/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  147. package/template/.agent/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  148. package/template/.agent/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  149. package/template/.agent/skill-library/surface/api/api-caching/SKILL.md +458 -0
  150. package/template/.agent/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  151. package/template/.agent/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  152. package/template/.agent/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  153. package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +420 -0
  154. package/template/.agent/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  155. package/template/.agent/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  156. package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +478 -0
  157. package/template/.agent/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  158. package/template/.agent/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  159. package/template/.agent/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  160. package/template/.agent/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  161. package/template/.agent/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  162. package/template/.agent/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  163. package/template/.agent/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  164. package/template/.agent/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  165. package/template/.agent/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  166. package/template/.agent/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  167. package/template/.agent/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  168. package/template/.agent/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  169. package/template/.agent/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  170. package/template/.agent/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  171. package/template/.agent/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  172. package/template/.agent/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  173. package/template/.agent/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  174. package/template/.agent/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  175. package/template/.agent/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  176. package/template/.agent/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  177. package/template/.agent/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  178. package/template/.agent/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  179. package/template/.agent/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  180. package/template/.agent/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  181. package/template/.agent/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  182. package/template/.agent/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  183. package/template/.agent/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  184. package/template/.agent/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  185. package/template/.agent/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  186. package/template/.agent/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  187. package/template/.agent/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  188. package/template/.agent/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  189. package/template/.agent/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  190. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  191. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  192. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  193. package/template/.agent/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  194. package/template/.agent/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  195. package/template/.agent/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  196. package/template/.agent/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  197. package/template/.agent/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  198. package/template/.agent/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  199. package/template/.agent/skill-library/surface/web/i18n-localization/SKILL.md +154 -0
  200. package/template/.agent/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  201. package/template/.agent/skill-library/surface/web/page-cro/SKILL.md +182 -0
  202. package/template/.agent/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  203. package/template/.agent/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  204. package/template/.agent/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  205. package/template/.agent/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  206. package/template/.agent/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  207. package/template/.agent/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  208. package/template/.agent/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  209. package/template/.agent/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  210. package/template/.agent/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  211. package/template/.agent/skills/accessibility/SKILL.md +522 -0
  212. package/template/.agent/skills/accessibility/references/WCAG.md +162 -0
  213. package/template/.agent/skills/adversarial-review/SKILL.md +90 -0
  214. package/template/.agent/skills/antigravity-workflows/SKILL.md +81 -0
  215. package/template/.agent/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  216. package/template/.agent/skills/api-design-principles/SKILL.md +37 -0
  217. package/template/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  218. package/template/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
  219. package/template/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  220. package/template/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
  221. package/template/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  222. package/template/.agent/skills/api-versioning/SKILL.md +420 -0
  223. package/template/.agent/skills/architecture-mapping/SKILL.md +219 -0
  224. package/template/.agent/skills/bootstrap-agents/SKILL.md +259 -0
  225. package/template/.agent/skills/brainstorming/SKILL.md +236 -0
  226. package/template/.agent/skills/brand-guidelines/SKILL.md +44 -0
  227. package/template/.agent/skills/clean-code/SKILL.md +94 -0
  228. package/template/.agent/skills/code-review-pro/SKILL.md +152 -0
  229. package/template/.agent/skills/concise-planning/SKILL.md +68 -0
  230. package/template/.agent/skills/cross-layer-consistency/SKILL.md +117 -0
  231. package/template/.agent/skills/database-schema-design/SKILL.md +429 -0
  232. package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
  233. package/template/.agent/skills/design-anti-cliche/SKILL.md +159 -0
  234. package/template/.agent/skills/design-direction/SKILL.md +45 -0
  235. package/template/.agent/skills/error-handling-patterns/SKILL.md +721 -0
  236. package/template/.agent/skills/find-skills/SKILL.md +145 -0
  237. package/template/.agent/skills/git-advanced/SKILL.md +972 -0
  238. package/template/.agent/skills/git-workflow/SKILL.md +420 -0
  239. package/template/.agent/skills/idea-extraction/SKILL.md +271 -0
  240. package/template/.agent/skills/logging-best-practices/SKILL.md +851 -0
  241. package/template/.agent/skills/migration-management/SKILL.md +384 -0
  242. package/template/.agent/skills/minimalist-surgical-development/SKILL.md +69 -0
  243. package/template/.agent/skills/parallel-agents/SKILL.md +165 -0
  244. package/template/.agent/skills/parallel-debugging/SKILL.md +135 -0
  245. package/template/.agent/skills/parallel-feature-development/SKILL.md +166 -0
  246. package/template/.agent/skills/performance-budgeting/SKILL.md +144 -0
  247. package/template/.agent/skills/pipeline-rubrics/SKILL.md +51 -0
  248. package/template/.agent/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  249. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  250. package/template/.agent/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  251. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  252. package/template/.agent/skills/pipeline-rubrics/references/scoring.md +28 -0
  253. package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +11 -0
  254. package/template/.agent/skills/prd-templates/SKILL.md +88 -0
  255. package/template/.agent/skills/prd-templates/references/architecture-design-template.md +88 -0
  256. package/template/.agent/skills/prd-templates/references/be-spec-template.md +101 -0
  257. package/template/.agent/skills/prd-templates/references/data-placement-template.md +74 -0
  258. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +211 -0
  259. package/template/.agent/skills/prd-templates/references/design-system-decisions.md +198 -0
  260. package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +124 -0
  261. package/template/.agent/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  262. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +84 -0
  263. package/template/.agent/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  264. package/template/.agent/skills/prd-templates/references/operational-templates.md +116 -0
  265. package/template/.agent/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  266. package/template/.agent/skills/prd-templates/references/surface-model.md +61 -0
  267. package/template/.agent/skills/prd-templates/references/vision-template.md +66 -0
  268. package/template/.agent/skills/prompt-engineer/README.md +659 -0
  269. package/template/.agent/skills/prompt-engineer/SKILL.md +249 -0
  270. package/template/.agent/skills/regex-patterns/SKILL.md +751 -0
  271. package/template/.agent/skills/resolve-ambiguity/SKILL.md +278 -0
  272. package/template/.agent/skills/rest-api-design/SKILL.md +478 -0
  273. package/template/.agent/skills/security-scanning-security-hardening/SKILL.md +231 -0
  274. package/template/.agent/skills/session-continuity/SKILL.md +730 -0
  275. package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +38 -0
  276. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  277. package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +70 -0
  278. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  279. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +37 -0
  280. package/template/.agent/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  281. package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  282. package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +43 -0
  283. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  284. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +104 -0
  285. package/template/.agent/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  286. package/template/.agent/skills/skill-creator/LICENSE.txt +202 -0
  287. package/template/.agent/skills/skill-creator/README.md +270 -0
  288. package/template/.agent/skills/skill-creator/SKILL.md +590 -0
  289. package/template/.agent/skills/skill-creator/references/output-patterns.md +82 -0
  290. package/template/.agent/skills/skill-creator/references/workflows.md +28 -0
  291. package/template/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
  292. package/template/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
  293. package/template/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
  294. package/template/.agent/skills/spec-writing/SKILL.md +110 -0
  295. package/template/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
  296. package/template/.agent/skills/systematic-debugging/SKILL.md +297 -0
  297. package/template/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  298. package/template/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
  299. package/template/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
  300. package/template/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
  301. package/template/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
  302. package/template/.agent/skills/systematic-debugging/test-academic.md +14 -0
  303. package/template/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
  304. package/template/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
  305. package/template/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
  306. package/template/.agent/skills/tdd-workflow/SKILL.md +409 -0
  307. package/template/.agent/skills/tech-stack-catalog/SKILL.md +49 -0
  308. package/template/.agent/skills/tech-stack-catalog/references/constraint-questions.md +21 -0
  309. package/template/.agent/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  310. package/template/.agent/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  311. package/template/.agent/skills/technical-writer/SKILL.md +242 -0
  312. package/template/.agent/skills/testing-strategist/SKILL.md +932 -0
  313. package/template/.agent/skills/verification-before-completion/SKILL.md +145 -0
  314. package/template/.agent/skills/workflow-automation/SKILL.md +73 -0
  315. package/template/.agent/workflows/audit-ambiguity-execute.md +165 -0
  316. package/template/.agent/workflows/audit-ambiguity-rubrics.md +83 -0
  317. package/template/.agent/workflows/audit-ambiguity.md +64 -0
  318. package/template/.agent/workflows/bootstrap-agents-fill.md +201 -0
  319. package/template/.agent/workflows/bootstrap-agents-provision.md +197 -0
  320. package/template/.agent/workflows/bootstrap-agents.md +66 -0
  321. package/template/.agent/workflows/create-prd-architecture.md +119 -0
  322. package/template/.agent/workflows/create-prd-compile.md +138 -0
  323. package/template/.agent/workflows/create-prd-design-system.md +135 -0
  324. package/template/.agent/workflows/create-prd-security.md +113 -0
  325. package/template/.agent/workflows/create-prd-stack.md +91 -0
  326. package/template/.agent/workflows/create-prd.md +168 -0
  327. package/template/.agent/workflows/decompose-architecture-structure.md +82 -0
  328. package/template/.agent/workflows/decompose-architecture-validate.md +119 -0
  329. package/template/.agent/workflows/decompose-architecture.md +111 -0
  330. package/template/.agent/workflows/evolve-contract.md +98 -0
  331. package/template/.agent/workflows/evolve-feature-cascade.md +140 -0
  332. package/template/.agent/workflows/evolve-feature-classify.md +116 -0
  333. package/template/.agent/workflows/evolve-feature.md +56 -0
  334. package/template/.agent/workflows/ideate-discover.md +144 -0
  335. package/template/.agent/workflows/ideate-extract.md +129 -0
  336. package/template/.agent/workflows/ideate-validate.md +117 -0
  337. package/template/.agent/workflows/ideate.md +113 -0
  338. package/template/.agent/workflows/implement-slice-setup.md +113 -0
  339. package/template/.agent/workflows/implement-slice-tdd.md +198 -0
  340. package/template/.agent/workflows/implement-slice.md +50 -0
  341. package/template/.agent/workflows/plan-phase.md +202 -0
  342. package/template/.agent/workflows/propagate-decision-apply.md +135 -0
  343. package/template/.agent/workflows/propagate-decision-scan.md +147 -0
  344. package/template/.agent/workflows/propagate-decision.md +56 -0
  345. package/template/.agent/workflows/remediate-pipeline-assess.md +138 -0
  346. package/template/.agent/workflows/remediate-pipeline-execute.md +135 -0
  347. package/template/.agent/workflows/remediate-pipeline.md +55 -0
  348. package/template/.agent/workflows/resolve-ambiguity.md +82 -0
  349. package/template/.agent/workflows/sync-kit.md +209 -0
  350. package/template/.agent/workflows/update-architecture-map.md +74 -0
  351. package/template/.agent/workflows/validate-phase.md +219 -0
  352. package/template/.agent/workflows/verify-infrastructure.md +207 -0
  353. package/template/.agent/workflows/write-architecture-spec-deepen.md +139 -0
  354. package/template/.agent/workflows/write-architecture-spec-design.md +202 -0
  355. package/template/.agent/workflows/write-architecture-spec.md +63 -0
  356. package/template/.agent/workflows/write-be-spec-classify.md +165 -0
  357. package/template/.agent/workflows/write-be-spec-write.md +98 -0
  358. package/template/.agent/workflows/write-be-spec.md +76 -0
  359. package/template/.agent/workflows/write-fe-spec-classify.md +170 -0
  360. package/template/.agent/workflows/write-fe-spec-write.md +94 -0
  361. package/template/.agent/workflows/write-fe-spec.md +71 -0
  362. package/template/AGENTS.md +176 -0
  363. package/template/GEMINI.md +177 -0
  364. package/template/docs/README.md +187 -0
  365. package/template/docs/audits/.gitkeep +0 -0
  366. package/template/docs/audits/README.md +10 -0
  367. package/template/docs/plans/.gitkeep +0 -0
  368. package/template/docs/plans/README.md +21 -0
  369. package/template/docs/plans/be/.gitkeep +0 -0
  370. package/template/docs/plans/be/README.md +11 -0
  371. package/template/docs/plans/fe/.gitkeep +0 -0
  372. package/template/docs/plans/fe/README.md +11 -0
  373. package/template/docs/plans/ia/.gitkeep +0 -0
  374. package/template/docs/plans/ia/README.md +17 -0
  375. package/template/docs/plans/ia/deep-dives/.gitkeep +0 -0
  376. package/template/docs/plans/ia/deep-dives/README.md +5 -0
  377. package/template/docs/plans/phases/.gitkeep +0 -0
  378. package/template/docs/plans/phases/README.md +11 -0
@@ -0,0 +1,241 @@
1
+ ---
2
+ name: pgvector
3
+ description: "Expert pgvector guide covering vector column types, HNSW and IVFFlat indexing, distance operators, hybrid queries combining SQL and vector similarity, embedding storage patterns, index tuning, and integration with PostgreSQL features (CTEs, JOINs, RLS). Use when adding vector search to an existing PostgreSQL database without a separate vector store."
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # pgvector Expert Guide
8
+
9
+ > Use this skill when adding vector similarity search to an existing PostgreSQL database using the pgvector extension. This avoids a separate vector store by co-locating embeddings with relational data. Targets pgvector 0.7+.
10
+
11
+ ## When to Use This Skill
12
+
13
+ - Adding semantic search to an existing PostgreSQL-backed application
14
+ - Co-locating vector embeddings with relational data to avoid a separate vector store
15
+ - Hybrid queries combining SQL filters (WHERE, JOIN, RLS) with vector similarity
16
+ - RAG pipelines where the primary data is already in PostgreSQL
17
+ - Teams that want to minimize infrastructure by reusing their existing database
18
+
19
+ ## When NOT to Use This Skill
20
+
21
+ - Dedicated vector workloads at massive scale (100M+ vectors) → use Qdrant or Pinecone
22
+ - No existing PostgreSQL database → evaluate dedicated vector stores first
23
+ - Real-time streaming similarity → Qdrant or Weaviate may offer lower latency
24
+
25
+ ---
26
+
27
+ ## 1. Setup
28
+
29
+ ### Enable Extension
30
+
31
+ ```sql
32
+ -- Requires superuser or rds_superuser on managed services
33
+ CREATE EXTENSION IF NOT EXISTS vector;
34
+ ```
35
+
36
+ ### Vector Column
37
+
38
+ ```sql
39
+ CREATE TABLE documents (
40
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
41
+ title TEXT NOT NULL,
42
+ content TEXT NOT NULL,
43
+ embedding VECTOR(1536), -- dimension must match embedding model
44
+ category TEXT,
45
+ created_at TIMESTAMPTZ DEFAULT NOW()
46
+ );
47
+ ```
48
+
49
+ ---
50
+
51
+ ## 2. Distance Operators
52
+
53
+ | Operator | Distance | Use Case |
54
+ |----------|----------|----------|
55
+ | `<->` | L2 (Euclidean) | Feature vectors |
56
+ | `<=>` | Cosine | Text embeddings (most common) |
57
+ | `<#>` | Inner product (negative) | Pre-normalised vectors |
58
+
59
+ ```sql
60
+ -- Cosine similarity search (most common for LLM embeddings)
61
+ SELECT id, title, 1 - (embedding <=> $1) AS similarity
62
+ FROM documents
63
+ ORDER BY embedding <=> $1
64
+ LIMIT 10;
65
+ ```
66
+
67
+ ---
68
+
69
+ ## 3. Index Strategy
70
+
71
+ ### HNSW Index (Recommended)
72
+
73
+ ```sql
74
+ -- Create HNSW index for cosine distance
75
+ CREATE INDEX ON documents
76
+ USING hnsw (embedding vector_cosine_ops)
77
+ WITH (m = 16, ef_construction = 200);
78
+
79
+ -- At query time, set ef_search for recall/speed tradeoff
80
+ SET hnsw.ef_search = 100; -- higher = more accurate, slower
81
+ ```
82
+
83
+ ### IVFFlat Index (Legacy, Faster Build)
84
+
85
+ ```sql
86
+ -- Create IVFFlat index
87
+ CREATE INDEX ON documents
88
+ USING ivfflat (embedding vector_cosine_ops)
89
+ WITH (lists = 100); -- sqrt(row_count) is a good starting point
90
+
91
+ -- At query time
92
+ SET ivfflat.probes = 10; -- higher = more accurate
93
+ ```
94
+
95
+ ### Choosing Index Type
96
+
97
+ | Factor | HNSW | IVFFlat |
98
+ |--------|------|---------|
99
+ | Query accuracy | Higher | Lower (depends on probes) |
100
+ | Build time | Slower | Faster |
101
+ | Memory | Higher | Lower |
102
+ | Recommendation | **Default choice** | Large datasets with fast index rebuild needs |
103
+
104
+ ---
105
+
106
+ ## 4. Hybrid Queries (SQL + Vector)
107
+
108
+ ### Filtered Vector Search
109
+
110
+ ```sql
111
+ -- Vector search with SQL filters — pgvector's superpower
112
+ SELECT id, title, 1 - (embedding <=> $1) AS similarity
113
+ FROM documents
114
+ WHERE category = 'engineering'
115
+ AND created_at > NOW() - INTERVAL '30 days'
116
+ ORDER BY embedding <=> $1
117
+ LIMIT 20;
118
+ ```
119
+
120
+ ### JOIN with Vector Search
121
+
122
+ ```sql
123
+ -- Find similar documents by the same author
124
+ SELECT d.id, d.title, 1 - (d.embedding <=> $1) AS similarity, u.name AS author
125
+ FROM documents d
126
+ JOIN users u ON d.author_id = u.id
127
+ WHERE u.team = 'engineering'
128
+ ORDER BY d.embedding <=> $1
129
+ LIMIT 10;
130
+ ```
131
+
132
+ ### Row-Level Security + Vector Search
133
+
134
+ ```sql
135
+ -- RLS policies apply transparently to vector queries
136
+ ALTER TABLE documents ENABLE ROW LEVEL SECURITY;
137
+
138
+ CREATE POLICY documents_read ON documents FOR SELECT
139
+ USING (public = true OR author_id = current_setting('app.user_id')::uuid);
140
+
141
+ -- This vector query automatically respects RLS
142
+ SELECT id, title FROM documents ORDER BY embedding <=> $1 LIMIT 10;
143
+ ```
144
+
145
+ ### CTE Pattern for Multi-Stage Retrieval
146
+
147
+ ```sql
148
+ -- Stage 1: Coarse vector retrieval
149
+ -- Stage 2: Re-rank or filter
150
+ WITH candidates AS (
151
+ SELECT id, title, content, embedding <=> $1 AS distance
152
+ FROM documents
153
+ ORDER BY embedding <=> $1
154
+ LIMIT 100
155
+ )
156
+ SELECT id, title, 1 - distance AS similarity
157
+ FROM candidates
158
+ WHERE distance < 0.3 -- threshold
159
+ ORDER BY distance
160
+ LIMIT 10;
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 5. Embedding Storage Patterns
166
+
167
+ ### Batch Upsert
168
+
169
+ ```sql
170
+ -- Use INSERT ... ON CONFLICT for idempotent upserts
171
+ INSERT INTO documents (id, title, content, embedding)
172
+ VALUES ($1, $2, $3, $4)
173
+ ON CONFLICT (id) DO UPDATE SET
174
+ embedding = EXCLUDED.embedding,
175
+ content = EXCLUDED.content;
176
+ ```
177
+
178
+ ### Partial Indexes (Sparse Vectors)
179
+
180
+ ```sql
181
+ -- Index only rows that have embeddings
182
+ CREATE INDEX ON documents
183
+ USING hnsw (embedding vector_cosine_ops)
184
+ WHERE embedding IS NOT NULL;
185
+ ```
186
+
187
+ ---
188
+
189
+ ## 6. Driver Usage
190
+
191
+ ### Python (psycopg + pgvector)
192
+
193
+ ```python
194
+ import psycopg
195
+ from pgvector.psycopg import register_vector
196
+
197
+ conn = psycopg.connect(os.environ["DATABASE_URL"])
198
+ register_vector(conn)
199
+
200
+ # Search
201
+ embedding = get_embedding("search query") # from your embedding model
202
+ results = conn.execute(
203
+ "SELECT id, title, 1 - (embedding <=> %s) AS similarity "
204
+ "FROM documents ORDER BY embedding <=> %s LIMIT 10",
205
+ (embedding, embedding),
206
+ ).fetchall()
207
+ ```
208
+
209
+ ### Node.js (pgvector/pg)
210
+
211
+ ```typescript
212
+ import pgvector from 'pgvector/pg';
213
+ import pg from 'pg';
214
+
215
+ const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
216
+ await pgvector.registerType(pool);
217
+
218
+ const result = await pool.query(
219
+ 'SELECT id, title, 1 - (embedding <=> $1) AS similarity FROM documents ORDER BY embedding <=> $1 LIMIT 10',
220
+ [pgvector.toSql(queryEmbedding)]
221
+ );
222
+ ```
223
+
224
+ ---
225
+
226
+ ## 7. Cross-Store Coordination
227
+
228
+ pgvector lives **inside** PostgreSQL, so there is no cross-store coordination needed when PostgreSQL is the primary store. The canonical IDs are the same table PKs. This is pgvector's primary advantage: no sync, no eventual consistency, no ID mapping.
229
+
230
+ If another store is primary, follow the standard canonical ID rule — store the primary store's UUID in the `id` column.
231
+
232
+ ---
233
+
234
+ ## 8. Common Anti-Patterns
235
+
236
+ 1. **Missing HNSW index** — without an index, vector queries do sequential scans on the entire table
237
+ 2. **Wrong distance operator** — using `<->` (L2) for cosine-normalised embeddings instead of `<=>`
238
+ 3. **Storing embeddings without the source text** — you need the text for re-embedding; store it or keep a reference
239
+ 4. **Not setting `ef_search`** — HNSW defaults may be too low for your accuracy needs
240
+ 5. **Huge embedding dimensions without quantization** — pgvector supports `halfvec` for 16-bit floats to halve storage
241
+ 6. **Using pgvector as a dedicated vector engine at 100M+ scale** — at extreme scale, a purpose-built vector DB offers better throughput
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: pinecone
3
+ description: "Expert Pinecone guide covering serverless and pod-based index design, namespace partitioning, metadata filtering, sparse-dense hybrid search, embedding pipeline patterns, SDK setup, cross-store coordination, and security hardening. Use when building production vector search with a fully managed serverless infrastructure."
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Pinecone Expert Guide
8
+
9
+ > Use this skill when designing vector indexes on Pinecone, writing upsert and query operations, planning namespace strategies, setting up SDKs, or coordinating Pinecone with primary stores. Targets Pinecone Serverless.
10
+
11
+ ## When to Use This Skill
12
+
13
+ - Production vector search requiring fully managed, auto-scaling infrastructure
14
+ - RAG pipelines with millions to billions of vectors
15
+ - Sparse-dense hybrid search (BM25 + embedding)
16
+ - Teams that want zero operational overhead for vector infrastructure
17
+ - Multi-tenant applications using namespace isolation
18
+
19
+ ## When NOT to Use This Skill
20
+
21
+ - Budget-constrained projects → self-hosted Qdrant is free
22
+ - Need to co-locate vectors with relational data → use pgvector
23
+ - Graph traversal requirements → use Neo4j
24
+ - Need full SQL alongside vectors → use pgvector or SurrealDB
25
+
26
+ ---
27
+
28
+ ## 1. Index Design
29
+
30
+ ### Serverless Index (Recommended)
31
+
32
+ ```python
33
+ from pinecone import Pinecone, ServerlessSpec
34
+
35
+ pc = Pinecone(api_key=os.environ["PINECONE_API_KEY"])
36
+
37
+ pc.create_index(
38
+ name="documents",
39
+ dimension=1536,
40
+ metric="cosine", # cosine, euclidean, dotproduct
41
+ spec=ServerlessSpec(
42
+ cloud="aws",
43
+ region="us-east-1",
44
+ ),
45
+ )
46
+ ```
47
+
48
+ ### Namespaces (Multi-Tenancy)
49
+
50
+ Namespaces partition data within a single index. Use them for:
51
+ - Per-tenant isolation in multi-tenant apps
52
+ - Per-environment separation (dev/staging/prod data in one index)
53
+ - Logical grouping (by document type, language, etc.)
54
+
55
+ ```python
56
+ index = pc.Index("documents")
57
+
58
+ # Upsert into a specific namespace
59
+ index.upsert(
60
+ vectors=[("doc-1", [0.1, 0.2, ...], {"title": "Doc 1"})],
61
+ namespace="tenant-abc",
62
+ )
63
+
64
+ # Query within a namespace
65
+ results = index.query(
66
+ vector=query_embedding,
67
+ top_k=10,
68
+ namespace="tenant-abc",
69
+ )
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 2. Upsert Patterns
75
+
76
+ ### Batch Upsert
77
+
78
+ ```python
79
+ # Always batch — never upsert one vector at a time
80
+ vectors = [
81
+ ("id-1", embedding_1, {"title": "Doc 1", "category": "eng"}),
82
+ ("id-2", embedding_2, {"title": "Doc 2", "category": "sales"}),
83
+ ]
84
+
85
+ index.upsert(vectors=vectors, namespace="default")
86
+ ```
87
+
88
+ ### Metadata Schema
89
+
90
+ ```python
91
+ # Metadata values: string, number, boolean, list of strings
92
+ {
93
+ "title": "Architecture Design",
94
+ "category": "engineering",
95
+ "created_at": 1706000000, # Unix timestamp (number)
96
+ "tags": ["architecture", "design"], # list of strings
97
+ "public": True,
98
+ "word_count": 2500,
99
+ "author_id": "user-uuid-123", # canonical ID from primary store
100
+ }
101
+ ```
102
+
103
+ > Metadata keys and string values are indexed automatically. Maximum metadata size: 40KB per vector.
104
+
105
+ ---
106
+
107
+ ## 3. Query Patterns
108
+
109
+ ### Basic Vector Search
110
+
111
+ ```python
112
+ results = index.query(
113
+ vector=query_embedding,
114
+ top_k=10,
115
+ include_metadata=True,
116
+ )
117
+ ```
118
+
119
+ ### Filtered Search
120
+
121
+ ```python
122
+ results = index.query(
123
+ vector=query_embedding,
124
+ top_k=20,
125
+ filter={
126
+ "category": {"$eq": "engineering"},
127
+ "word_count": {"$gte": 500},
128
+ "tags": {"$in": ["architecture"]},
129
+ },
130
+ include_metadata=True,
131
+ )
132
+ ```
133
+
134
+ ### Sparse-Dense Hybrid Search
135
+
136
+ ```python
137
+ # Combines BM25-style sparse vectors with dense embeddings
138
+ results = index.query(
139
+ vector=dense_embedding,
140
+ sparse_vector={"indices": [1, 50, 1000], "values": [0.5, 0.3, 0.8]},
141
+ top_k=10,
142
+ )
143
+ ```
144
+
145
+ ### Fetch by ID (No Vector Search)
146
+
147
+ ```python
148
+ result = index.fetch(ids=["doc-1", "doc-2"], namespace="default")
149
+ ```
150
+
151
+ ---
152
+
153
+ ## 4. SDK Setup
154
+
155
+ ### Python
156
+
157
+ ```python
158
+ from pinecone import Pinecone
159
+
160
+ pc = Pinecone(api_key=os.environ["PINECONE_API_KEY"])
161
+ index = pc.Index("documents")
162
+ ```
163
+
164
+ ### JavaScript/TypeScript
165
+
166
+ ```typescript
167
+ import { Pinecone } from '@pinecone-database/pinecone';
168
+
169
+ const pc = new Pinecone({ apiKey: process.env.PINECONE_API_KEY! });
170
+ const index = pc.index('documents');
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 5. Cross-Store Coordination
176
+
177
+ ### Canonical ID Rule
178
+
179
+ Use the primary store's UUID as the Pinecone vector ID:
180
+
181
+ ```python
182
+ # Primary store creates entity → returns UUID
183
+ # Use that UUID as the Pinecone vector ID
184
+ index.upsert(vectors=[(primary_store_uuid, embedding, metadata)])
185
+ ```
186
+
187
+ ### Sync Pattern
188
+
189
+ 1. Write to primary store → get UUID
190
+ 2. Generate embedding from entity content
191
+ 3. Upsert to Pinecone with UUID as vector ID
192
+ 4. On update → regenerate embedding → upsert (idempotent)
193
+ 5. On delete → `index.delete(ids=[uuid])`
194
+
195
+ ---
196
+
197
+ ## 6. Security
198
+
199
+ - **API key rotation** — rotate keys regularly; use environment variables, never hardcode
200
+ - **Project isolation** — each Pinecone project has its own API keys and indexes
201
+ - **Namespace isolation** — use namespaces for tenant-level data separation
202
+ - **Network** — Pinecone is cloud-hosted; no port exposure to manage
203
+
204
+ ---
205
+
206
+ ## 7. Common Anti-Patterns
207
+
208
+ 1. **Single-vector upserts** — always batch upserts for throughput
209
+ 2. **Using Pinecone as primary store** — it's a search index; keep source data in your primary database
210
+ 3. **Over-filtering** — highly selective filters reduce the candidate pool, which can hurt recall
211
+ 4. **Ignoring namespace isolation** — mixing tenant data in one namespace creates security risks
212
+ 5. **Not including metadata** — metadata enables filtered search without a separate query to the primary store