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,361 @@
1
+ | name | description |
2
+ |------|-------------|
3
+ | cloud-infrastructure-security | Use this skill when deploying to cloud platforms, configuring infrastructure, managing IAM policies, setting up logging/monitoring, or implementing CI/CD pipelines. Provides cloud security checklist aligned with best practices. |
4
+
5
+ # Cloud & Infrastructure Security Skill
6
+
7
+ This skill ensures cloud infrastructure, CI/CD pipelines, and deployment configurations follow security best practices and comply with industry standards.
8
+
9
+ ## When to Activate
10
+
11
+ - Deploying applications to cloud platforms (AWS, Vercel, Railway, Cloudflare)
12
+ - Configuring IAM roles and permissions
13
+ - Setting up CI/CD pipelines
14
+ - Implementing infrastructure as code (Terraform, CloudFormation)
15
+ - Configuring logging and monitoring
16
+ - Managing secrets in cloud environments
17
+ - Setting up CDN and edge security
18
+ - Implementing disaster recovery and backup strategies
19
+
20
+ ## Cloud Security Checklist
21
+
22
+ ### 1. IAM & Access Control
23
+
24
+ #### Principle of Least Privilege
25
+
26
+ ```yaml
27
+ # ✅ CORRECT: Minimal permissions
28
+ iam_role:
29
+ permissions:
30
+ - s3:GetObject # Only read access
31
+ - s3:ListBucket
32
+ resources:
33
+ - arn:aws:s3:::my-bucket/* # Specific bucket only
34
+
35
+ # ❌ WRONG: Overly broad permissions
36
+ iam_role:
37
+ permissions:
38
+ - s3:* # All S3 actions
39
+ resources:
40
+ - "*" # All resources
41
+ ```
42
+
43
+ #### Multi-Factor Authentication (MFA)
44
+
45
+ ```bash
46
+ # ALWAYS enable MFA for root/admin accounts
47
+ aws iam enable-mfa-device \
48
+ --user-name admin \
49
+ --serial-number arn:aws:iam::123456789:mfa/admin \
50
+ --authentication-code1 123456 \
51
+ --authentication-code2 789012
52
+ ```
53
+
54
+ #### Verification Steps
55
+
56
+ - [ ] No root account usage in production
57
+ - [ ] MFA enabled for all privileged accounts
58
+ - [ ] Service accounts use roles, not long-lived credentials
59
+ - [ ] IAM policies follow least privilege
60
+ - [ ] Regular access reviews conducted
61
+ - [ ] Unused credentials rotated or removed
62
+
63
+ ### 2. Secrets Management
64
+
65
+ #### Cloud Secrets Managers
66
+
67
+ ```typescript
68
+ // ✅ CORRECT: Use cloud secrets manager
69
+ import { SecretsManager } from '@aws-sdk/client-secrets-manager';
70
+
71
+ const client = new SecretsManager({ region: 'us-east-1' });
72
+ const secret = await client.getSecretValue({ SecretId: 'prod/api-key' });
73
+ const apiKey = JSON.parse(secret.SecretString).key;
74
+
75
+ // ❌ WRONG: Hardcoded or in environment variables only
76
+ const apiKey = process.env.API_KEY; // Not rotated, not audited
77
+ ```
78
+
79
+ #### Secrets Rotation
80
+
81
+ ```bash
82
+ # Set up automatic rotation for database credentials
83
+ aws secretsmanager rotate-secret \
84
+ --secret-id prod/db-password \
85
+ --rotation-lambda-arn arn:aws:lambda:region:account:function:rotate \
86
+ --rotation-rules AutomaticallyAfterDays=30
87
+ ```
88
+
89
+ #### Verification Steps
90
+
91
+ - [ ] All secrets stored in cloud secrets manager (AWS Secrets Manager, Vercel Secrets)
92
+ - [ ] Automatic rotation enabled for database credentials
93
+ - [ ] API keys rotated at least quarterly
94
+ - [ ] No secrets in code, logs, or error messages
95
+ - [ ] Audit logging enabled for secret access
96
+
97
+ ### 3. Network Security
98
+
99
+ #### VPC and Firewall Configuration
100
+
101
+ ```terraform
102
+ # ✅ CORRECT: Restricted security group
103
+ resource "aws_security_group" "app" {
104
+ name = "app-sg"
105
+
106
+ ingress {
107
+ from_port = 443
108
+ to_port = 443
109
+ protocol = "tcp"
110
+ cidr_blocks = ["10.0.0.0/16"] # Internal VPC only
111
+ }
112
+
113
+ egress {
114
+ from_port = 443
115
+ to_port = 443
116
+ protocol = "tcp"
117
+ cidr_blocks = ["0.0.0.0/0"] # Only HTTPS outbound
118
+ }
119
+ }
120
+
121
+ # ❌ WRONG: Open to the internet
122
+ resource "aws_security_group" "bad" {
123
+ ingress {
124
+ from_port = 0
125
+ to_port = 65535
126
+ protocol = "tcp"
127
+ cidr_blocks = ["0.0.0.0/0"] # All ports, all IPs!
128
+ }
129
+ }
130
+ ```
131
+
132
+ #### Verification Steps
133
+
134
+ - [ ] Database not publicly accessible
135
+ - [ ] SSH/RDP ports restricted to VPN/bastion only
136
+ - [ ] Security groups follow least privilege
137
+ - [ ] Network ACLs configured
138
+ - [ ] VPC flow logs enabled
139
+
140
+ ### 4. Logging & Monitoring
141
+
142
+ #### CloudWatch/Logging Configuration
143
+
144
+ ```typescript
145
+ // ✅ CORRECT: Comprehensive logging
146
+ import { CloudWatchLogsClient, CreateLogStreamCommand } from '@aws-sdk/client-cloudwatch-logs';
147
+
148
+ const logSecurityEvent = async (event: SecurityEvent) => {
149
+ await cloudwatch.putLogEvents({
150
+ logGroupName: '/aws/security/events',
151
+ logStreamName: 'authentication',
152
+ logEvents: [{
153
+ timestamp: Date.now(),
154
+ message: JSON.stringify({
155
+ type: event.type,
156
+ userId: event.userId,
157
+ ip: event.ip,
158
+ result: event.result,
159
+ // Never log sensitive data
160
+ })
161
+ }]
162
+ });
163
+ };
164
+ ```
165
+
166
+ #### Verification Steps
167
+
168
+ - [ ] CloudWatch/logging enabled for all services
169
+ - [ ] Failed authentication attempts logged
170
+ - [ ] Admin actions audited
171
+ - [ ] Log retention configured (90+ days for compliance)
172
+ - [ ] Alerts configured for suspicious activity
173
+ - [ ] Logs centralized and tamper-proof
174
+
175
+ ### 5. CI/CD Pipeline Security
176
+
177
+ #### Secure Pipeline Configuration
178
+
179
+ ```yaml
180
+ # ✅ CORRECT: Secure GitHub Actions workflow
181
+ name: Deploy
182
+
183
+ on:
184
+ push:
185
+ branches: [main]
186
+
187
+ jobs:
188
+ deploy:
189
+ runs-on: ubuntu-latest
190
+ permissions:
191
+ contents: read # Minimal permissions
192
+
193
+ steps:
194
+ - uses: actions/checkout@v4
195
+
196
+ # Scan for secrets
197
+ - name: Secret scanning
198
+ uses: trufflesecurity/trufflehog@main
199
+
200
+ # Dependency audit
201
+ - name: Audit dependencies
202
+ run: npm audit --audit-level=high
203
+
204
+ # Use OIDC, not long-lived tokens
205
+ - name: Configure AWS credentials
206
+ uses: aws-actions/configure-aws-credentials@v4
207
+ with:
208
+ role-to-assume: arn:aws:iam::123456789:role/GitHubActionsRole
209
+ aws-region: us-east-1
210
+ ```
211
+
212
+ #### Supply Chain Security
213
+
214
+ ```json
215
+ // package.json - Use lock files and integrity checks
216
+ {
217
+ "scripts": {
218
+ "install": "npm ci", // Use ci for reproducible builds
219
+ "audit": "npm audit --audit-level=moderate",
220
+ "check": "npm outdated"
221
+ }
222
+ }
223
+ ```
224
+
225
+ #### Verification Steps
226
+
227
+ - [ ] OIDC used instead of long-lived credentials
228
+ - [ ] Secrets scanning in pipeline
229
+ - [ ] Dependency vulnerability scanning
230
+ - [ ] Container image scanning (if applicable)
231
+ - [ ] Branch protection rules enforced
232
+ - [ ] Code review required before merge
233
+ - [ ] Signed commits enforced
234
+
235
+ ### 6. Cloudflare & CDN Security
236
+
237
+ #### Cloudflare Security Configuration
238
+
239
+ ```typescript
240
+ // ✅ CORRECT: Cloudflare Workers with security headers
241
+ export default {
242
+ async fetch(request: Request): Promise<Response> {
243
+ const response = await fetch(request);
244
+
245
+ // Add security headers
246
+ const headers = new Headers(response.headers);
247
+ headers.set('X-Frame-Options', 'DENY');
248
+ headers.set('X-Content-Type-Options', 'nosniff');
249
+ headers.set('Referrer-Policy', 'strict-origin-when-cross-origin');
250
+ headers.set('Permissions-Policy', 'geolocation=(), microphone=()');
251
+
252
+ return new Response(response.body, {
253
+ status: response.status,
254
+ headers
255
+ });
256
+ }
257
+ };
258
+ ```
259
+
260
+ #### WAF Rules
261
+
262
+ ```bash
263
+ # Enable Cloudflare WAF managed rules
264
+ # - OWASP Core Ruleset
265
+ # - Cloudflare Managed Ruleset
266
+ # - Rate limiting rules
267
+ # - Bot protection
268
+ ```
269
+
270
+ #### Verification Steps
271
+
272
+ - [ ] WAF enabled with OWASP rules
273
+ - [ ] Rate limiting configured
274
+ - [ ] Bot protection active
275
+ - [ ] DDoS protection enabled
276
+ - [ ] Security headers configured
277
+ - [ ] SSL/TLS strict mode enabled
278
+
279
+ ### 7. Backup & Disaster Recovery
280
+
281
+ #### Automated Backups
282
+
283
+ ```terraform
284
+ # ✅ CORRECT: Automated RDS backups
285
+ resource "aws_db_instance" "main" {
286
+ allocated_storage = 20
287
+ engine = "postgres"
288
+
289
+ backup_retention_period = 30 # 30 days retention
290
+ backup_window = "03:00-04:00"
291
+ maintenance_window = "mon:04:00-mon:05:00"
292
+
293
+ enabled_cloudwatch_logs_exports = ["postgresql"]
294
+
295
+ deletion_protection = true # Prevent accidental deletion
296
+ }
297
+ ```
298
+
299
+ #### Verification Steps
300
+
301
+ - [ ] Automated daily backups configured
302
+ - [ ] Backup retention meets compliance requirements
303
+ - [ ] Point-in-time recovery enabled
304
+ - [ ] Backup testing performed quarterly
305
+ - [ ] Disaster recovery plan documented
306
+ - [ ] RPO and RTO defined and tested
307
+
308
+ ## Pre-Deployment Cloud Security Checklist
309
+
310
+ Before ANY production cloud deployment:
311
+
312
+ - [ ] **IAM**: Root account not used, MFA enabled, least privilege policies
313
+ - [ ] **Secrets**: All secrets in cloud secrets manager with rotation
314
+ - [ ] **Network**: Security groups restricted, no public databases
315
+ - [ ] **Logging**: CloudWatch/logging enabled with retention
316
+ - [ ] **Monitoring**: Alerts configured for anomalies
317
+ - [ ] **CI/CD**: OIDC auth, secrets scanning, dependency audits
318
+ - [ ] **CDN/WAF**: Cloudflare WAF enabled with OWASP rules
319
+ - [ ] **Encryption**: Data encrypted at rest and in transit
320
+ - [ ] **Backups**: Automated backups with tested recovery
321
+ - [ ] **Compliance**: GDPR/HIPAA requirements met (if applicable)
322
+ - [ ] **Documentation**: Infrastructure documented, runbooks created
323
+ - [ ] **Incident Response**: Security incident plan in place
324
+
325
+ ## Common Cloud Security Misconfigurations
326
+
327
+ ### S3 Bucket Exposure
328
+
329
+ ```bash
330
+ # ❌ WRONG: Public bucket
331
+ aws s3api put-bucket-acl --bucket my-bucket --acl public-read
332
+
333
+ # ✅ CORRECT: Private bucket with specific access
334
+ aws s3api put-bucket-acl --bucket my-bucket --acl private
335
+ aws s3api put-bucket-policy --bucket my-bucket --policy file://policy.json
336
+ ```
337
+
338
+ ### RDS Public Access
339
+
340
+ ```terraform
341
+ # ❌ WRONG
342
+ resource "aws_db_instance" "bad" {
343
+ publicly_accessible = true # NEVER do this!
344
+ }
345
+
346
+ # ✅ CORRECT
347
+ resource "aws_db_instance" "good" {
348
+ publicly_accessible = false
349
+ vpc_security_group_ids = [aws_security_group.db.id]
350
+ }
351
+ ```
352
+
353
+ ## Resources
354
+
355
+ - [AWS Security Best Practices](https://aws.amazon.com/security/best-practices/)
356
+ - [CIS AWS Foundations Benchmark](https://www.cisecurity.org/benchmark/amazon_web_services)
357
+ - [Cloudflare Security Documentation](https://developers.cloudflare.com/security/)
358
+ - [OWASP Cloud Security](https://owasp.org/www-project-cloud-security/)
359
+ - [Terraform Security Best Practices](https://www.terraform.io/docs/cloud/guides/recommended-practices/)
360
+
361
+ **Remember**: Cloud misconfigurations are the leading cause of data breaches. A single exposed S3 bucket or overly permissive IAM policy can compromise your entire infrastructure. Always follow the principle of least privilege and defense in depth.
@@ -0,0 +1,248 @@
1
+ # shadcn/ui Integration Skill
2
+
3
+ ## Install
4
+
5
+ ```bash
6
+ npx skills add google-labs-code/stitch-skills --skill shadcn-ui --global
7
+ ```
8
+
9
+ ## What It Does
10
+
11
+ This skill provides expert guidance for integrating shadcn/ui components into your React applications. It helps you discover, install, customize, and optimize shadcn/ui components while following best practices.
12
+
13
+ ## Example Prompts
14
+
15
+ ```text
16
+ Help me set up shadcn/ui in my Next.js project
17
+
18
+ Add a data table component with sorting and filtering to my app
19
+
20
+ Show me how to customize the button component with a new variant
21
+
22
+ Create a login form using shadcn/ui components with validation
23
+
24
+ Build a dashboard layout with sidebar navigation using shadcn/ui blocks
25
+ ```
26
+
27
+ ## What is shadcn/ui?
28
+
29
+ shadcn/ui is a collection of beautifully designed, accessible, and customizable components built with:
30
+ - **Radix UI or Base UI**: Unstyled, accessible component primitives
31
+ - **Tailwind CSS**: Utility-first styling framework
32
+ - **TypeScript**: Full type safety
33
+
34
+ **Key Difference**: Unlike traditional component libraries, shadcn/ui copies components directly into your project. This gives you:
35
+ - Full control over the code
36
+ - No version lock-in
37
+ - Complete customization freedom
38
+ - Zero runtime overhead
39
+
40
+ ## Skill Structure
41
+
42
+ ```text
43
+ skills/shadcn-ui/
44
+ ├── SKILL.md — Core instructions & workflow
45
+ ├── README.md — This file
46
+ ├── examples/ — Example implementations
47
+ │ ├── form-pattern.tsx — Form with validation
48
+ │ ├── data-table.tsx — Advanced table with sorting
49
+ │ └── auth-layout.tsx — Authentication flow
50
+ ├── resources/ — Reference documentation
51
+ │ ├── setup-guide.md — Project initialization
52
+ │ ├── component-catalog.md — Component reference
53
+ │ ├── customization-guide.md — Theming patterns
54
+ │ └── migration-guide.md — Migration from other libraries
55
+ └── scripts/ — Utility scripts
56
+ └── verify-setup.sh — Validate project configuration
57
+ ```
58
+
59
+ ## How It Works
60
+
61
+ When activated, the agent follows this workflow:
62
+
63
+ ### 1. **Discovery & Planning**
64
+ - Lists available components using shadcn MCP tools
65
+ - Identifies required dependencies
66
+ - Plans component composition strategy
67
+
68
+ ### 2. **Setup & Configuration**
69
+ - Verifies or initializes `components.json`
70
+ - Checks Tailwind CSS configuration
71
+ - Validates import aliases and paths
72
+
73
+ ### 3. **Component Integration**
74
+ - Retrieves component source code
75
+ - Installs via CLI or manual integration
76
+ - Handles dependency installation
77
+
78
+ ### 4. **Customization**
79
+ - Applies theme customization
80
+ - Creates component variants
81
+ - Extends components with custom logic
82
+
83
+ ### 5. **Quality Assurance**
84
+ - Validates TypeScript types
85
+ - Checks accessibility compliance
86
+ - Verifies responsive behavior
87
+
88
+ ## Prerequisites
89
+
90
+ Your project should have:
91
+ - **React 18+**
92
+ - **Tailwind CSS 3.0+**
93
+ - **TypeScript** (recommended)
94
+ - **Node.js 18+**
95
+
96
+ ## Quick Start
97
+
98
+ ### For New Projects
99
+
100
+ ```bash
101
+ # Create Next.js project with shadcn/ui
102
+ npx create-next-app@latest my-app
103
+ cd my-app
104
+ npx shadcn@latest init
105
+
106
+ # Add components
107
+ npx shadcn@latest add button
108
+ npx shadcn@latest add card
109
+ ```
110
+
111
+ ### For Existing Projects
112
+
113
+ ```bash
114
+ # Initialize shadcn/ui
115
+ npx shadcn@latest init
116
+
117
+ # Configure when prompted:
118
+ # - Choose style (default/new-york)
119
+ # - Select base color
120
+ # - Configure CSS variables
121
+ # - Set import aliases
122
+
123
+ # Add your first component
124
+ npx shadcn@latest add button
125
+ ```
126
+
127
+ ## Available Components
128
+
129
+ shadcn/ui provides 50+ components including:
130
+
131
+ **Layout**: Accordion, Card, Separator, Tabs, Collapsible
132
+ **Forms**: Button, Input, Label, Checkbox, Radio Group, Select, Textarea
133
+ **Data Display**: Table, Badge, Avatar, Progress, Skeleton
134
+ **Overlays**: Dialog, Sheet, Popover, Tooltip, Dropdown Menu
135
+ **Navigation**: Navigation Menu, Tabs, Breadcrumb, Pagination
136
+ **Feedback**: Alert, Alert Dialog, Toast, Command
137
+
138
+ Plus complete **Blocks** like:
139
+ - Authentication forms
140
+ - Dashboard layouts
141
+ - Calendar interfaces
142
+ - Sidebar navigation
143
+ - E-commerce components
144
+
145
+ ## Customization Approach
146
+
147
+ ### Theme-Level Customization
148
+ Modify CSS variables in `globals.css`:
149
+ ```css
150
+ :root {
151
+ --primary: 221.2 83.2% 53.3%;
152
+ --secondary: 210 40% 96.1%;
153
+ /* ... */
154
+ }
155
+ ```
156
+
157
+ ### Component-Level Customization
158
+ Components use `class-variance-authority` for variants:
159
+ ```typescript
160
+ const buttonVariants = cva(
161
+ "base-classes",
162
+ {
163
+ variants: {
164
+ variant: { default: "...", destructive: "..." },
165
+ size: { default: "...", sm: "..." },
166
+ }
167
+ }
168
+ )
169
+ ```
170
+
171
+ ### Composition
172
+ Create higher-level components:
173
+ ```typescript
174
+ // Compose existing components
175
+ export function FeatureCard({ title, description, icon }) {
176
+ return (
177
+ <Card>
178
+ <CardHeader>
179
+ {icon}
180
+ <CardTitle>{title}</CardTitle>
181
+ </CardHeader>
182
+ <CardContent>
183
+ <p>{description}</p>
184
+ </CardContent>
185
+ </Card>
186
+ )
187
+ }
188
+ ```
189
+
190
+ ## Integration with MCP Tools
191
+
192
+ This skill leverages shadcn MCP server capabilities:
193
+
194
+ - `list_components` - Browse component catalog
195
+ - `get_component` - Retrieve component source
196
+ - `get_component_metadata` - View props and dependencies
197
+ - `get_component_demo` - See usage examples
198
+ - `list_blocks` - Browse UI blocks
199
+ - `get_block` - Retrieve block source with all files
200
+ - `search_items_in_registries` - Find components in custom registries
201
+
202
+ ## Best Practices
203
+
204
+ 1. **Keep `ui/` pure**: Don't modify components in `components/ui/` directly
205
+ 2. **Compose, don't fork**: Create wrapper components instead of editing originals
206
+ 3. **Use the CLI**: Let `shadcn add` handle dependencies and updates
207
+ 4. **Maintain consistency**: Use the `cn()` utility for all class merging
208
+ 5. **Respect accessibility**: Preserve ARIA attributes and keyboard handlers
209
+ 6. **Test responsiveness**: shadcn components are responsive by default—keep it that way
210
+
211
+ ## Troubleshooting
212
+
213
+ ### "Module not found" errors
214
+ Check your `tsconfig.json` includes path aliases:
215
+ ```json
216
+ {
217
+ "compilerOptions": {
218
+ "paths": {
219
+ "@/*": ["./src/*"]
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ ### Styles not applying
226
+ - Import `globals.css` in your root layout
227
+ - Verify Tailwind config includes component paths
228
+ - Check CSS variable definitions match component expectations
229
+
230
+ ### TypeScript errors
231
+ - Ensure all Radix UI peer dependencies are installed
232
+ - Run `npm install` after adding components via CLI
233
+ - Check that React types are up to date
234
+
235
+ ## Further Reading
236
+
237
+ - [Official Documentation](https://ui.shadcn.com)
238
+ - [Component Source](https://github.com/shadcn-ui/ui)
239
+ - [Radix UI Docs](https://www.radix-ui.com)
240
+ - [Tailwind CSS Docs](https://tailwindcss.com)
241
+
242
+ ## Contributing
243
+
244
+ Contributions to improve this skill are welcome! See the root [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
245
+
246
+ ## License
247
+
248
+ See [LICENSE](../../LICENSE) in the repository root.