claudeinone-cli 1.0.2 → 1.0.3

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 (428) hide show
  1. package/kit/.claude/.ck.json +9 -0
  2. package/kit/.claude/.ckignore +12 -0
  3. package/kit/.claude/agents/accessibility-auditor.md +46 -0
  4. package/kit/.claude/agents/api-designer.md +43 -0
  5. package/kit/.claude/agents/backend-developer.md +54 -0
  6. package/kit/.claude/agents/brainstormer.md +33 -0
  7. package/kit/.claude/agents/campaign-manager.md +36 -0
  8. package/kit/.claude/agents/code-reviewer.md +39 -0
  9. package/kit/.claude/agents/content-creator.md +38 -0
  10. package/kit/.claude/agents/copywriter.md +42 -0
  11. package/kit/.claude/agents/database-admin.md +37 -0
  12. package/kit/.claude/agents/debugger.md +46 -0
  13. package/kit/.claude/agents/devops-engineer.md +41 -0
  14. package/kit/.claude/agents/docs-manager.md +33 -0
  15. package/kit/.claude/agents/email-wizard.md +40 -0
  16. package/kit/.claude/agents/frontend-developer.md +52 -0
  17. package/kit/.claude/agents/fullstack-developer.md +55 -0
  18. package/kit/.claude/agents/git-manager.md +40 -0
  19. package/kit/.claude/agents/i18n-specialist.md +46 -0
  20. package/kit/.claude/agents/integration-specialist.md +48 -0
  21. package/kit/.claude/agents/journal-writer.md +39 -0
  22. package/kit/.claude/agents/mcp-manager.md +57 -0
  23. package/kit/.claude/agents/mobile-developer.md +38 -0
  24. package/kit/.claude/agents/performance-optimizer.md +38 -0
  25. package/kit/.claude/agents/planner.md +56 -0
  26. package/kit/.claude/agents/project-manager.md +34 -0
  27. package/kit/.claude/agents/refactorer.md +43 -0
  28. package/kit/.claude/agents/researcher.md +45 -0
  29. package/kit/.claude/agents/risk-analyst.md +33 -0
  30. package/kit/.claude/agents/scalability-consultant.md +39 -0
  31. package/kit/.claude/agents/scout.md +25 -0
  32. package/kit/.claude/agents/security-auditor.md +42 -0
  33. package/kit/.claude/agents/seo-specialist.md +44 -0
  34. package/kit/.claude/agents/skill-creator.md +64 -0
  35. package/kit/.claude/agents/social-media-manager.md +35 -0
  36. package/kit/.claude/agents/systems-designer.md +35 -0
  37. package/kit/.claude/agents/technology-strategist.md +43 -0
  38. package/kit/.claude/agents/tester.md +40 -0
  39. package/kit/.claude/agents/ui-ux-designer.md +40 -0
  40. package/kit/.claude/commands/co/ask.md +29 -0
  41. package/kit/.claude/commands/co/bootstrap-auto-fast.md +28 -0
  42. package/kit/.claude/commands/co/bootstrap-auto-parallel.md +29 -0
  43. package/kit/.claude/commands/co/bootstrap-auto.md +30 -0
  44. package/kit/.claude/commands/co/bootstrap.md +31 -0
  45. package/kit/.claude/commands/co/brainstorm.md +27 -0
  46. package/kit/.claude/commands/co/campaign.md +28 -0
  47. package/kit/.claude/commands/co/changelog.md +25 -0
  48. package/kit/.claude/commands/co/checkpoint.md +25 -0
  49. package/kit/.claude/commands/co/ci.md +26 -0
  50. package/kit/.claude/commands/co/ck-help.md +24 -0
  51. package/kit/.claude/commands/co/coding-level.md +24 -0
  52. package/kit/.claude/commands/co/content-cro.md +26 -0
  53. package/kit/.claude/commands/co/content-enhance.md +26 -0
  54. package/kit/.claude/commands/co/content-fast.md +24 -0
  55. package/kit/.claude/commands/co/content-good.md +26 -0
  56. package/kit/.claude/commands/co/cook.md +33 -0
  57. package/kit/.claude/commands/co/debug.md +26 -0
  58. package/kit/.claude/commands/co/deploy.md +25 -0
  59. package/kit/.claude/commands/co/design-3d.md +27 -0
  60. package/kit/.claude/commands/co/design-describe.md +25 -0
  61. package/kit/.claude/commands/co/design-fast.md +25 -0
  62. package/kit/.claude/commands/co/design-good.md +28 -0
  63. package/kit/.claude/commands/co/design-screenshot.md +26 -0
  64. package/kit/.claude/commands/co/design-video.md +26 -0
  65. package/kit/.claude/commands/co/docker.md +24 -0
  66. package/kit/.claude/commands/co/docs-api.md +25 -0
  67. package/kit/.claude/commands/co/docs-init.md +26 -0
  68. package/kit/.claude/commands/co/docs-readme.md +24 -0
  69. package/kit/.claude/commands/co/docs-summarize.md +25 -0
  70. package/kit/.claude/commands/co/docs-update.md +25 -0
  71. package/kit/.claude/commands/co/env-check.md +25 -0
  72. package/kit/.claude/commands/co/fix-ci.md +29 -0
  73. package/kit/.claude/commands/co/fix-fast.md +28 -0
  74. package/kit/.claude/commands/co/fix-hard.md +33 -0
  75. package/kit/.claude/commands/co/fix-logs.md +28 -0
  76. package/kit/.claude/commands/co/fix-types.md +28 -0
  77. package/kit/.claude/commands/co/fix-ui.md +28 -0
  78. package/kit/.claude/commands/co/fix.md +27 -0
  79. package/kit/.claude/commands/co/git-cm.md +26 -0
  80. package/kit/.claude/commands/co/git-cp.md +26 -0
  81. package/kit/.claude/commands/co/git-pr.md +26 -0
  82. package/kit/.claude/commands/co/index.md +24 -0
  83. package/kit/.claude/commands/co/integrate-polar.md +29 -0
  84. package/kit/.claude/commands/co/integrate-sepay.md +29 -0
  85. package/kit/.claude/commands/co/journal.md +27 -0
  86. package/kit/.claude/commands/co/k8s.md +24 -0
  87. package/kit/.claude/commands/co/kanban.md +25 -0
  88. package/kit/.claude/commands/co/lint-fix.md +24 -0
  89. package/kit/.claude/commands/co/load.md +25 -0
  90. package/kit/.claude/commands/co/migrate.md +28 -0
  91. package/kit/.claude/commands/co/mock.md +26 -0
  92. package/kit/.claude/commands/co/mode.md +24 -0
  93. package/kit/.claude/commands/co/monitor.md +25 -0
  94. package/kit/.claude/commands/co/new-feature.md +27 -0
  95. package/kit/.claude/commands/co/optimize.md +26 -0
  96. package/kit/.claude/commands/co/plan-archive.md +24 -0
  97. package/kit/.claude/commands/co/plan-ci.md +28 -0
  98. package/kit/.claude/commands/co/plan-cro.md +27 -0
  99. package/kit/.claude/commands/co/plan-fast.md +24 -0
  100. package/kit/.claude/commands/co/plan-hard.md +27 -0
  101. package/kit/.claude/commands/co/plan-parallel.md +25 -0
  102. package/kit/.claude/commands/co/plan-two.md +29 -0
  103. package/kit/.claude/commands/co/plan-validate.md +27 -0
  104. package/kit/.claude/commands/co/plan.md +27 -0
  105. package/kit/.claude/commands/co/pr.md +25 -0
  106. package/kit/.claude/commands/co/preview.md +26 -0
  107. package/kit/.claude/commands/co/refactor.md +25 -0
  108. package/kit/.claude/commands/co/release.md +25 -0
  109. package/kit/.claude/commands/co/review-a11y.md +24 -0
  110. package/kit/.claude/commands/co/review-codebase-parallel.md +27 -0
  111. package/kit/.claude/commands/co/review-codebase.md +27 -0
  112. package/kit/.claude/commands/co/review-perf.md +24 -0
  113. package/kit/.claude/commands/co/review-security.md +25 -0
  114. package/kit/.claude/commands/co/scaffold.md +25 -0
  115. package/kit/.claude/commands/co/scout.md +26 -0
  116. package/kit/.claude/commands/co/secure.md +26 -0
  117. package/kit/.claude/commands/co/seed.md +25 -0
  118. package/kit/.claude/commands/co/seo-audit.md +24 -0
  119. package/kit/.claude/commands/co/seo-keywords.md +25 -0
  120. package/kit/.claude/commands/co/skill-create.md +29 -0
  121. package/kit/.claude/commands/co/skill-fix-logs.md +28 -0
  122. package/kit/.claude/commands/co/slide-create.md +24 -0
  123. package/kit/.claude/commands/co/spawn.md +24 -0
  124. package/kit/.claude/commands/co/terraform.md +24 -0
  125. package/kit/.claude/commands/co/test-gen.md +24 -0
  126. package/kit/.claude/commands/co/test-ui.md +27 -0
  127. package/kit/.claude/commands/co/test.md +26 -0
  128. package/kit/.claude/commands/co/use-mcp.md +25 -0
  129. package/kit/.claude/commands/co/video-script.md +25 -0
  130. package/kit/.claude/commands/co/watzup.md +25 -0
  131. package/kit/.claude/commands/co/worktree.md +25 -0
  132. package/kit/.claude/commands/co/write-blog.md +25 -0
  133. package/kit/.claude/commands/co/write-copy.md +24 -0
  134. package/kit/.claude/commands/co/write-email.md +25 -0
  135. package/kit/.claude/commands/content/content-cro.md +26 -0
  136. package/kit/.claude/commands/content/content-enhance.md +26 -0
  137. package/kit/.claude/commands/content/content-fast.md +24 -0
  138. package/kit/.claude/commands/content/content-good.md +26 -0
  139. package/kit/.claude/commands/content/enhance.md +26 -0
  140. package/kit/.claude/commands/content/good.md +26 -0
  141. package/kit/.claude/commands/core/ask.md +29 -0
  142. package/kit/.claude/commands/core/bootstrap-auto-fast.md +28 -0
  143. package/kit/.claude/commands/core/bootstrap-auto-parallel.md +29 -0
  144. package/kit/.claude/commands/core/bootstrap-auto.md +30 -0
  145. package/kit/.claude/commands/core/bootstrap.md +31 -0
  146. package/kit/.claude/commands/core/ck-help.md +24 -0
  147. package/kit/.claude/commands/core/coding-level.md +24 -0
  148. package/kit/.claude/commands/core/cook.md +33 -0
  149. package/kit/.claude/commands/core/debug.md +26 -0
  150. package/kit/.claude/commands/core/journal.md +27 -0
  151. package/kit/.claude/commands/core/kanban.md +25 -0
  152. package/kit/.claude/commands/core/preview.md +26 -0
  153. package/kit/.claude/commands/core/scout.md +26 -0
  154. package/kit/.claude/commands/core/test-ui.md +27 -0
  155. package/kit/.claude/commands/core/test.md +26 -0
  156. package/kit/.claude/commands/core/use-mcp.md +25 -0
  157. package/kit/.claude/commands/core/watzup.md +25 -0
  158. package/kit/.claude/commands/core/worktree.md +25 -0
  159. package/kit/.claude/commands/design/3d.md +27 -0
  160. package/kit/.claude/commands/design/design-3d.md +27 -0
  161. package/kit/.claude/commands/design/design-describe.md +25 -0
  162. package/kit/.claude/commands/design/design-fast.md +25 -0
  163. package/kit/.claude/commands/design/design-good.md +28 -0
  164. package/kit/.claude/commands/design/design-screenshot.md +26 -0
  165. package/kit/.claude/commands/design/design-video.md +26 -0
  166. package/kit/.claude/commands/design/good.md +28 -0
  167. package/kit/.claude/commands/design/video.md +26 -0
  168. package/kit/.claude/commands/docs/docs-init.md +26 -0
  169. package/kit/.claude/commands/docs/docs-summarize.md +25 -0
  170. package/kit/.claude/commands/docs/docs-update.md +25 -0
  171. package/kit/.claude/commands/docs/init.md +26 -0
  172. package/kit/.claude/commands/docs/summarize.md +25 -0
  173. package/kit/.claude/commands/fix/ci.md +29 -0
  174. package/kit/.claude/commands/fix/fast.md +28 -0
  175. package/kit/.claude/commands/fix/fix-ci.md +29 -0
  176. package/kit/.claude/commands/fix/fix-fast.md +28 -0
  177. package/kit/.claude/commands/fix/fix-hard.md +33 -0
  178. package/kit/.claude/commands/fix/fix-logs.md +28 -0
  179. package/kit/.claude/commands/fix/fix-types.md +28 -0
  180. package/kit/.claude/commands/fix/fix-ui.md +28 -0
  181. package/kit/.claude/commands/fix/hard.md +33 -0
  182. package/kit/.claude/commands/fix/logs.md +28 -0
  183. package/kit/.claude/commands/fix/types.md +28 -0
  184. package/kit/.claude/commands/fix/ui.md +28 -0
  185. package/kit/.claude/commands/git/cp.md +26 -0
  186. package/kit/.claude/commands/git/git-cm.md +26 -0
  187. package/kit/.claude/commands/git/git-cp.md +26 -0
  188. package/kit/.claude/commands/git/git-pr.md +26 -0
  189. package/kit/.claude/commands/integrate/integrate-polar.md +29 -0
  190. package/kit/.claude/commands/integrate/integrate-sepay.md +29 -0
  191. package/kit/.claude/commands/integrate/sepay.md +29 -0
  192. package/kit/.claude/commands/plan/ci.md +28 -0
  193. package/kit/.claude/commands/plan/cro.md +27 -0
  194. package/kit/.claude/commands/plan/hard.md +27 -0
  195. package/kit/.claude/commands/plan/plan-archive.md +24 -0
  196. package/kit/.claude/commands/plan/plan-ci.md +28 -0
  197. package/kit/.claude/commands/plan/plan-cro.md +27 -0
  198. package/kit/.claude/commands/plan/plan-fast.md +24 -0
  199. package/kit/.claude/commands/plan/plan-hard.md +27 -0
  200. package/kit/.claude/commands/plan/plan-parallel.md +25 -0
  201. package/kit/.claude/commands/plan/plan-two.md +29 -0
  202. package/kit/.claude/commands/plan/plan-validate.md +27 -0
  203. package/kit/.claude/commands/plan/plan.md +27 -0
  204. package/kit/.claude/commands/plan/validate.md +27 -0
  205. package/kit/.claude/commands/skill/fix-logs.md +28 -0
  206. package/kit/.claude/commands/skill/skill-create.md +29 -0
  207. package/kit/.claude/commands/skill/skill-fix-logs.md +28 -0
  208. package/kit/.claude/settings.json +16 -0
  209. package/kit/.claude/skills/ai-anthropic.md +100 -0
  210. package/kit/.claude/skills/ai-context-engineering.md +113 -0
  211. package/kit/.claude/skills/ai-gemini.md +152 -0
  212. package/kit/.claude/skills/ai-langchain.md +93 -0
  213. package/kit/.claude/skills/ai-llamaindex.md +179 -0
  214. package/kit/.claude/skills/ai-mcp-builder.md +101 -0
  215. package/kit/.claude/skills/ai-openai.md +250 -0
  216. package/kit/.claude/skills/ai-prompt-engineering.md +173 -0
  217. package/kit/.claude/skills/ai-rag.md +91 -0
  218. package/kit/.claude/skills/ai-vectordb.md +215 -0
  219. package/kit/.claude/skills/analytics-segment.md +161 -0
  220. package/kit/.claude/skills/api-caching.md +103 -0
  221. package/kit/.claude/skills/api-documentation.md +50 -0
  222. package/kit/.claude/skills/api-graphql.md +234 -0
  223. package/kit/.claude/skills/api-openapi.md +116 -0
  224. package/kit/.claude/skills/api-pagination-filtering.md +239 -0
  225. package/kit/.claude/skills/api-rate-limiting.md +179 -0
  226. package/kit/.claude/skills/api-rest-advanced.md +50 -0
  227. package/kit/.claude/skills/api-rest.md +217 -0
  228. package/kit/.claude/skills/api-trpc.md +173 -0
  229. package/kit/.claude/skills/api-versioning.md +70 -0
  230. package/kit/.claude/skills/api-webhooks.md +226 -0
  231. package/kit/.claude/skills/arch-clean-code.md +226 -0
  232. package/kit/.claude/skills/arch-clean.md +91 -0
  233. package/kit/.claude/skills/arch-cqrs.md +229 -0
  234. package/kit/.claude/skills/arch-ddd.md +85 -0
  235. package/kit/.claude/skills/arch-event-driven.md +189 -0
  236. package/kit/.claude/skills/arch-microservices.md +80 -0
  237. package/kit/.claude/skills/arch-monorepo.md +87 -0
  238. package/kit/.claude/skills/arch-multi-tenant.md +81 -0
  239. package/kit/.claude/skills/arch-serverless.md +86 -0
  240. package/kit/.claude/skills/auth-clerk.md +97 -0
  241. package/kit/.claude/skills/auth-jwt.md +143 -0
  242. package/kit/.claude/skills/auth-lucia.md +93 -0
  243. package/kit/.claude/skills/auth-nextauth.md +446 -0
  244. package/kit/.claude/skills/auth-oauth.md +208 -0
  245. package/kit/.claude/skills/auth-oauth2.md +110 -0
  246. package/kit/.claude/skills/auth-passkeys.md +109 -0
  247. package/kit/.claude/skills/auth-session.md +88 -0
  248. package/kit/.claude/skills/backend-dotnet.md +414 -0
  249. package/kit/.claude/skills/backend-express.md +129 -0
  250. package/kit/.claude/skills/backend-fastify.md +104 -0
  251. package/kit/.claude/skills/backend-go.md +205 -0
  252. package/kit/.claude/skills/backend-graphql.md +149 -0
  253. package/kit/.claude/skills/backend-grpc.md +382 -0
  254. package/kit/.claude/skills/backend-hono.md +95 -0
  255. package/kit/.claude/skills/backend-java-spring.md +198 -0
  256. package/kit/.claude/skills/backend-nodejs-express.md +165 -0
  257. package/kit/.claude/skills/backend-nodejs.md +143 -0
  258. package/kit/.claude/skills/backend-php-laravel.md +156 -0
  259. package/kit/.claude/skills/backend-python-django.md +200 -0
  260. package/kit/.claude/skills/backend-python-fastapi.md +169 -0
  261. package/kit/.claude/skills/backend-ruby-rails.md +190 -0
  262. package/kit/.claude/skills/backend-rust.md +182 -0
  263. package/kit/.claude/skills/backend-websockets.md +392 -0
  264. package/kit/.claude/skills/cache-redis.md +195 -0
  265. package/kit/.claude/skills/caching-strategies.md +100 -0
  266. package/kit/.claude/skills/cloud-aws.md +165 -0
  267. package/kit/.claude/skills/cloud-azure.md +187 -0
  268. package/kit/.claude/skills/cloud-cloudflare.md +74 -0
  269. package/kit/.claude/skills/cloud-fly.md +94 -0
  270. package/kit/.claude/skills/cloud-gcp.md +160 -0
  271. package/kit/.claude/skills/cloud-railway.md +92 -0
  272. package/kit/.claude/skills/cloud-render.md +70 -0
  273. package/kit/.claude/skills/cloud-serverless.md +68 -0
  274. package/kit/.claude/skills/cloud-vercel.md +76 -0
  275. package/kit/.claude/skills/component-patterns.md +50 -0
  276. package/kit/.claude/skills/content-management.md +197 -0
  277. package/kit/.claude/skills/cors-security.md +50 -0
  278. package/kit/.claude/skills/data-csv-excel.md +210 -0
  279. package/kit/.claude/skills/database-optimization.md +196 -0
  280. package/kit/.claude/skills/databases-transactions.md +68 -0
  281. package/kit/.claude/skills/db-cassandra.md +89 -0
  282. package/kit/.claude/skills/db-drizzle.md +363 -0
  283. package/kit/.claude/skills/db-dynamodb.md +83 -0
  284. package/kit/.claude/skills/db-elasticsearch.md +105 -0
  285. package/kit/.claude/skills/db-firebase-firestore.md +191 -0
  286. package/kit/.claude/skills/db-mongodb.md +198 -0
  287. package/kit/.claude/skills/db-mysql.md +50 -0
  288. package/kit/.claude/skills/db-neon.md +72 -0
  289. package/kit/.claude/skills/db-planetscale.md +76 -0
  290. package/kit/.claude/skills/db-postgresql.md +50 -0
  291. package/kit/.claude/skills/db-prisma.md +414 -0
  292. package/kit/.claude/skills/db-redis.md +50 -0
  293. package/kit/.claude/skills/db-sqlite.md +149 -0
  294. package/kit/.claude/skills/db-supabase.md +445 -0
  295. package/kit/.claude/skills/devops-ci-cd.md +271 -0
  296. package/kit/.claude/skills/devops-database-backup.md +77 -0
  297. package/kit/.claude/skills/devops-docker.md +93 -0
  298. package/kit/.claude/skills/devops-github-actions.md +82 -0
  299. package/kit/.claude/skills/devops-health-checks.md +50 -0
  300. package/kit/.claude/skills/devops-kubernetes.md +109 -0
  301. package/kit/.claude/skills/devops-logging.md +163 -0
  302. package/kit/.claude/skills/devops-monitoring.md +203 -0
  303. package/kit/.claude/skills/devops-pulumi.md +94 -0
  304. package/kit/.claude/skills/devops-secrets.md +166 -0
  305. package/kit/.claude/skills/devops-terraform.md +226 -0
  306. package/kit/.claude/skills/error-boundaries.md +84 -0
  307. package/kit/.claude/skills/file-storage.md +50 -0
  308. package/kit/.claude/skills/frontend-angular.md +104 -0
  309. package/kit/.claude/skills/frontend-astro.md +94 -0
  310. package/kit/.claude/skills/frontend-bundle-analysis.md +147 -0
  311. package/kit/.claude/skills/frontend-forms.md +134 -0
  312. package/kit/.claude/skills/frontend-htmx.md +86 -0
  313. package/kit/.claude/skills/frontend-nextjs.md +188 -0
  314. package/kit/.claude/skills/frontend-pwa.md +105 -0
  315. package/kit/.claude/skills/frontend-react-hooks.md +238 -0
  316. package/kit/.claude/skills/frontend-react.md +129 -0
  317. package/kit/.claude/skills/frontend-remix-advanced.md +106 -0
  318. package/kit/.claude/skills/frontend-remix.md +101 -0
  319. package/kit/.claude/skills/frontend-solid.md +99 -0
  320. package/kit/.claude/skills/frontend-state-management.md +134 -0
  321. package/kit/.claude/skills/frontend-state.md +106 -0
  322. package/kit/.claude/skills/frontend-svelte.md +121 -0
  323. package/kit/.claude/skills/frontend-testing.md +100 -0
  324. package/kit/.claude/skills/frontend-vite.md +94 -0
  325. package/kit/.claude/skills/frontend-vue.md +133 -0
  326. package/kit/.claude/skills/frontend-webpack.md +93 -0
  327. package/kit/.claude/skills/functional-programming.md +50 -0
  328. package/kit/.claude/skills/hooks-custom.md +50 -0
  329. package/kit/.claude/skills/http-server.md +50 -0
  330. package/kit/.claude/skills/i18n-general.md +89 -0
  331. package/kit/.claude/skills/i18n-localization.md +191 -0
  332. package/kit/.claude/skills/i18n-nextjs.md +127 -0
  333. package/kit/.claude/skills/infrastructure-docker-compose.md +77 -0
  334. package/kit/.claude/skills/infrastructure-serverless.md +177 -0
  335. package/kit/.claude/skills/jwt-tokens.md +50 -0
  336. package/kit/.claude/skills/logging-winston.md +106 -0
  337. package/kit/.claude/skills/messaging-kafka.md +102 -0
  338. package/kit/.claude/skills/messaging-rabbitmq.md +50 -0
  339. package/kit/.claude/skills/mobile-capacitor.md +109 -0
  340. package/kit/.claude/skills/mobile-expo.md +101 -0
  341. package/kit/.claude/skills/mobile-flutter.md +259 -0
  342. package/kit/.claude/skills/mobile-react-native.md +238 -0
  343. package/kit/.claude/skills/monitoring-apm.md +50 -0
  344. package/kit/.claude/skills/monitoring-error-tracking.md +217 -0
  345. package/kit/.claude/skills/nodejs-streams.md +168 -0
  346. package/kit/.claude/skills/oauth-integration.md +50 -0
  347. package/kit/.claude/skills/patterns-dependency-injection.md +218 -0
  348. package/kit/.claude/skills/patterns-factory-singleton.md +209 -0
  349. package/kit/.claude/skills/patterns-observer-pubsub.md +210 -0
  350. package/kit/.claude/skills/payment-lemonsqueezy.md +101 -0
  351. package/kit/.claude/skills/payment-square.md +178 -0
  352. package/kit/.claude/skills/payment-stripe.md +206 -0
  353. package/kit/.claude/skills/perf-bundle.md +100 -0
  354. package/kit/.claude/skills/perf-web-vitals.md +102 -0
  355. package/kit/.claude/skills/performance-database-connection-pooling.md +67 -0
  356. package/kit/.claude/skills/performance-metrics.md +73 -0
  357. package/kit/.claude/skills/performance-optimization.md +208 -0
  358. package/kit/.claude/skills/performance-web-vitals.md +169 -0
  359. package/kit/.claude/skills/rate-limiting.md +77 -0
  360. package/kit/.claude/skills/reactive-programming.md +50 -0
  361. package/kit/.claude/skills/realtime-database.md +50 -0
  362. package/kit/.claude/skills/realtime-subscriptions.md +218 -0
  363. package/kit/.claude/skills/saas-ab-testing.md +90 -0
  364. package/kit/.claude/skills/saas-analytics.md +113 -0
  365. package/kit/.claude/skills/saas-billing.md +106 -0
  366. package/kit/.claude/skills/saas-email.md +88 -0
  367. package/kit/.claude/skills/saas-feature-flags.md +83 -0
  368. package/kit/.claude/skills/saas-onboarding.md +96 -0
  369. package/kit/.claude/skills/saas-user-onboarding.md +207 -0
  370. package/kit/.claude/skills/security-encryption.md +216 -0
  371. package/kit/.claude/skills/security-owasp.md +212 -0
  372. package/kit/.claude/skills/security-secrets-rotation.md +64 -0
  373. package/kit/.claude/skills/seo-content.md +94 -0
  374. package/kit/.claude/skills/seo-technical.md +101 -0
  375. package/kit/.claude/skills/serverless-framework.md +151 -0
  376. package/kit/.claude/skills/sharding-scaling.md +50 -0
  377. package/kit/.claude/skills/styling-css-modules.md +219 -0
  378. package/kit/.claude/skills/styling-styled-components.md +206 -0
  379. package/kit/.claude/skills/styling-tailwind.md +206 -0
  380. package/kit/.claude/skills/test-e2e.md +86 -0
  381. package/kit/.claude/skills/test-integration.md +216 -0
  382. package/kit/.claude/skills/test-performance.md +162 -0
  383. package/kit/.claude/skills/test-tdd.md +170 -0
  384. package/kit/.claude/skills/test-unit.md +301 -0
  385. package/kit/.claude/skills/testing-accessibility.md +117 -0
  386. package/kit/.claude/skills/testing-contract.md +75 -0
  387. package/kit/.claude/skills/testing-e2e-advanced.md +50 -0
  388. package/kit/.claude/skills/testing-load-stress.md +79 -0
  389. package/kit/.claude/skills/testing-mutation.md +92 -0
  390. package/kit/.claude/skills/testing-snapshot.md +50 -0
  391. package/kit/.claude/skills/testing-vitest.md +172 -0
  392. package/kit/.claude/skills/tooling-biome.md +91 -0
  393. package/kit/.claude/skills/tooling-build-tools.md +166 -0
  394. package/kit/.claude/skills/tooling-bun.md +94 -0
  395. package/kit/.claude/skills/tooling-eslint.md +103 -0
  396. package/kit/.claude/skills/tooling-git.md +79 -0
  397. package/kit/.claude/skills/tooling-monorepo.md +162 -0
  398. package/kit/.claude/skills/tooling-testing-frameworks.md +207 -0
  399. package/kit/.claude/skills/tooling-typescript.md +156 -0
  400. package/kit/.claude/skills/ui-a11y.md +106 -0
  401. package/kit/.claude/skills/ui-framer.md +106 -0
  402. package/kit/.claude/skills/ui-gsap.md +102 -0
  403. package/kit/.claude/skills/ui-radix.md +82 -0
  404. package/kit/.claude/skills/ui-shadcn.md +463 -0
  405. package/kit/.claude/skills/ui-tailwind.md +98 -0
  406. package/kit/.claude/skills/ui-threejs.md +110 -0
  407. package/kit/.claude/skills/ui-tokens.md +97 -0
  408. package/kit/.claude/skills/utilities-date-time.md +170 -0
  409. package/kit/.claude/skills/validation-schemas.md +110 -0
  410. package/kit/.claude/skills/version-control-git.md +144 -0
  411. package/kit/.claude/skills/web-accessibility-wcag.md +102 -0
  412. package/kit/.claude/skills/web-astro.md +197 -0
  413. package/kit/.claude/skills/web-html-css.md +224 -0
  414. package/kit/.claude/skills/web-htmx.md +99 -0
  415. package/kit/.claude/skills/web-nextjs-advanced.md +202 -0
  416. package/kit/.claude/skills/web-remix.md +194 -0
  417. package/kit/.claude/skills/web-seo.md +99 -0
  418. package/kit/.claude/skills/web-svelte.md +234 -0
  419. package/kit/.claude/skills/websocket-server.md +50 -0
  420. package/kit/.claude/skills/writing-marketing.md +89 -0
  421. package/kit/.claude/skills/writing-technical.md +119 -0
  422. package/kit/CLAUDE.md +206 -0
  423. package/kit/README.md +150 -0
  424. package/kit/SKILLS_INDEX.md +188 -0
  425. package/kit/docs/README.md +3 -0
  426. package/kit/journals/README.md +3 -0
  427. package/kit/plans/README.md +3 -0
  428. package/package.json +3 -1
