opencode-agent-kit 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 (361) hide show
  1. package/README.md +796 -0
  2. package/bin/commands/init.mjs +221 -0
  3. package/bin/init.mjs +21 -0
  4. package/package.json +22 -0
  5. package/template/.opencode/agent-docs/backend/README.md +0 -0
  6. package/template/.opencode/agent-docs/backend/node/BACKEND_PATTERNS.md +82 -0
  7. package/template/.opencode/agent-docs/backend/node/BACKEND_QUICK_START.md +49 -0
  8. package/template/.opencode/agent-docs/frontend/next/README.md +0 -0
  9. package/template/.opencode/agent-docs/frontend/nuxt/API_PATTERNS.md +807 -0
  10. package/template/.opencode/agent-docs/frontend/nuxt/CHEATSHEET.md +676 -0
  11. package/template/.opencode/agent-docs/frontend/nuxt/COMPLETION_REPORT.md +613 -0
  12. package/template/.opencode/agent-docs/frontend/nuxt/EXAMPLES.md +956 -0
  13. package/template/.opencode/agent-docs/frontend/nuxt/INDEX.md +596 -0
  14. package/template/.opencode/agent-docs/frontend/nuxt/MCP_GUIDE.md +881 -0
  15. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_30_DAYS.md +256 -0
  16. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_CURRICULUM_CHECKLIST.md +156 -0
  17. package/template/.opencode/agent-docs/frontend/nuxt/MENTOR_WEEKLY_ASSIGNMENTS.md +191 -0
  18. package/template/.opencode/agent-docs/frontend/nuxt/QUICK_START.md +509 -0
  19. package/template/.opencode/agent-docs/frontend/nuxt/README.md +506 -0
  20. package/template/.opencode/agent-docs/frontend/nuxt/README_AGENTS.md +140 -0
  21. package/template/.opencode/agent-docs/frontend/nuxt/README_DOCS.md +65 -0
  22. package/template/.opencode/agent-docs/frontend/nuxt/SUMMARY.md +474 -0
  23. package/template/.opencode/agent-docs/frontend/nuxt/TEAM_OPERATING_GUIDE.md +54 -0
  24. package/template/.opencode/agent-docs/frontend/nuxt/TESTING_GUIDE.md +904 -0
  25. package/template/.opencode/agent-docs/frontend/nuxt/WORKFLOWS.md +758 -0
  26. package/template/.opencode/agent-docs/frontend/react/API_PATTERNS.md +187 -0
  27. package/template/.opencode/agent-docs/frontend/react/CHEATSHEET.md +87 -0
  28. package/template/.opencode/agent-docs/frontend/react/INDEX.md +45 -0
  29. package/template/.opencode/agent-docs/frontend/react/QUICK_START.md +43 -0
  30. package/template/.opencode/agent-docs/frontend/react/README.md +159 -0
  31. package/template/.opencode/agent-docs/frontend/vue/README.md +0 -0
  32. package/template/.opencode/agent-docs/mobile/android/README.md +45 -0
  33. package/template/.opencode/agent-docs/mobile/flutter/README.md +44 -0
  34. package/template/.opencode/agents/android-developer.md +418 -0
  35. package/template/.opencode/agents/code-igniter-3-fullstack.md +345 -0
  36. package/template/.opencode/agents/code-reviewer.md +517 -0
  37. package/template/.opencode/agents/database-specialist.md +455 -0
  38. package/template/.opencode/agents/devops-specialist.md +562 -0
  39. package/template/.opencode/agents/flutter-developer.md +556 -0
  40. package/template/.opencode/agents/it-leader.md +911 -0
  41. package/template/.opencode/agents/laravel-advanced.md +691 -0
  42. package/template/.opencode/agents/node-backend-developer.md +343 -0
  43. package/template/.opencode/agents/nuxt-frontend-developer-mentor.md +402 -0
  44. package/template/.opencode/agents/nuxt-frontend-developer.md +1573 -0
  45. package/template/.opencode/agents/react-frontend-developer.md +1017 -0
  46. package/template/.opencode/agents/seo-specialist.md +681 -0
  47. package/template/.opencode/agents/ui-ux-designer.md +783 -0
  48. package/template/.opencode/commands/android-build/command.md +25 -0
  49. package/template/.opencode/commands/android-test/command.md +23 -0
  50. package/template/.opencode/commands/build-fix.md +29 -0
  51. package/template/.opencode/commands/checkpoint.md +74 -0
  52. package/template/.opencode/commands/code-review.md +40 -0
  53. package/template/.opencode/commands/e2e.md +363 -0
  54. package/template/.opencode/commands/eval.md +120 -0
  55. package/template/.opencode/commands/evolve.md +193 -0
  56. package/template/.opencode/commands/flutter-build/command.md +25 -0
  57. package/template/.opencode/commands/flutter-test/command.md +24 -0
  58. package/template/.opencode/commands/go-build.md +183 -0
  59. package/template/.opencode/commands/go-review.md +148 -0
  60. package/template/.opencode/commands/go-test.md +268 -0
  61. package/template/.opencode/commands/gpc-release/command.md +30 -0
  62. package/template/.opencode/commands/instinct-export.md +91 -0
  63. package/template/.opencode/commands/instinct-import.md +142 -0
  64. package/template/.opencode/commands/instinct-status.md +86 -0
  65. package/template/.opencode/commands/learn.md +70 -0
  66. package/template/.opencode/commands/multi-backend.md +158 -0
  67. package/template/.opencode/commands/multi-execute.md +310 -0
  68. package/template/.opencode/commands/multi-frontend.md +158 -0
  69. package/template/.opencode/commands/multi-plan.md +261 -0
  70. package/template/.opencode/commands/multi-workflow.md +183 -0
  71. package/template/.opencode/commands/orchestrate.md +172 -0
  72. package/template/.opencode/commands/plan.md +113 -0
  73. package/template/.opencode/commands/pm2.md +271 -0
  74. package/template/.opencode/commands/python-review.md +297 -0
  75. package/template/.opencode/commands/refactor-clean.md +28 -0
  76. package/template/.opencode/commands/sessions.md +305 -0
  77. package/template/.opencode/commands/setup-pm.md +80 -0
  78. package/template/.opencode/commands/skill-create.md +174 -0
  79. package/template/.opencode/commands/tdd.md +326 -0
  80. package/template/.opencode/commands/test-coverage.md +27 -0
  81. package/template/.opencode/commands/update-codemaps.md +17 -0
  82. package/template/.opencode/commands/update-docs.md +31 -0
  83. package/template/.opencode/commands/verify.md +59 -0
  84. package/template/.opencode/config.example.json +309 -0
  85. package/template/.opencode/config.json +341 -0
  86. package/template/.opencode/contexts/dev.md +20 -0
  87. package/template/.opencode/contexts/research.md +26 -0
  88. package/template/.opencode/contexts/review.md +22 -0
  89. package/template/.opencode/hooks/hooks.json +169 -0
  90. package/template/.opencode/instructions/INSTRUCTIONS.md +388 -0
  91. package/template/.opencode/package.json +5 -0
  92. package/template/.opencode/rules/README.md +82 -0
  93. package/template/.opencode/rules/android/gradle.md +62 -0
  94. package/template/.opencode/rules/android/testing.md +27 -0
  95. package/template/.opencode/rules/common/agents.md +49 -0
  96. package/template/.opencode/rules/common/coding-style.md +48 -0
  97. package/template/.opencode/rules/common/git-workflow.md +45 -0
  98. package/template/.opencode/rules/common/hooks.md +30 -0
  99. package/template/.opencode/rules/common/patterns.md +31 -0
  100. package/template/.opencode/rules/common/performance.md +55 -0
  101. package/template/.opencode/rules/common/security.md +29 -0
  102. package/template/.opencode/rules/common/testing.md +29 -0
  103. package/template/.opencode/rules/flutter/state-management.md +57 -0
  104. package/template/.opencode/rules/flutter/testing.md +42 -0
  105. package/template/.opencode/rules/golang/coding-style.md +26 -0
  106. package/template/.opencode/rules/golang/hooks.md +11 -0
  107. package/template/.opencode/rules/golang/patterns.md +39 -0
  108. package/template/.opencode/rules/golang/security.md +28 -0
  109. package/template/.opencode/rules/golang/testing.md +25 -0
  110. package/template/.opencode/rules/mobile/performance.md +36 -0
  111. package/template/.opencode/rules/python/coding-style.md +37 -0
  112. package/template/.opencode/rules/python/hooks.md +14 -0
  113. package/template/.opencode/rules/python/patterns.md +34 -0
  114. package/template/.opencode/rules/python/security.md +25 -0
  115. package/template/.opencode/rules/python/testing.md +33 -0
  116. package/template/.opencode/rules/typescript/coding-style.md +58 -0
  117. package/template/.opencode/rules/typescript/hooks.md +15 -0
  118. package/template/.opencode/rules/typescript/patterns.md +45 -0
  119. package/template/.opencode/rules/typescript/security.md +21 -0
  120. package/template/.opencode/rules/typescript/testing.md +11 -0
  121. package/template/.opencode/skills/api-documentation/SKILL.md +188 -0
  122. package/template/.opencode/skills/backend-patterns/SKILL.md +587 -0
  123. package/template/.opencode/skills/building-components/SKILL.md +37 -0
  124. package/template/.opencode/skills/building-components/references/accessibility.mdx +819 -0
  125. package/template/.opencode/skills/building-components/references/as-child.mdx +324 -0
  126. package/template/.opencode/skills/building-components/references/composition.mdx +239 -0
  127. package/template/.opencode/skills/building-components/references/data-attributes.mdx +413 -0
  128. package/template/.opencode/skills/building-components/references/definitions.mdx +258 -0
  129. package/template/.opencode/skills/building-components/references/design-tokens.mdx +57 -0
  130. package/template/.opencode/skills/building-components/references/docs.mdx +155 -0
  131. package/template/.opencode/skills/building-components/references/marketplaces.mdx +144 -0
  132. package/template/.opencode/skills/building-components/references/npm.mdx +166 -0
  133. package/template/.opencode/skills/building-components/references/polymorphism.mdx +583 -0
  134. package/template/.opencode/skills/building-components/references/principles.mdx +61 -0
  135. package/template/.opencode/skills/building-components/references/registry.mdx +169 -0
  136. package/template/.opencode/skills/building-components/references/state.mdx +99 -0
  137. package/template/.opencode/skills/building-components/references/styling.mdx +286 -0
  138. package/template/.opencode/skills/building-components/references/types.mdx +191 -0
  139. package/template/.opencode/skills/clickhouse-io/SKILL.md +429 -0
  140. package/template/.opencode/skills/coding-standards/SKILL.md +520 -0
  141. package/template/.opencode/skills/configure-ecc/SKILL.md +298 -0
  142. package/template/.opencode/skills/continuous-learning/SKILL.md +110 -0
  143. package/template/.opencode/skills/continuous-learning/config.json +18 -0
  144. package/template/.opencode/skills/continuous-learning/evaluate-session.sh +60 -0
  145. package/template/.opencode/skills/continuous-learning-v2/SKILL.md +284 -0
  146. package/template/.opencode/skills/continuous-learning-v2/agents/observer.md +137 -0
  147. package/template/.opencode/skills/continuous-learning-v2/agents/start-observer.sh +134 -0
  148. package/template/.opencode/skills/continuous-learning-v2/config.json +41 -0
  149. package/template/.opencode/skills/continuous-learning-v2/hooks/observe.sh +153 -0
  150. package/template/.opencode/skills/continuous-learning-v2/scripts/instinct-cli.py +489 -0
  151. package/template/.opencode/skills/continuous-learning-v2/scripts/test_parse_instinct.py +82 -0
  152. package/template/.opencode/skills/dart-add-unit-test/SKILL.md +122 -0
  153. package/template/.opencode/skills/dart-build-cli-app/SKILL.md +185 -0
  154. package/template/.opencode/skills/dart-collect-coverage/SKILL.md +141 -0
  155. package/template/.opencode/skills/dart-fix-runtime-errors/SKILL.md +166 -0
  156. package/template/.opencode/skills/dart-generate-test-mocks/SKILL.md +155 -0
  157. package/template/.opencode/skills/dart-migrate-to-checks-package/SKILL.md +126 -0
  158. package/template/.opencode/skills/dart-resolve-package-conflicts/SKILL.md +116 -0
  159. package/template/.opencode/skills/dart-run-static-analysis/SKILL.md +104 -0
  160. package/template/.opencode/skills/dart-use-pattern-matching/SKILL.md +146 -0
  161. package/template/.opencode/skills/django-patterns/SKILL.md +733 -0
  162. package/template/.opencode/skills/django-security/SKILL.md +592 -0
  163. package/template/.opencode/skills/django-tdd/SKILL.md +728 -0
  164. package/template/.opencode/skills/django-verification/SKILL.md +460 -0
  165. package/template/.opencode/skills/eval-harness/SKILL.md +227 -0
  166. package/template/.opencode/skills/firebase-basics/SKILL.md +103 -0
  167. package/template/.opencode/skills/firebase-basics/references/additional-skills.md +113 -0
  168. package/template/.opencode/skills/firebase-basics/references/cli-usage.md +31 -0
  169. package/template/.opencode/skills/firebase-basics/references/client-library-usage.md +45 -0
  170. package/template/.opencode/skills/firebase-basics/references/core-concepts.md +61 -0
  171. package/template/.opencode/skills/firebase-basics/references/iac-usage.md +40 -0
  172. package/template/.opencode/skills/firebase-basics/references/iam-security.md +74 -0
  173. package/template/.opencode/skills/firebase-basics/references/mcp-usage.md +63 -0
  174. package/template/.opencode/skills/flutter/SKILL.md +292 -0
  175. package/template/.opencode/skills/flutter-add-integration-test/SKILL.md +163 -0
  176. package/template/.opencode/skills/flutter-add-widget-preview/SKILL.md +145 -0
  177. package/template/.opencode/skills/flutter-add-widget-test/SKILL.md +154 -0
  178. package/template/.opencode/skills/flutter-apply-architecture-best-practices/SKILL.md +162 -0
  179. package/template/.opencode/skills/flutter-build-responsive-layout/SKILL.md +139 -0
  180. package/template/.opencode/skills/flutter-fix-layout-issues/SKILL.md +130 -0
  181. package/template/.opencode/skills/flutter-implement-json-serialization/SKILL.md +153 -0
  182. package/template/.opencode/skills/flutter-setup-declarative-routing/SKILL.md +255 -0
  183. package/template/.opencode/skills/flutter-setup-localization/SKILL.md +210 -0
  184. package/template/.opencode/skills/flutter-use-http-package/SKILL.md +174 -0
  185. package/template/.opencode/skills/frontend-design/SKILL.md +89 -0
  186. package/template/.opencode/skills/frontend-patterns/SKILL.md +631 -0
  187. package/template/.opencode/skills/golang-patterns/SKILL.md +673 -0
  188. package/template/.opencode/skills/golang-testing/SKILL.md +719 -0
  189. package/template/.opencode/skills/impeccable/SKILL.md +165 -0
  190. package/template/.opencode/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
  191. package/template/.opencode/skills/impeccable/reference/adapt.md +190 -0
  192. package/template/.opencode/skills/impeccable/reference/animate.md +175 -0
  193. package/template/.opencode/skills/impeccable/reference/audit.md +133 -0
  194. package/template/.opencode/skills/impeccable/reference/bolder.md +113 -0
  195. package/template/.opencode/skills/impeccable/reference/brand.md +118 -0
  196. package/template/.opencode/skills/impeccable/reference/clarify.md +174 -0
  197. package/template/.opencode/skills/impeccable/reference/codex.md +105 -0
  198. package/template/.opencode/skills/impeccable/reference/cognitive-load.md +106 -0
  199. package/template/.opencode/skills/impeccable/reference/color-and-contrast.md +105 -0
  200. package/template/.opencode/skills/impeccable/reference/colorize.md +154 -0
  201. package/template/.opencode/skills/impeccable/reference/craft.md +123 -0
  202. package/template/.opencode/skills/impeccable/reference/critique.md +273 -0
  203. package/template/.opencode/skills/impeccable/reference/delight.md +302 -0
  204. package/template/.opencode/skills/impeccable/reference/distill.md +111 -0
  205. package/template/.opencode/skills/impeccable/reference/document.md +427 -0
  206. package/template/.opencode/skills/impeccable/reference/extract.md +69 -0
  207. package/template/.opencode/skills/impeccable/reference/harden.md +347 -0
  208. package/template/.opencode/skills/impeccable/reference/heuristics-scoring.md +234 -0
  209. package/template/.opencode/skills/impeccable/reference/interaction-design.md +195 -0
  210. package/template/.opencode/skills/impeccable/reference/layout.md +141 -0
  211. package/template/.opencode/skills/impeccable/reference/live.md +622 -0
  212. package/template/.opencode/skills/impeccable/reference/motion-design.md +109 -0
  213. package/template/.opencode/skills/impeccable/reference/onboard.md +234 -0
  214. package/template/.opencode/skills/impeccable/reference/optimize.md +258 -0
  215. package/template/.opencode/skills/impeccable/reference/overdrive.md +130 -0
  216. package/template/.opencode/skills/impeccable/reference/personas.md +179 -0
  217. package/template/.opencode/skills/impeccable/reference/polish.md +242 -0
  218. package/template/.opencode/skills/impeccable/reference/product.md +62 -0
  219. package/template/.opencode/skills/impeccable/reference/quieter.md +99 -0
  220. package/template/.opencode/skills/impeccable/reference/responsive-design.md +114 -0
  221. package/template/.opencode/skills/impeccable/reference/shape.md +165 -0
  222. package/template/.opencode/skills/impeccable/reference/spatial-design.md +100 -0
  223. package/template/.opencode/skills/impeccable/reference/teach.md +156 -0
  224. package/template/.opencode/skills/impeccable/reference/typeset.md +124 -0
  225. package/template/.opencode/skills/impeccable/reference/typography.md +159 -0
  226. package/template/.opencode/skills/impeccable/reference/ux-writing.md +107 -0
  227. package/template/.opencode/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  228. package/template/.opencode/skills/impeccable/scripts/command-metadata.json +94 -0
  229. package/template/.opencode/skills/impeccable/scripts/critique-storage.mjs +242 -0
  230. package/template/.opencode/skills/impeccable/scripts/design-parser.mjs +820 -0
  231. package/template/.opencode/skills/impeccable/scripts/detect-csp.mjs +198 -0
  232. package/template/.opencode/skills/impeccable/scripts/detect.mjs +21 -0
  233. package/template/.opencode/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  234. package/template/.opencode/skills/impeccable/scripts/is-generated.mjs +69 -0
  235. package/template/.opencode/skills/impeccable/scripts/live-accept.mjs +595 -0
  236. package/template/.opencode/skills/impeccable/scripts/live-browser-session.js +123 -0
  237. package/template/.opencode/skills/impeccable/scripts/live-browser.js +4860 -0
  238. package/template/.opencode/skills/impeccable/scripts/live-complete.mjs +75 -0
  239. package/template/.opencode/skills/impeccable/scripts/live-completion.mjs +18 -0
  240. package/template/.opencode/skills/impeccable/scripts/live-inject.mjs +446 -0
  241. package/template/.opencode/skills/impeccable/scripts/live-poll.mjs +200 -0
  242. package/template/.opencode/skills/impeccable/scripts/live-resume.mjs +48 -0
  243. package/template/.opencode/skills/impeccable/scripts/live-server.mjs +838 -0
  244. package/template/.opencode/skills/impeccable/scripts/live-session-store.mjs +254 -0
  245. package/template/.opencode/skills/impeccable/scripts/live-status.mjs +47 -0
  246. package/template/.opencode/skills/impeccable/scripts/live-wrap.mjs +632 -0
  247. package/template/.opencode/skills/impeccable/scripts/live.mjs +247 -0
  248. package/template/.opencode/skills/impeccable/scripts/load-context.mjs +141 -0
  249. package/template/.opencode/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  250. package/template/.opencode/skills/impeccable/scripts/pin.mjs +214 -0
  251. package/template/.opencode/skills/iterative-retrieval/SKILL.md +202 -0
  252. package/template/.opencode/skills/java-coding-standards/SKILL.md +138 -0
  253. package/template/.opencode/skills/jetpack-compose/.skillfish.json +10 -0
  254. package/template/.opencode/skills/jetpack-compose/SKILL.md +420 -0
  255. package/template/.opencode/skills/jpa-patterns/SKILL.md +141 -0
  256. package/template/.opencode/skills/nutrient-document-processing/SKILL.md +165 -0
  257. package/template/.opencode/skills/nuxt-ui/SKILL.md +334 -0
  258. package/template/.opencode/skills/nuxt-ui/references/components.md +377 -0
  259. package/template/.opencode/skills/nuxt-ui/references/composables.md +127 -0
  260. package/template/.opencode/skills/nuxt-ui/references/layouts/chat.md +266 -0
  261. package/template/.opencode/skills/nuxt-ui/references/layouts/dashboard.md +220 -0
  262. package/template/.opencode/skills/nuxt-ui/references/layouts/docs.md +141 -0
  263. package/template/.opencode/skills/nuxt-ui/references/layouts/editor.md +168 -0
  264. package/template/.opencode/skills/nuxt-ui/references/layouts/page.md +260 -0
  265. package/template/.opencode/skills/nuxt-ui/references/theming.md +427 -0
  266. package/template/.opencode/skills/postgres-patterns/SKILL.md +146 -0
  267. package/template/.opencode/skills/project-guidelines-example/SKILL.md +345 -0
  268. package/template/.opencode/skills/python-patterns/SKILL.md +749 -0
  269. package/template/.opencode/skills/python-testing/SKILL.md +815 -0
  270. package/template/.opencode/skills/security-review/SKILL.md +494 -0
  271. package/template/.opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
  272. package/template/.opencode/skills/shadcn-ui/README.md +248 -0
  273. package/template/.opencode/skills/shadcn-ui/SKILL.md +326 -0
  274. package/template/.opencode/skills/shadcn-ui/examples/auth-layout.tsx +177 -0
  275. package/template/.opencode/skills/shadcn-ui/examples/data-table.tsx +313 -0
  276. package/template/.opencode/skills/shadcn-ui/examples/form-pattern.tsx +177 -0
  277. package/template/.opencode/skills/shadcn-ui/resources/component-catalog.md +481 -0
  278. package/template/.opencode/skills/shadcn-ui/resources/customization-guide.md +516 -0
  279. package/template/.opencode/skills/shadcn-ui/resources/migration-guide.md +463 -0
  280. package/template/.opencode/skills/shadcn-ui/resources/setup-guide.md +412 -0
  281. package/template/.opencode/skills/shadcn-ui/scripts/verify-setup.sh +134 -0
  282. package/template/.opencode/skills/springboot-patterns/SKILL.md +304 -0
  283. package/template/.opencode/skills/springboot-security/SKILL.md +119 -0
  284. package/template/.opencode/skills/springboot-tdd/SKILL.md +157 -0
  285. package/template/.opencode/skills/springboot-verification/SKILL.md +100 -0
  286. package/template/.opencode/skills/strategic-compact/SKILL.md +63 -0
  287. package/template/.opencode/skills/strategic-compact/suggest-compact.sh +52 -0
  288. package/template/.opencode/skills/tdd-workflow/SKILL.md +409 -0
  289. package/template/.opencode/skills/vercel-composition-patterns/AGENTS.md +946 -0
  290. package/template/.opencode/skills/vercel-composition-patterns/SKILL.md +89 -0
  291. package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  292. package/template/.opencode/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  293. package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  294. package/template/.opencode/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  295. package/template/.opencode/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  296. package/template/.opencode/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  297. package/template/.opencode/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  298. package/template/.opencode/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  299. package/template/.opencode/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  300. package/template/.opencode/skills/vercel-react-best-practices/SKILL.md +136 -0
  301. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  302. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  303. package/template/.opencode/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  304. package/template/.opencode/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  305. package/template/.opencode/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  306. package/template/.opencode/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  307. package/template/.opencode/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  308. package/template/.opencode/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  309. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  310. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  311. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  312. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  313. package/template/.opencode/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  314. package/template/.opencode/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  315. package/template/.opencode/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  316. package/template/.opencode/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  317. package/template/.opencode/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  318. package/template/.opencode/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  319. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  320. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  321. package/template/.opencode/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  322. package/template/.opencode/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  323. package/template/.opencode/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  324. package/template/.opencode/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  325. package/template/.opencode/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  326. package/template/.opencode/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  327. package/template/.opencode/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  328. package/template/.opencode/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  329. package/template/.opencode/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  330. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  331. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  332. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  333. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  334. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  335. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  336. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  337. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  338. package/template/.opencode/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  339. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  340. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  341. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  342. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  343. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  344. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  345. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  346. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  347. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  348. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  349. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  350. package/template/.opencode/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  351. package/template/.opencode/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  352. package/template/.opencode/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  353. package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  354. package/template/.opencode/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  355. package/template/.opencode/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  356. package/template/.opencode/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  357. package/template/.opencode/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  358. package/template/.opencode/skills/verification-loop/SKILL.md +120 -0
  359. package/template/.opencode/skills/web-design-guidelines/SKILL.md +39 -0
  360. package/template/AGENTS.md +32 -0
  361. package/template/opencode.json +354 -0
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: firebase-basics
3
+ description: Use this skill whenever you are working on a project that uses Firebase products or services, especially for mobile or web apps.
4
+ ---
5
+
6
+ # Firebase Basics
7
+
8
+ ### **CRITICAL** Mandatory prerequisites
9
+
10
+ Before attempting to fulfill any user request regarding Firebase, you **MUST**
11
+ follow these steps in order. Do not proceed to implementation until these are
12
+ completed. Failure to follow these instructions may result in using outdated
13
+ patterns and lack of access to essential reference materials.
14
+
15
+ 1. **Leverage the planning phase**
16
+
17
+ If you use a planning mode (e.g., maintaining a `task.md` file), you
18
+ **MUST** include a task to check and install `firebase/agent-skills` as your
19
+ very first item.
20
+
21
+ 2. **Ensure NPM is installed.**
22
+
23
+ ```bash
24
+ ## Check if NPM is installed
25
+ npm --version
26
+ ```
27
+
28
+ If NPM is not installed, guide the user to download and install the
29
+ LTS version from https://nodejs.org/en/download.
30
+
31
+ Then, request the user to manually install Node.js and to reply with a
32
+ confirmation that the installation is finished. **Stop and wait** for the
33
+ user's confirmation.
34
+
35
+ 3. **Verify and install Agent Skills for Firebase**
36
+
37
+ You **MUST** ensure the full set of skills is installed to avoid using
38
+ outdated patterns. Run this command:
39
+
40
+ ```bash
41
+ npx -y skills add firebase/agent-skills -y
42
+ ```
43
+
44
+ *If the skills are already installed, this command will ensure they are up
45
+ to date. Do not skip this step.*
46
+
47
+
48
+ ## Quick start
49
+
50
+ After completing the mandatory prerequisites above, proceed with these steps to
51
+ set up your environment:
52
+
53
+ 1. **Log in to the Firebase CLI.**
54
+
55
+ Run this command:
56
+
57
+ ```bash
58
+ npx -y firebase-tools@latest login
59
+ ```
60
+
61
+ Then, ask the user to complete the login flow in the browser.
62
+
63
+ 2. **Set an active project for the CLI.**
64
+
65
+ Most Firebase tasks require an active project context. Check the current
66
+ project for the Firebase CLI by running this command:
67
+
68
+ ```bash
69
+ npx -y firebase-tools@latest use
70
+ ```
71
+
72
+ - If the command outputs `Active Project: <PROJECT_ID>`, you can proceed
73
+ with your task.
74
+
75
+ - If the command does *not* output an active project, ask the user if they
76
+ have an existing Firebase project ID.
77
+
78
+ - If yes: Set the ID as the active project and add a default alias by
79
+ running:
80
+
81
+ ```bash
82
+ npx -y firebase-tools@latest use --add <PROJECT_ID>
83
+ ```
84
+
85
+ - If no: Create a new Firebase project by running:
86
+
87
+ ```bash
88
+ npx -y firebase-tools@latest projects:create <PROJECT_ID> --display-name <DISPLAY_NAME>
89
+ ```
90
+
91
+ ## Reference directory
92
+
93
+ - [Firebase core concepts](references/core-concepts.md)
94
+ - [Firebase CLI usage](references/cli-usage.md)
95
+ - [Firebase client library usage](references/client-library-usage.md)
96
+ - [Firebase CLI and MCP server](references/mcp-usage.md)
97
+ - [Firebase IaC usage](references/iac-usage.md)
98
+ - [Firebase security-related features](references/iam-security.md)
99
+ - [Additional Published Skills](references/additional-skills.md)
100
+
101
+ If you need product information that's not found in these references, check the
102
+ other skills for Firebase that you have installed, or use the `search_documents`
103
+ tool of the Developer Knowledge MCP server.
@@ -0,0 +1,113 @@
1
+ ## Additional Published Skills
2
+
3
+ The following skills and reference files are published in the [Firebase Agent Skills repository](https://github.com/firebase/agent-skills/tree/main/skills):
4
+
5
+ ### `developing-genkit-dart`
6
+
7
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/SKILL.md)
8
+ - [`references/genkit.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit.md)
9
+ - [`references/genkit_anthropic.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_anthropic.md)
10
+ - [`references/genkit_chrome.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_chrome.md)
11
+ - [`references/genkit_firebase_ai.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_firebase_ai.md)
12
+ - [`references/genkit_google_genai.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_google_genai.md)
13
+ - [`references/genkit_mcp.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_mcp.md)
14
+ - [`references/genkit_middleware.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_middleware.md)
15
+ - [`references/genkit_openai.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_openai.md)
16
+ - [`references/genkit_shelf.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/genkit_shelf.md)
17
+ - [`references/schemantic.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-dart/references/schemantic.md)
18
+
19
+ ### `developing-genkit-go`
20
+
21
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/SKILL.md)
22
+ - [`references/flows-and-http.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/references/flows-and-http.md)
23
+ - [`references/generation.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/references/generation.md)
24
+ - [`references/getting-started.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/references/getting-started.md)
25
+ - [`references/prompts.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/references/prompts.md)
26
+ - [`references/providers.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/references/providers.md)
27
+ - [`references/tools.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-go/references/tools.md)
28
+
29
+ ### `developing-genkit-js`
30
+
31
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-js/SKILL.md)
32
+ - [`references/best-practices.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-js/references/best-practices.md)
33
+ - [`references/common-errors.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-js/references/common-errors.md)
34
+ - [`references/docs-and-cli.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-js/references/docs-and-cli.md)
35
+ - [`references/examples.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-js/references/examples.md)
36
+ - [`references/setup.md`](https://github.com/firebase/agent-skills/blob/main/skills/developing-genkit-js/references/setup.md)
37
+
38
+ ### `firebase-ai-logic-basics`
39
+
40
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-ai-logic-basics/SKILL.md)
41
+ - [`references/usage_patterns_web.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-ai-logic-basics/references/usage_patterns_web.md)
42
+
43
+ ### `firebase-app-hosting-basics`
44
+
45
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-app-hosting-basics/SKILL.md)
46
+ - [`references/cli_commands.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-app-hosting-basics/references/cli_commands.md)
47
+ - [`references/configuration.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-app-hosting-basics/references/configuration.md)
48
+ - [`references/emulation.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-app-hosting-basics/references/emulation.md)
49
+
50
+ ### `firebase-auth-basics`
51
+
52
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-auth-basics/SKILL.md)
53
+ - [`references/client_sdk_web.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-auth-basics/references/client_sdk_web.md)
54
+ - [`references/security_rules.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-auth-basics/references/security_rules.md)
55
+
56
+ ### `firebase-basics`
57
+
58
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/SKILL.md)
59
+ - [`references/firebase-cli-guide.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/firebase-cli-guide.md)
60
+ - [`references/firebase-service-init.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/firebase-service-init.md)
61
+ - [`references/local-env-setup.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/local-env-setup.md)
62
+ - [`references/web_setup.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/web_setup.md)
63
+ - [`references/refresh/antigravity.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/refresh/antigravity.md)
64
+ - [`references/refresh/claude.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/refresh/claude.md)
65
+ - [`references/refresh/gemini-cli.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/refresh/gemini-cli.md)
66
+ - [`references/refresh/other-agents.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/refresh/other-agents.md)
67
+ - [`references/setup/antigravity.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/setup/antigravity.md)
68
+ - [`references/setup/claude_code.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/setup/claude_code.md)
69
+ - [`references/setup/cursor.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/setup/cursor.md)
70
+ - [`references/setup/gemini_cli.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/setup/gemini_cli.md)
71
+ - [`references/setup/github_copilot.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/setup/github_copilot.md)
72
+ - [`references/setup/other_agents.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-basics/references/setup/other_agents.md)
73
+
74
+ ### `firebase-data-connect-basics`
75
+
76
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/SKILL.md)
77
+ - [`examples.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/examples.md)
78
+ - [`templates.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/templates.md)
79
+ - [`reference/advanced.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/advanced.md)
80
+ - [`reference/config.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/config.md)
81
+ - [`reference/native_sql.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/native_sql.md)
82
+ - [`reference/operations.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/operations.md)
83
+ - [`reference/schema.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/schema.md)
84
+ - [`reference/sdks.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/sdks.md)
85
+ - [`reference/security.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-data-connect-basics/reference/security.md)
86
+
87
+ ### `firebase-firestore-enterprise-native-mode`
88
+
89
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/SKILL.md)
90
+ - [`references/data_model.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/references/data_model.md)
91
+ - [`references/indexes.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/references/indexes.md)
92
+ - [`references/provisioning.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/references/provisioning.md)
93
+ - [`references/python_sdk_usage.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/references/python_sdk_usage.md)
94
+ - [`references/security_rules.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/references/security_rules.md)
95
+ - [`references/web_sdk_usage.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-enterprise-native-mode/references/web_sdk_usage.md)
96
+
97
+ ### `firebase-firestore-standard`
98
+
99
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-standard/SKILL.md)
100
+ - [`references/indexes.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-standard/references/indexes.md)
101
+ - [`references/provisioning.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-standard/references/provisioning.md)
102
+ - [`references/security_rules.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-standard/references/security_rules.md)
103
+ - [`references/web_sdk_usage.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-firestore-standard/references/web_sdk_usage.md)
104
+
105
+ ### `firebase-hosting-basics`
106
+
107
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-hosting-basics/SKILL.md)
108
+ - [`references/configuration.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-hosting-basics/references/configuration.md)
109
+ - [`references/deploying.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-hosting-basics/references/deploying.md)
110
+
111
+ ### `firebase-security-rules-auditor`
112
+
113
+ - [`SKILL.md`](https://github.com/firebase/agent-skills/blob/main/skills/firebase-security-rules-auditor/SKILL.md)
@@ -0,0 +1,31 @@
1
+ # Firebase CLI usage
2
+
3
+ The Firebase CLI (`firebase-tools`) is the primary tool for managing Firebase
4
+ projects and resources from the command line.
5
+
6
+ **Use npx for Firebase CLI commands**: To ensure you always use the latest
7
+ version of the Firebase CLI, always run commands with
8
+ `npx -y firebase-tools@latest` instead of just `firebase`. (e.g., use
9
+ `npx -y firebase-tools@latest --version` instead of `firebase --version`).
10
+
11
+ ## Exploring commands
12
+
13
+ The Firebase CLI documents itself. Use help commands to discover functionality.
14
+
15
+ - **Global help**: List all available commands and categories:
16
+
17
+ ```bash
18
+ npx -y firebase-tools@latest --help
19
+ ```
20
+
21
+ - **Command help**: Get detailed usage for a specific command:
22
+
23
+ ```bash
24
+ npx -y firebase-tools@latest [command] --help
25
+ ```
26
+
27
+ ```bash
28
+ # Example:
29
+ npx -y firebase-tools@latest deploy --help
30
+ npx -y firebase-tools@latest firestore:indexes --help
31
+ ```
@@ -0,0 +1,45 @@
1
+ # Firebase client library usage
2
+
3
+ Firebase provides SDKs for both client-side application development and
4
+ server-side administrative tasks.
5
+
6
+ For a full list of Firebase client libraries and links to their documentation
7
+ and GitHub repositories, see https://firebase.google.com/docs/libraries
8
+
9
+ ## Mobile and web client-side SDKs
10
+
11
+ The Firebase client-side SDKs allow direct interaction with Firebase services
12
+ from a mobile or web app. These SDKs are available for iOS (Swift and
13
+ Objective-C), Android (Kotlin and Java), Web (JavaScript), Flutter (Dart),
14
+ Unity, and C++.
15
+
16
+ - For **web apps**, Agent Skills for Firebase provide guides to get started
17
+ with the JavaScript client SDK. Install these skills by running:
18
+
19
+ ```bash
20
+ npx -y skills add firebase/agent-skills -y
21
+ ```
22
+
23
+ - For **native iOS or Android mobile apps**, see the documentation to get
24
+ started:
25
+
26
+ - **iOS**: https://firebase.google.com/docs/ios/setup.md.txt
27
+ - **Android**: https://firebase.google.com/docs/android/setup.md.txt
28
+
29
+ - For **Flutter apps**, see the documentation to get started:
30
+
31
+ - **Flutter**: https://firebase.google.com/docs/flutter/setup.md.txt
32
+
33
+ - For **Unity and C++ mobile apps**, see the documentation to get started:
34
+
35
+ - **Unity**: https://firebase.google.com/docs/unity/setup.md.txt
36
+ - **C++**: https://firebase.google.com/docs/cpp/setup.md.txt
37
+
38
+ ## Server-side Admin SDKs
39
+
40
+ The Firebase Admin SDKs provide privileged access to Firebase services from a
41
+ server environment. These SDKs are available for Node.js, Java, Python, and Go.
42
+
43
+ For details about Firebase Admin SDKs and getting started, see
44
+ https://firebase.google.com/docs/reference/admin.md.txt and
45
+ https://firebase.google.com/docs/admin/setup.md.txt
@@ -0,0 +1,61 @@
1
+ # Firebase core concepts
2
+
3
+ Firebase is a platform of services for mobile and web applications. It offers
4
+ products for managed backend infrastructure (BaaS), building AI-powered
5
+ experiences in apps, DevOps, and end-user engagement. Most services are
6
+ integrated into apps using mobile and web client SDKs.
7
+
8
+ ## Key services
9
+
10
+ Here are some popular Firebase products:
11
+
12
+ - **Firebase Authentication**: Simplify end-user authentication and sign-in on a
13
+ secure, all-in-one identity platform.
14
+ - **Firestore**: Store and sync data using a secure, scalable NoSQL cloud
15
+ database with rich data models and queryability.
16
+ - **Firebase Data Connect**: Build and scale your apps using a fully-managed
17
+ PostgreSQL relational database service.
18
+ - **Cloud Storage for Firebase**: Store and serve unstructured content like
19
+ images, audio, video with a secure cloud-hosted solution.
20
+ - **Firebase App Hosting**: Deploy modern, full-stack web apps that require
21
+ server-side rendering and automated secret management, CI/CD, and CDN caching.
22
+ - **Firebase Hosting**: Deploy static and single-page web apps to a global CDN
23
+ with a single command.
24
+ - **Cloud Functions for Firebase**: Run backend code in response to events and
25
+ HTTPS requests without provisioning or managing a server.
26
+ - **Firebase AI Logic**: Build secure AI-powered experiences in mobile and web
27
+ apps using the Gemini API and without provisioning or managing a server.
28
+ - **Firebase Crashlytics**: Track, prioritize, and fix stability issues in
29
+ mobile apps.
30
+ - **Firebase Cloud Messaging (FCM)**: Send push notifications and messages to
31
+ end users.
32
+
33
+ ## Regional availability
34
+
35
+ Firebase services are available globally, with several products supporting
36
+ specific regional configurations.
37
+
38
+ - **Firestore**: Each instance can be provisioned in a different location;
39
+ supports multi-region (e.g., `nam5`) and regional (e.g., `us-east1`)
40
+ locations.
41
+ - **Cloud Storage for Firebase**: Each bucket can be provisioned in a different
42
+ location.
43
+ - **Firebase App Hosting**: Can be deployed to specific regions to minimize
44
+ latency for operations and end users.
45
+ - **Firebase Hosting**: Content is delivered via a global CDN.
46
+ - **Cloud Functions for Firebase**: Can be deployed to specific regions to
47
+ minimize latency for operations and end users.
48
+
49
+ ## Pricing
50
+
51
+ Firebase offers two pricing plans:
52
+
53
+ - **Spark (no-cost) pricing plan**: Projects don't need a billing account to
54
+ use only the no-cost Firebase services and to get started with generous
55
+ no-cost usage quota.
56
+ - **Blaze (pay-as-you-go) pricing plan**: Link a billing account to the project
57
+ to access more products and services and to get usage levels beyond the
58
+ no-cost usage quota.
59
+
60
+ For up-to-date detailed pricing information, see the Firebase pricing
61
+ page: https://firebase.google.com/pricing
@@ -0,0 +1,40 @@
1
+ # Firebase IaC usage
2
+
3
+ Firebase resources can be provisioned using Infrastructure as Code (IaC) tools,
4
+ like Terraform.
5
+
6
+ ## Terraform configuration
7
+
8
+ Use the `google` or `google-beta` providers to manage Firebase resources.
9
+
10
+ ### Example: Firebase project setup
11
+
12
+ ```hcl
13
+ resource "google_firebase_project" "default" {
14
+ provider = google-beta
15
+ project = "user-defined-project-id"
16
+ }
17
+
18
+ resource "google_firebase_web_app" "default" {
19
+ provider = google-beta
20
+ project = google_firebase_project.default.project
21
+ display_name = "user-defined-display-name"
22
+ }
23
+ ```
24
+
25
+ ### Supported Terraform resources
26
+
27
+ Here are some common Terraform resources for Firebase:
28
+
29
+ - `google_firebase_project`: Enable Firebase services on an existing
30
+ Google Cloud project.
31
+ - `google_identity_platform_config`: Set up Firebase Authentication.
32
+ - `google_firestore_database`: Provision a Firestore database.
33
+ Always set `type = "FIRESTORE_NATIVE"`.
34
+ - `google_firebaserules_ruleset`: Define Firebase Security Rules to protect
35
+ Firestore data or Cloud Storage for Firebase data.
36
+ - `google_firebaserules_release`: Deploy Firebase Security Rules rulesets for
37
+ Firestore or for Cloud Storage for Firebase.
38
+
39
+ For a complete list of Terraform resources, and details about Terraform and
40
+ Firebase, see: https://firebase.google.com/docs/projects/terraform/get-started
@@ -0,0 +1,74 @@
1
+ # Firebase security-related features
2
+
3
+ Firebase offers several security-related features and services, including:
4
+
5
+ - **Identity and Access Management (IAM)**: Restrict a project member's
6
+ administrative access for projects, resources, and data.
7
+ - **Firebase Security Rules**: Restrict client-side access for Firestore data
8
+ and Cloud Storage for Firebase data to only authorized users.
9
+ - **Firebase App Check**: Restrict client-side access for APIs and backend
10
+ resources to only an authentic client and an authentic, untampered device.
11
+
12
+ ## Identity and Access Management (IAM)
13
+
14
+ Here are some common IAM roles:
15
+
16
+ | Role | Description |
17
+ |---|---|
18
+ | `roles/viewer` | Permissions for read-only actions, such as viewing (but not modifying) existing resources or data. |
19
+ | `roles/editor` | All the `roles/viewer` permissions, plus permissions for actions that modify state, such as changing existing resources. |
20
+ | `roles/owner` | All the `roles/editor` permissions, plus permissions for the following actions: manage IAM for a project, manage all resources within the project, set up and manage billing for a project, and delete or restore a project. |
21
+ | `roles/firebase.viewer` | Read-only access to Firebase resources and data. |
22
+ | `roles/firebase.admin` | Full access to all Firebase products and project management. |
23
+
24
+ For details about IAM and Firebase, see
25
+ https://firebase.google.com/docs/projects/iam/overview.md.txt
26
+
27
+ ## Firebase Security Rules
28
+
29
+ Firebase Security Rules are CRITICAL to protecting Firestore data and
30
+ Cloud Storage for Firebase data from unauthorized mobile and web client-side
31
+ access. They are defined in the project directory (e.g., `firestore.rules`)
32
+ and deployed using the Firebase CLI.
33
+
34
+ Here is a basic example of Security Rules for Firestore that restricts access
35
+ to authenticated end-users only:
36
+
37
+ ```
38
+ service cloud.firestore {
39
+ match /databases/{database}/documents {
40
+ match /some_collection/{document} {
41
+ allow read, write: if request.auth != null;
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ **CRITICAL**: Agent Skills for Firebase provide tools to draft and test Firebase
48
+ Security Rules. Install these skills by running:
49
+
50
+ ```bash
51
+ npx -y skills add firebase/agent-skills -y
52
+ ```
53
+
54
+ ## Firebase App Check
55
+
56
+ Firebase App Check is CRITICAL to protecting a project's enabled APIs and
57
+ backend resources from unauthorized clients and devices. For example, it can
58
+ help protect Firebase AI Logic, Firestore, Cloud Storage for Firebase,
59
+ Cloud Functions for Firebase, and Firebase Data Connect.
60
+
61
+ For details about Firebase App Check, see
62
+ https://firebase.google.com/docs/app-check.md.txt
63
+
64
+ ## Security best practices
65
+
66
+ - **Principle of least privilege:** Assign specific product-level roles instead
67
+ of `roles/owner` whenever possible.
68
+ - **Firebase App Check:** Use this service to protect a project's enabled APIs
69
+ and backend resources from abuse by allowing only authentic clients and
70
+ devices to access them.
71
+ - **Environment management:** Use separate Firebase projects for development,
72
+ staging, and production.
73
+ - **Sensitive operations:** Always have a human user approve sensitive
74
+ operations like granting permissive IAM roles or deleting a database.
@@ -0,0 +1,63 @@
1
+ # Firebase CLI and MCP server
2
+
3
+ The Firebase CLI includes a built-in local MCP server that can help with common
4
+ tasks.
5
+
6
+ 1. **Locate MCP configuration**
7
+
8
+ Find the configuration file for your agent
9
+ (e.g., `~/.codeium/windsurf/mcp_config.json`, `cline_mcp_settings.json`, or
10
+ `claude_desktop_config.json`).
11
+
12
+ *Note: If the document or its containing directory does not exist, create
13
+ them and initialize the file with `{ "mcpServers": {} }` before proceeding.*
14
+
15
+ 2. **Check existing configuration**
16
+
17
+ Open the configuration file and check the `mcpServers` section for a
18
+ `firebase` entry.
19
+
20
+ - Firebase is already configured if the `command` is `"firebase"` OR if the
21
+ `command` is `"npx"` with `"firebase-tools"` and `"mcp"` in the `args`.
22
+
23
+ - **Important**: If a valid `firebase` entry is found, the MCP server is
24
+ already configured. **Skip step 3** and proceed directly to step 4.
25
+
26
+ **Example valid configurations**:
27
+ ```json
28
+ "firebase": {
29
+ "command": "npx",
30
+ "args": ["-y", "firebase-tools@latest", "mcp"]
31
+ }
32
+ ```
33
+ OR
34
+ ```json
35
+ "firebase": {
36
+ "command": "firebase",
37
+ "args": ["mcp"]
38
+ }
39
+ ```
40
+
41
+ 3. **Add or update configuration**
42
+
43
+ If the `firebase` entry is missing or incorrect, add it to the `mcpServers`
44
+ object:
45
+
46
+ ```json
47
+ "firebase": {
48
+ "command": "npx",
49
+ "args": [
50
+ "-y",
51
+ "firebase-tools@latest",
52
+ "mcp"
53
+ ]
54
+ }
55
+ ```
56
+
57
+ *CRITICAL: Merge this configuration into the existing file. You MUST
58
+ preserve any other existing servers inside the `mcpServers` object.*
59
+
60
+ 4. **Verify configuration**
61
+
62
+ Save the file and confirm the `firebase` block is present and is properly
63
+ formatted JSON.