@@ -0,0 +1,463 @@
1
+ # shadcn/ui
2
+
3
+ High-quality React component library built on Radix UI and Tailwind CSS for accessible interfaces.
4
+
5
+ ## Setup
6
+
7
+ ```bash
8
+ npx shadcn-ui@latest init
9
+
10
+ # Choose your preferences:
11
+ # - TypeScript: Yes
12
+ # - Style: Default
13
+ # - Base color: Slate
14
+ # - CSS variables: Yes
15
+ ```
16
+
17
+ ## Install Components
18
+
19
+ ```bash
20
+ # Single component
21
+ npx shadcn-ui@latest add button
22
+
23
+ # Multiple components
24
+ npx shadcn-ui@latest add button input card dialog
25
+
26
+ # All components
27
+ npx shadcn-ui@latest add --all
28
+ ```
29
+
30
+ ## Button Component
31
+
32
+ ```tsx
33
+ import { Button } from '@/components/ui/button';
34
+
35
+ export default function ButtonDemo() {
36
+ return (
37
+ <div className="flex gap-4">
38
+ <Button>Default</Button>
39
+ <Button variant="secondary">Secondary</Button>
40
+ <Button variant="destructive">Destructive</Button>
41
+ <Button variant="outline">Outline</Button>
42
+ <Button variant="ghost">Ghost</Button>
43
+ <Button variant="link">Link</Button>
44
+
45
+ <Button size="sm">Small</Button>
46
+ <Button size="lg">Large</Button>
47
+ <Button disabled>Disabled</Button>
48
+ </div>
49
+ );
50
+ }
51
+ ```
52
+
53
+ ## Form with Input Components
54
+
55
+ ```tsx
56
+ 'use client';
57
+
58
+ import { useState } from 'react';
59
+ import { Button } from '@/components/ui/button';
60
+ import { Input } from '@/components/ui/input';
61
+ import { Label } from '@/components/ui/label';
62
+ import { Card } from '@/components/ui/card';
63
+
64
+ export default function FormExample() {
65
+ const [email, setEmail] = useState('');
66
+
67
+ return (
68
+ <Card className="w-full max-w-md p-6">
69
+ <form onSubmit={(e) => {
70
+ e.preventDefault();
71
+ console.log('Submitting:', email);
72
+ }}>
73
+ <div className="space-y-4">
74
+ <div>
75
+ <Label htmlFor="email">Email</Label>
76
+ <Input
77
+ id="email"
78
+ type="email"
79
+ placeholder="john@example.com"
80
+ value={email}
81
+ onChange={(e) => setEmail(e.target.value)}
82
+ />
83
+ </div>
84
+
85
+ <Button type="submit" className="w-full">
86
+ Sign In
87
+ </Button>
88
+ </div>
89
+ </form>
90
+ </Card>
91
+ );
92
+ }
93
+ ```
94
+
95
+ ## Dialog Component
96
+
97
+ ```tsx
98
+ 'use client';
99
+
100
+ import { useState } from 'react';
101
+ import { Button } from '@/components/ui/button';
102
+ import {
103
+ Dialog,
104
+ DialogContent,
105
+ DialogDescription,
106
+ DialogHeader,
107
+ DialogTitle,
108
+ DialogTrigger
109
+ } from '@/components/ui/dialog';
110
+
111
+ export default function DialogExample() {
112
+ const [open, setOpen] = useState(false);
113
+
114
+ return (
115
+ <Dialog open={open} onOpenChange={setOpen}>
116
+ <DialogTrigger asChild>
117
+ <Button>Open Dialog</Button>
118
+ </DialogTrigger>
119
+ <DialogContent>
120
+ <DialogHeader>
121
+ <DialogTitle>Are you sure?</DialogTitle>
122
+ <DialogDescription>
123
+ This action cannot be undone. This will permanently delete your account.
124
+ </DialogDescription>
125
+ </DialogHeader>
126
+ <div className="flex justify-end gap-2">
127
+ <Button variant="outline" onClick={() => setOpen(false)}>
128
+ Cancel
129
+ </Button>
130
+ <Button variant="destructive">Delete</Button>
131
+ </div>
132
+ </DialogContent>
133
+ </Dialog>
134
+ );
135
+ }
136
+ ```
137
+
138
+ ## Dropdown Menu
139
+
140
+ ```tsx
141
+ 'use client';
142
+
143
+ import { Button } from '@/components/ui/button';
144
+ import {
145
+ DropdownMenu,
146
+ DropdownMenuContent,
147
+ DropdownMenuItem,
148
+ DropdownMenuLabel,
149
+ DropdownMenuSeparator,
150
+ DropdownMenuTrigger
151
+ } from '@/components/ui/dropdown-menu';
152
+
153
+ export default function DropdownExample() {
154
+ return (
155
+ <DropdownMenu>
156
+ <DropdownMenuTrigger asChild>
157
+ <Button variant="outline">Actions</Button>
158
+ </DropdownMenuTrigger>
159
+ <DropdownMenuContent align="end">
160
+ <DropdownMenuLabel>My Account</DropdownMenuLabel>
161
+ <DropdownMenuSeparator />
162
+ <DropdownMenuItem>Profile</DropdownMenuItem>
163
+ <DropdownMenuItem>Settings</DropdownMenuItem>
164
+ <DropdownMenuItem>Support</DropdownMenuItem>
165
+ <DropdownMenuSeparator />
166
+ <DropdownMenuItem>Logout</DropdownMenuItem>
167
+ </DropdownMenuContent>
168
+ </DropdownMenu>
169
+ );
170
+ }
171
+ ```
172
+
173
+ ## Modal/Sheet (Side Panel)
174
+
175
+ ```tsx
176
+ 'use client';
177
+
178
+ import { Button } from '@/components/ui/button';
179
+ import {
180
+ Sheet,
181
+ SheetContent,
182
+ SheetDescription,
183
+ SheetHeader,
184
+ SheetTitle,
185
+ SheetTrigger
186
+ } from '@/components/ui/sheet';
187
+
188
+ export default function SheetExample() {
189
+ return (
190
+ <Sheet>
191
+ <SheetTrigger asChild>
192
+ <Button>Open Settings</Button>
193
+ </SheetTrigger>
194
+ <SheetContent>
195
+ <SheetHeader>
196
+ <SheetTitle>Settings</SheetTitle>
197
+ <SheetDescription>
198
+ Make changes to your account settings here.
199
+ </SheetDescription>
200
+ </SheetHeader>
201
+ <div className="space-y-4 py-4">
202
+ {/* Settings content */}
203
+ </div>
204
+ </SheetContent>
205
+ </Sheet>
206
+ );
207
+ }
208
+ ```
209
+
210
+ ## Select Component
211
+
212
+ ```tsx
213
+ 'use client';
214
+
215
+ import {
216
+ Select,
217
+ SelectContent,
218
+ SelectItem,
219
+ SelectTrigger,
220
+ SelectValue
221
+ } from '@/components/ui/select';
222
+
223
+ export default function SelectExample() {
224
+ const [value, setValue] = useState('');
225
+
226
+ return (
227
+ <Select value={value} onValueChange={setValue}>
228
+ <SelectTrigger className="w-[200px]">
229
+ <SelectValue placeholder="Select a role" />
230
+ </SelectTrigger>
231
+ <SelectContent>
232
+ <SelectItem value="admin">Admin</SelectItem>
233
+ <SelectItem value="user">User</SelectItem>
234
+ <SelectItem value="guest">Guest</SelectItem>
235
+ </SelectContent>
236
+ </Select>
237
+ );
238
+ }
239
+ ```
240
+
241
+ ## Tabs Component
242
+
243
+ ```tsx
244
+ 'use client';
245
+
246
+ import {
247
+ Tabs,
248
+ TabsContent,
249
+ TabsList,
250
+ TabsTrigger
251
+ } from '@/components/ui/tabs';
252
+
253
+ export default function TabsExample() {
254
+ return (
255
+ <Tabs defaultValue="account" className="w-[400px]">
256
+ <TabsList className="grid w-full grid-cols-2">
257
+ <TabsTrigger value="account">Account</TabsTrigger>
258
+ <TabsTrigger value="password">Password</TabsTrigger>
259
+ </TabsList>
260
+ <TabsContent value="account">
261
+ <div>Account settings here</div>
262
+ </TabsContent>
263
+ <TabsContent value="password">
264
+ <div>Password settings here</div>
265
+ </TabsContent>
266
+ </Tabs>
267
+ );
268
+ }
269
+ ```
270
+
271
+ ## Alert Component
272
+
273
+ ```tsx
274
+ import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
275
+ import { AlertCircle } from 'lucide-react';
276
+
277
+ export default function AlertExample() {
278
+ return (
279
+ <Alert variant="destructive">
280
+ <AlertCircle className="h-4 w-4" />
281
+ <AlertTitle>Error</AlertTitle>
282
+ <AlertDescription>
283
+ Your session has expired. Please sign in again.
284
+ </AlertDescription>
285
+ </Alert>
286
+ );
287
+ }
288
+ ```
289
+
290
+ ## Data Table
291
+
292
+ ```tsx
293
+ 'use client';
294
+
295
+ import {
296
+ Table,
297
+ TableBody,
298
+ TableCell,
299
+ TableHead,
300
+ TableHeader,
301
+ TableRow
302
+ } from '@/components/ui/table';
303
+
304
+ const users = [
305
+ { id: 1, name: 'John Doe', email: 'john@example.com' },
306
+ { id: 2, name: 'Jane Smith', email: 'jane@example.com' }
307
+ ];
308
+
309
+ export default function TableExample() {
310
+ return (
311
+ <Table>
312
+ <TableHeader>
313
+ <TableRow>
314
+ <TableHead>Name</TableHead>
315
+ <TableHead>Email</TableHead>
316
+ </TableRow>
317
+ </TableHeader>
318
+ <TableBody>
319
+ {users.map((user) => (
320
+ <TableRow key={user.id}>
321
+ <TableCell>{user.name}</TableCell>
322
+ <TableCell>{user.email}</TableCell>
323
+ </TableRow>
324
+ ))}
325
+ </TableBody>
326
+ </Table>
327
+ );
328
+ }
329
+ ```
330
+
331
+ ## Toast Notifications
332
+
333
+ ```tsx
334
+ 'use client';
335
+
336
+ import { Button } from '@/components/ui/button';
337
+ import { useToast } from '@/components/ui/use-toast';
338
+
339
+ export default function ToastExample() {
340
+ const { toast } = useToast();
341
+
342
+ return (
343
+ <Button
344
+ onClick={() => {
345
+ toast({
346
+ title: 'Success',
347
+ description: 'Your changes have been saved.',
348
+ variant: 'default'
349
+ });
350
+ }}
351
+ >
352
+ Show Toast
353
+ </Button>
354
+ );
355
+ }
356
+ ```
357
+
358
+ ## Themeing with CSS Variables
359
+
360
+ ```css
361
+ /* globals.css */
362
+ @layer base {
363
+ :root {
364
+ --background: 0 0% 100%;
365
+ --foreground: 0 0% 3.6%;
366
+
367
+ --card: 0 0% 100%;
368
+ --card-foreground: 0 0% 3.6%;
369
+
370
+ --primary: 0 0% 9%;
371
+ --primary-foreground: 0 0% 100%;
372
+
373
+ --secondary: 0 0% 96.1%;
374
+ --secondary-foreground: 0 0% 9%;
375
+
376
+ --muted: 0 0% 89.5%;
377
+ --muted-foreground: 0 0% 45.1%;
378
+
379
+ --accent: 0 0% 9%;
380
+ --accent-foreground: 0 0% 100%;
381
+
382
+ --destructive: 0 84.2% 60.2%;
383
+ --destructive-foreground: 0 0% 100%;
384
+
385
+ --border: 0 0% 89.5%;
386
+ --input: 0 0% 89.5%;
387
+ --ring: 0 0% 3.6%;
388
+
389
+ --radius: 0.5rem;
390
+ }
391
+
392
+ .dark {
393
+ --background: 0 0% 3.6%;
394
+ --foreground: 0 0% 98%;
395
+ /* ... more dark variables ... */
396
+ }
397
+ }
398
+ ```
399
+
400
+ ## Custom Component Usage
401
+
402
+ ```tsx
403
+ 'use client';
404
+
405
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
406
+ import { Button } from '@/components/ui/button';
407
+ import { Badge } from '@/components/ui/badge';
408
+
409
+ export default function DashboardCard() {
410
+ return (
411
+ <Card>
412
+ <CardHeader>
413
+ <CardTitle>Dashboard</CardTitle>
414
+ <CardDescription>View your analytics</CardDescription>
415
+ </CardHeader>
416
+ <CardContent className="space-y-4">
417
+ <div className="flex items-center justify-between">
418
+ <span>Status</span>
419
+ <Badge>Active</Badge>
420
+ </div>
421
+ <Button className="w-full">View Details</Button>
422
+ </CardContent>
423
+ </Card>
424
+ );
425
+ }
426
+ ```
427
+
428
+ ## Best Practices
429
+
430
+ ✅ **Use headless** - Base components on Radix UI for accessibility
431
+ ✅ **Customize with CSS** - Modify colors in globals.css CSS variables
432
+ ✅ **Combine components** - Build complex UIs from simple primitives
433
+ ✅ **Type-safe** - Full TypeScript support out of the box
434
+ ✅ **Accessible** - All components follow WAI-ARIA standards
435
+ ✅ **Dark mode** - Built-in dark mode support via CSS classes
436
+ ✅ **Responsive** - Mobile-first design with Tailwind breakpoints
437
+
438
+ ## Common Patterns
439
+
440
+ - Always use the `asChild` prop for custom triggers
441
+ - Nest components properly (Dialog > DialogContent > DialogHeader)
442
+ - Use `className` for Tailwind customization
443
+ - Import icons from `lucide-react` for consistency
444
+ - Combine multiple components for complex UIs
445
+
446
+ ## When to Use shadcn/ui
447
+
448
+ ✅ Next.js projects
449
+ ✅ Need accessible components
450
+ ✅ Want customizable UI library
451
+ ✅ TypeScript projects
452
+ ✅ Tailwind CSS styling
453
+
454
+ ❌ Non-React projects
455
+ ❌ Need pre-built templates
456
+ ❌ Simple static sites
457
+
458
+ ## Resources
459
+
460
+ - [shadcn/ui Documentation](https://ui.shadcn.com/)
461
+ - [Component Gallery](https://ui.shadcn.com/docs/components/accordion)
462
+ - [Radix UI Docs](https://www.radix-ui.com/docs/primitives/overview/introduction)
463
+ - [Tailwind CSS Docs](https://tailwindcss.com/docs)
@@ -0,0 +1,98 @@
1
+ # Tailwind CSS v4
2
+
3
+ Utility-first CSS framework for rapid UI development.
4
+
5
+ ## Basic Usage
6
+
7
+ ```html
8
+ <div class="flex items-center justify-between p-4 bg-blue-500">
9
+ <h1 class="text-2xl font-bold text-white">Header</h1>
10
+ <button class="px-4 py-2 bg-white text-blue-500 rounded hover:bg-gray-100">
11
+ Click Me
12
+ </button>
13
+ </div>
14
+ ```
15
+
16
+ ## Layout
17
+
18
+ ```html
19
+ <!-- Flex layout -->
20
+ <div class="flex gap-4">
21
+ <div class="flex-1">Sidebar</div>
22
+ <div class="flex-2">Main Content</div>
23
+ </div>
24
+
25
+ <!-- Grid layout -->
26
+ <div class="grid grid-cols-3 gap-4">
27
+ <div>Item 1</div>
28
+ <div>Item 2</div>
29
+ <div>Item 3</div>
30
+ </div>
31
+
32
+ <!-- Responsive -->
33
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
34
+ <div>Responsive Grid</div>
35
+ </div>
36
+ ```
37
+
38
+ ## Styling
39
+
40
+ ```html
41
+ <!-- Colors -->
42
+ <div class="bg-blue-500 text-white">Blue Background</div>
43
+
44
+ <!-- Shadows & Borders -->
45
+ <div class="border border-gray-300 rounded-lg shadow-lg">Card</div>
46
+
47
+ <!-- Spacing -->
48
+ <div class="p-4 m-2">Padded and Margined</div>
49
+
50
+ <!-- Opacity & Hover -->
51
+ <button class="bg-blue-500 hover:bg-blue-600 active:bg-blue-700 opacity-80">
52
+ Interactive
53
+ </button>
54
+ ```
55
+
56
+ ## Dark Mode
57
+
58
+ ```html
59
+ <div class="bg-white dark:bg-gray-900 text-black dark:text-white">
60
+ Toggles with dark mode
61
+ </div>
62
+
63
+ <!-- In CSS -->
64
+ <html class="dark">
65
+ <!-- Content -->
66
+ </html>
67
+ ```
68
+
69
+ ## Custom Configuration
70
+
71
+ ```javascript
72
+ // tailwind.config.js
73
+ module.exports = {
74
+ theme: {
75
+ extend: {
76
+ colors: {
77
+ brand: '#FF6B6B',
78
+ },
79
+ spacing: {
80
+ '128': '32rem',
81
+ },
82
+ },
83
+ },
84
+ };
85
+ ```
86
+
87
+ ## Best Practices
88
+
89
+ 1. **Use utility classes**
90
+ 2. **Avoid inline styles**
91
+ 3. **Create component classes for reuse**
92
+ 4. **Use @apply for custom components**
93
+ 5. **Responsive-first design**
94
+ 6. **Dark mode support**
95
+
96
+ ## Resources
97
+
98
+ - [Tailwind CSS Docs](https://tailwindcss.com/docs)
@@ -0,0 +1,110 @@
1
+ # Three.js
2
+
3
+ ## Overview
4
+ Three.js renders 3D scenes in the browser using WebGL — for product visualizations, games, and immersive UIs.
5
+
6
+ ## Setup
7
+
8
+ ```bash
9
+ npm install three @types/three
10
+ ```
11
+
12
+ ## Basic Scene Setup
13
+
14
+ ```typescript
15
+ import * as THREE from 'three';
16
+ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
17
+
18
+ // Scene
19
+ const scene = new THREE.Scene();
20
+ scene.background = new THREE.Color(0xf0f0f0);
21
+
22
+ // Camera
23
+ const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
24
+ camera.position.set(0, 2, 5);
25
+
26
+ // Renderer
27
+ const renderer = new THREE.WebGLRenderer({ antialias: true });
28
+ renderer.setSize(window.innerWidth, window.innerHeight);
29
+ renderer.shadowMap.enabled = true;
30
+ document.body.appendChild(renderer.domElement);
31
+
32
+ // Controls
33
+ const controls = new OrbitControls(camera, renderer.domElement);
34
+ controls.enableDamping = true;
35
+
36
+ // Geometry + Material + Mesh
37
+ const geometry = new THREE.BoxGeometry(1, 1, 1);
38
+ const material = new THREE.MeshStandardMaterial({ color: 0x00aaff });
39
+ const cube = new THREE.Mesh(geometry, material);
40
+ cube.castShadow = true;
41
+ scene.add(cube);
42
+
43
+ // Lighting
44
+ const light = new THREE.DirectionalLight(0xffffff, 1);
45
+ light.position.set(5, 10, 5);
46
+ light.castShadow = true;
47
+ scene.add(light);
48
+ scene.add(new THREE.AmbientLight(0xffffff, 0.4));
49
+
50
+ // Animation loop
51
+ function animate() {
52
+ requestAnimationFrame(animate);
53
+ cube.rotation.y += 0.01;
54
+ controls.update();
55
+ renderer.render(scene, camera);
56
+ }
57
+ animate();
58
+
59
+ // Resize handler
60
+ window.addEventListener('resize', () => {
61
+ camera.aspect = window.innerWidth / window.innerHeight;
62
+ camera.updateProjectionMatrix();
63
+ renderer.setSize(window.innerWidth, window.innerHeight);
64
+ });
65
+ ```
66
+
67
+ ## React with React Three Fiber
68
+
69
+ ```bash
70
+ npm install @react-three/fiber @react-three/drei
71
+ ```
72
+
73
+ ```tsx
74
+ import { Canvas } from '@react-three/fiber';
75
+ import { OrbitControls, Box, Environment } from '@react-three/drei';
76
+ import { useRef } from 'react';
77
+ import { useFrame } from '@react-three/fiber';
78
+
79
+ function RotatingBox() {
80
+ const meshRef = useRef<THREE.Mesh>(null);
81
+ useFrame(() => { if (meshRef.current) meshRef.current.rotation.y += 0.01; });
82
+ return (
83
+ <Box ref={meshRef} args={[1, 1, 1]}>
84
+ <meshStandardMaterial color="#00aaff" />
85
+ </Box>
86
+ );
87
+ }
88
+
89
+ export function ThreeScene() {
90
+ return (
91
+ <Canvas camera={{ position: [0, 2, 5] }} shadows>
92
+ <ambientLight intensity={0.4} />
93
+ <directionalLight position={[5, 10, 5]} castShadow />
94
+ <RotatingBox />
95
+ <OrbitControls enableDamping />
96
+ <Environment preset="city" />
97
+ </Canvas>
98
+ );
99
+ }
100
+ ```
101
+
102
+ ## Best Practices
103
+ - Always dispose of geometries, materials, and textures on cleanup: `geometry.dispose()`
104
+ - Use `GLTFLoader` for 3D models: `new GLTFLoader().load('/model.glb', ...)`
105
+ - Keep polygon count low for web performance
106
+ - Use React Three Fiber for React projects — much cleaner than imperative Three.js
107
+
108
+ ## Resources
109
+ - [Three.js docs](https://threejs.org/docs/)
110
+ - [React Three Fiber](https://docs.pmnd.rs/react-three-fiber)