claudeinone-cli 1.0.1 → 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 (429) hide show
  1. package/dist/index.js +16 -1
  2. package/kit/.claude/.ck.json +9 -0
  3. package/kit/.claude/.ckignore +12 -0
  4. package/kit/.claude/agents/accessibility-auditor.md +46 -0
  5. package/kit/.claude/agents/api-designer.md +43 -0
  6. package/kit/.claude/agents/backend-developer.md +54 -0
  7. package/kit/.claude/agents/brainstormer.md +33 -0
  8. package/kit/.claude/agents/campaign-manager.md +36 -0
  9. package/kit/.claude/agents/code-reviewer.md +39 -0
  10. package/kit/.claude/agents/content-creator.md +38 -0
  11. package/kit/.claude/agents/copywriter.md +42 -0
  12. package/kit/.claude/agents/database-admin.md +37 -0
  13. package/kit/.claude/agents/debugger.md +46 -0
  14. package/kit/.claude/agents/devops-engineer.md +41 -0
  15. package/kit/.claude/agents/docs-manager.md +33 -0
  16. package/kit/.claude/agents/email-wizard.md +40 -0
  17. package/kit/.claude/agents/frontend-developer.md +52 -0
  18. package/kit/.claude/agents/fullstack-developer.md +55 -0
  19. package/kit/.claude/agents/git-manager.md +40 -0
  20. package/kit/.claude/agents/i18n-specialist.md +46 -0
  21. package/kit/.claude/agents/integration-specialist.md +48 -0
  22. package/kit/.claude/agents/journal-writer.md +39 -0
  23. package/kit/.claude/agents/mcp-manager.md +57 -0
  24. package/kit/.claude/agents/mobile-developer.md +38 -0
  25. package/kit/.claude/agents/performance-optimizer.md +38 -0
  26. package/kit/.claude/agents/planner.md +56 -0
  27. package/kit/.claude/agents/project-manager.md +34 -0
  28. package/kit/.claude/agents/refactorer.md +43 -0
  29. package/kit/.claude/agents/researcher.md +45 -0
  30. package/kit/.claude/agents/risk-analyst.md +33 -0
  31. package/kit/.claude/agents/scalability-consultant.md +39 -0
  32. package/kit/.claude/agents/scout.md +25 -0
  33. package/kit/.claude/agents/security-auditor.md +42 -0
  34. package/kit/.claude/agents/seo-specialist.md +44 -0
  35. package/kit/.claude/agents/skill-creator.md +64 -0
  36. package/kit/.claude/agents/social-media-manager.md +35 -0
  37. package/kit/.claude/agents/systems-designer.md +35 -0
  38. package/kit/.claude/agents/technology-strategist.md +43 -0
  39. package/kit/.claude/agents/tester.md +40 -0
  40. package/kit/.claude/agents/ui-ux-designer.md +40 -0
  41. package/kit/.claude/commands/co/ask.md +29 -0
  42. package/kit/.claude/commands/co/bootstrap-auto-fast.md +28 -0
  43. package/kit/.claude/commands/co/bootstrap-auto-parallel.md +29 -0
  44. package/kit/.claude/commands/co/bootstrap-auto.md +30 -0
  45. package/kit/.claude/commands/co/bootstrap.md +31 -0
  46. package/kit/.claude/commands/co/brainstorm.md +27 -0
  47. package/kit/.claude/commands/co/campaign.md +28 -0
  48. package/kit/.claude/commands/co/changelog.md +25 -0
  49. package/kit/.claude/commands/co/checkpoint.md +25 -0
  50. package/kit/.claude/commands/co/ci.md +26 -0
  51. package/kit/.claude/commands/co/ck-help.md +24 -0
  52. package/kit/.claude/commands/co/coding-level.md +24 -0
  53. package/kit/.claude/commands/co/content-cro.md +26 -0
  54. package/kit/.claude/commands/co/content-enhance.md +26 -0
  55. package/kit/.claude/commands/co/content-fast.md +24 -0
  56. package/kit/.claude/commands/co/content-good.md +26 -0
  57. package/kit/.claude/commands/co/cook.md +33 -0
  58. package/kit/.claude/commands/co/debug.md +26 -0
  59. package/kit/.claude/commands/co/deploy.md +25 -0
  60. package/kit/.claude/commands/co/design-3d.md +27 -0
  61. package/kit/.claude/commands/co/design-describe.md +25 -0
  62. package/kit/.claude/commands/co/design-fast.md +25 -0
  63. package/kit/.claude/commands/co/design-good.md +28 -0
  64. package/kit/.claude/commands/co/design-screenshot.md +26 -0
  65. package/kit/.claude/commands/co/design-video.md +26 -0
  66. package/kit/.claude/commands/co/docker.md +24 -0
  67. package/kit/.claude/commands/co/docs-api.md +25 -0
  68. package/kit/.claude/commands/co/docs-init.md +26 -0
  69. package/kit/.claude/commands/co/docs-readme.md +24 -0
  70. package/kit/.claude/commands/co/docs-summarize.md +25 -0
  71. package/kit/.claude/commands/co/docs-update.md +25 -0
  72. package/kit/.claude/commands/co/env-check.md +25 -0
  73. package/kit/.claude/commands/co/fix-ci.md +29 -0
  74. package/kit/.claude/commands/co/fix-fast.md +28 -0
  75. package/kit/.claude/commands/co/fix-hard.md +33 -0
  76. package/kit/.claude/commands/co/fix-logs.md +28 -0
  77. package/kit/.claude/commands/co/fix-types.md +28 -0
  78. package/kit/.claude/commands/co/fix-ui.md +28 -0
  79. package/kit/.claude/commands/co/fix.md +27 -0
  80. package/kit/.claude/commands/co/git-cm.md +26 -0
  81. package/kit/.claude/commands/co/git-cp.md +26 -0
  82. package/kit/.claude/commands/co/git-pr.md +26 -0
  83. package/kit/.claude/commands/co/index.md +24 -0
  84. package/kit/.claude/commands/co/integrate-polar.md +29 -0
  85. package/kit/.claude/commands/co/integrate-sepay.md +29 -0
  86. package/kit/.claude/commands/co/journal.md +27 -0
  87. package/kit/.claude/commands/co/k8s.md +24 -0
  88. package/kit/.claude/commands/co/kanban.md +25 -0
  89. package/kit/.claude/commands/co/lint-fix.md +24 -0
  90. package/kit/.claude/commands/co/load.md +25 -0
  91. package/kit/.claude/commands/co/migrate.md +28 -0
  92. package/kit/.claude/commands/co/mock.md +26 -0
  93. package/kit/.claude/commands/co/mode.md +24 -0
  94. package/kit/.claude/commands/co/monitor.md +25 -0
  95. package/kit/.claude/commands/co/new-feature.md +27 -0
  96. package/kit/.claude/commands/co/optimize.md +26 -0
  97. package/kit/.claude/commands/co/plan-archive.md +24 -0
  98. package/kit/.claude/commands/co/plan-ci.md +28 -0
  99. package/kit/.claude/commands/co/plan-cro.md +27 -0
  100. package/kit/.claude/commands/co/plan-fast.md +24 -0
  101. package/kit/.claude/commands/co/plan-hard.md +27 -0
  102. package/kit/.claude/commands/co/plan-parallel.md +25 -0
  103. package/kit/.claude/commands/co/plan-two.md +29 -0
  104. package/kit/.claude/commands/co/plan-validate.md +27 -0
  105. package/kit/.claude/commands/co/plan.md +27 -0
  106. package/kit/.claude/commands/co/pr.md +25 -0
  107. package/kit/.claude/commands/co/preview.md +26 -0
  108. package/kit/.claude/commands/co/refactor.md +25 -0
  109. package/kit/.claude/commands/co/release.md +25 -0
  110. package/kit/.claude/commands/co/review-a11y.md +24 -0
  111. package/kit/.claude/commands/co/review-codebase-parallel.md +27 -0
  112. package/kit/.claude/commands/co/review-codebase.md +27 -0
  113. package/kit/.claude/commands/co/review-perf.md +24 -0
  114. package/kit/.claude/commands/co/review-security.md +25 -0
  115. package/kit/.claude/commands/co/scaffold.md +25 -0
  116. package/kit/.claude/commands/co/scout.md +26 -0
  117. package/kit/.claude/commands/co/secure.md +26 -0
  118. package/kit/.claude/commands/co/seed.md +25 -0
  119. package/kit/.claude/commands/co/seo-audit.md +24 -0
  120. package/kit/.claude/commands/co/seo-keywords.md +25 -0
  121. package/kit/.claude/commands/co/skill-create.md +29 -0
  122. package/kit/.claude/commands/co/skill-fix-logs.md +28 -0
  123. package/kit/.claude/commands/co/slide-create.md +24 -0
  124. package/kit/.claude/commands/co/spawn.md +24 -0
  125. package/kit/.claude/commands/co/terraform.md +24 -0
  126. package/kit/.claude/commands/co/test-gen.md +24 -0
  127. package/kit/.claude/commands/co/test-ui.md +27 -0
  128. package/kit/.claude/commands/co/test.md +26 -0
  129. package/kit/.claude/commands/co/use-mcp.md +25 -0
  130. package/kit/.claude/commands/co/video-script.md +25 -0
  131. package/kit/.claude/commands/co/watzup.md +25 -0
  132. package/kit/.claude/commands/co/worktree.md +25 -0
  133. package/kit/.claude/commands/co/write-blog.md +25 -0
  134. package/kit/.claude/commands/co/write-copy.md +24 -0
  135. package/kit/.claude/commands/co/write-email.md +25 -0
  136. package/kit/.claude/commands/content/content-cro.md +26 -0
  137. package/kit/.claude/commands/content/content-enhance.md +26 -0
  138. package/kit/.claude/commands/content/content-fast.md +24 -0
  139. package/kit/.claude/commands/content/content-good.md +26 -0
  140. package/kit/.claude/commands/content/enhance.md +26 -0
  141. package/kit/.claude/commands/content/good.md +26 -0
  142. package/kit/.claude/commands/core/ask.md +29 -0
  143. package/kit/.claude/commands/core/bootstrap-auto-fast.md +28 -0
  144. package/kit/.claude/commands/core/bootstrap-auto-parallel.md +29 -0
  145. package/kit/.claude/commands/core/bootstrap-auto.md +30 -0
  146. package/kit/.claude/commands/core/bootstrap.md +31 -0
  147. package/kit/.claude/commands/core/ck-help.md +24 -0
  148. package/kit/.claude/commands/core/coding-level.md +24 -0
  149. package/kit/.claude/commands/core/cook.md +33 -0
  150. package/kit/.claude/commands/core/debug.md +26 -0
  151. package/kit/.claude/commands/core/journal.md +27 -0
  152. package/kit/.claude/commands/core/kanban.md +25 -0
  153. package/kit/.claude/commands/core/preview.md +26 -0
  154. package/kit/.claude/commands/core/scout.md +26 -0
  155. package/kit/.claude/commands/core/test-ui.md +27 -0
  156. package/kit/.claude/commands/core/test.md +26 -0
  157. package/kit/.claude/commands/core/use-mcp.md +25 -0
  158. package/kit/.claude/commands/core/watzup.md +25 -0
  159. package/kit/.claude/commands/core/worktree.md +25 -0
  160. package/kit/.claude/commands/design/3d.md +27 -0
  161. package/kit/.claude/commands/design/design-3d.md +27 -0
  162. package/kit/.claude/commands/design/design-describe.md +25 -0
  163. package/kit/.claude/commands/design/design-fast.md +25 -0
  164. package/kit/.claude/commands/design/design-good.md +28 -0
  165. package/kit/.claude/commands/design/design-screenshot.md +26 -0
  166. package/kit/.claude/commands/design/design-video.md +26 -0
  167. package/kit/.claude/commands/design/good.md +28 -0
  168. package/kit/.claude/commands/design/video.md +26 -0
  169. package/kit/.claude/commands/docs/docs-init.md +26 -0
  170. package/kit/.claude/commands/docs/docs-summarize.md +25 -0
  171. package/kit/.claude/commands/docs/docs-update.md +25 -0
  172. package/kit/.claude/commands/docs/init.md +26 -0
  173. package/kit/.claude/commands/docs/summarize.md +25 -0
  174. package/kit/.claude/commands/fix/ci.md +29 -0
  175. package/kit/.claude/commands/fix/fast.md +28 -0
  176. package/kit/.claude/commands/fix/fix-ci.md +29 -0
  177. package/kit/.claude/commands/fix/fix-fast.md +28 -0
  178. package/kit/.claude/commands/fix/fix-hard.md +33 -0
  179. package/kit/.claude/commands/fix/fix-logs.md +28 -0
  180. package/kit/.claude/commands/fix/fix-types.md +28 -0
  181. package/kit/.claude/commands/fix/fix-ui.md +28 -0
  182. package/kit/.claude/commands/fix/hard.md +33 -0
  183. package/kit/.claude/commands/fix/logs.md +28 -0
  184. package/kit/.claude/commands/fix/types.md +28 -0
  185. package/kit/.claude/commands/fix/ui.md +28 -0
  186. package/kit/.claude/commands/git/cp.md +26 -0
  187. package/kit/.claude/commands/git/git-cm.md +26 -0
  188. package/kit/.claude/commands/git/git-cp.md +26 -0
  189. package/kit/.claude/commands/git/git-pr.md +26 -0
  190. package/kit/.claude/commands/integrate/integrate-polar.md +29 -0
  191. package/kit/.claude/commands/integrate/integrate-sepay.md +29 -0
  192. package/kit/.claude/commands/integrate/sepay.md +29 -0
  193. package/kit/.claude/commands/plan/ci.md +28 -0
  194. package/kit/.claude/commands/plan/cro.md +27 -0
  195. package/kit/.claude/commands/plan/hard.md +27 -0
  196. package/kit/.claude/commands/plan/plan-archive.md +24 -0
  197. package/kit/.claude/commands/plan/plan-ci.md +28 -0
  198. package/kit/.claude/commands/plan/plan-cro.md +27 -0
  199. package/kit/.claude/commands/plan/plan-fast.md +24 -0
  200. package/kit/.claude/commands/plan/plan-hard.md +27 -0
  201. package/kit/.claude/commands/plan/plan-parallel.md +25 -0
  202. package/kit/.claude/commands/plan/plan-two.md +29 -0
  203. package/kit/.claude/commands/plan/plan-validate.md +27 -0
  204. package/kit/.claude/commands/plan/plan.md +27 -0
  205. package/kit/.claude/commands/plan/validate.md +27 -0
  206. package/kit/.claude/commands/skill/fix-logs.md +28 -0
  207. package/kit/.claude/commands/skill/skill-create.md +29 -0
  208. package/kit/.claude/commands/skill/skill-fix-logs.md +28 -0
  209. package/kit/.claude/settings.json +16 -0
  210. package/kit/.claude/skills/ai-anthropic.md +100 -0
  211. package/kit/.claude/skills/ai-context-engineering.md +113 -0
  212. package/kit/.claude/skills/ai-gemini.md +152 -0
  213. package/kit/.claude/skills/ai-langchain.md +93 -0
  214. package/kit/.claude/skills/ai-llamaindex.md +179 -0
  215. package/kit/.claude/skills/ai-mcp-builder.md +101 -0
  216. package/kit/.claude/skills/ai-openai.md +250 -0
  217. package/kit/.claude/skills/ai-prompt-engineering.md +173 -0
  218. package/kit/.claude/skills/ai-rag.md +91 -0
  219. package/kit/.claude/skills/ai-vectordb.md +215 -0
  220. package/kit/.claude/skills/analytics-segment.md +161 -0
  221. package/kit/.claude/skills/api-caching.md +103 -0
  222. package/kit/.claude/skills/api-documentation.md +50 -0
  223. package/kit/.claude/skills/api-graphql.md +234 -0
  224. package/kit/.claude/skills/api-openapi.md +116 -0
  225. package/kit/.claude/skills/api-pagination-filtering.md +239 -0
  226. package/kit/.claude/skills/api-rate-limiting.md +179 -0
  227. package/kit/.claude/skills/api-rest-advanced.md +50 -0
  228. package/kit/.claude/skills/api-rest.md +217 -0
  229. package/kit/.claude/skills/api-trpc.md +173 -0
  230. package/kit/.claude/skills/api-versioning.md +70 -0
  231. package/kit/.claude/skills/api-webhooks.md +226 -0
  232. package/kit/.claude/skills/arch-clean-code.md +226 -0
  233. package/kit/.claude/skills/arch-clean.md +91 -0
  234. package/kit/.claude/skills/arch-cqrs.md +229 -0
  235. package/kit/.claude/skills/arch-ddd.md +85 -0
  236. package/kit/.claude/skills/arch-event-driven.md +189 -0
  237. package/kit/.claude/skills/arch-microservices.md +80 -0
  238. package/kit/.claude/skills/arch-monorepo.md +87 -0
  239. package/kit/.claude/skills/arch-multi-tenant.md +81 -0
  240. package/kit/.claude/skills/arch-serverless.md +86 -0
  241. package/kit/.claude/skills/auth-clerk.md +97 -0
  242. package/kit/.claude/skills/auth-jwt.md +143 -0
  243. package/kit/.claude/skills/auth-lucia.md +93 -0
  244. package/kit/.claude/skills/auth-nextauth.md +446 -0
  245. package/kit/.claude/skills/auth-oauth.md +208 -0
  246. package/kit/.claude/skills/auth-oauth2.md +110 -0
  247. package/kit/.claude/skills/auth-passkeys.md +109 -0
  248. package/kit/.claude/skills/auth-session.md +88 -0
  249. package/kit/.claude/skills/backend-dotnet.md +414 -0
  250. package/kit/.claude/skills/backend-express.md +129 -0
  251. package/kit/.claude/skills/backend-fastify.md +104 -0
  252. package/kit/.claude/skills/backend-go.md +205 -0
  253. package/kit/.claude/skills/backend-graphql.md +149 -0
  254. package/kit/.claude/skills/backend-grpc.md +382 -0
  255. package/kit/.claude/skills/backend-hono.md +95 -0
  256. package/kit/.claude/skills/backend-java-spring.md +198 -0
  257. package/kit/.claude/skills/backend-nodejs-express.md +165 -0
  258. package/kit/.claude/skills/backend-nodejs.md +143 -0
  259. package/kit/.claude/skills/backend-php-laravel.md +156 -0
  260. package/kit/.claude/skills/backend-python-django.md +200 -0
  261. package/kit/.claude/skills/backend-python-fastapi.md +169 -0
  262. package/kit/.claude/skills/backend-ruby-rails.md +190 -0
  263. package/kit/.claude/skills/backend-rust.md +182 -0
  264. package/kit/.claude/skills/backend-websockets.md +392 -0
  265. package/kit/.claude/skills/cache-redis.md +195 -0
  266. package/kit/.claude/skills/caching-strategies.md +100 -0
  267. package/kit/.claude/skills/cloud-aws.md +165 -0
  268. package/kit/.claude/skills/cloud-azure.md +187 -0
  269. package/kit/.claude/skills/cloud-cloudflare.md +74 -0
  270. package/kit/.claude/skills/cloud-fly.md +94 -0
  271. package/kit/.claude/skills/cloud-gcp.md +160 -0
  272. package/kit/.claude/skills/cloud-railway.md +92 -0
  273. package/kit/.claude/skills/cloud-render.md +70 -0
  274. package/kit/.claude/skills/cloud-serverless.md +68 -0
  275. package/kit/.claude/skills/cloud-vercel.md +76 -0
  276. package/kit/.claude/skills/component-patterns.md +50 -0
  277. package/kit/.claude/skills/content-management.md +197 -0
  278. package/kit/.claude/skills/cors-security.md +50 -0
  279. package/kit/.claude/skills/data-csv-excel.md +210 -0
  280. package/kit/.claude/skills/database-optimization.md +196 -0
  281. package/kit/.claude/skills/databases-transactions.md +68 -0
  282. package/kit/.claude/skills/db-cassandra.md +89 -0
  283. package/kit/.claude/skills/db-drizzle.md +363 -0
  284. package/kit/.claude/skills/db-dynamodb.md +83 -0
  285. package/kit/.claude/skills/db-elasticsearch.md +105 -0
  286. package/kit/.claude/skills/db-firebase-firestore.md +191 -0
  287. package/kit/.claude/skills/db-mongodb.md +198 -0
  288. package/kit/.claude/skills/db-mysql.md +50 -0
  289. package/kit/.claude/skills/db-neon.md +72 -0
  290. package/kit/.claude/skills/db-planetscale.md +76 -0
  291. package/kit/.claude/skills/db-postgresql.md +50 -0
  292. package/kit/.claude/skills/db-prisma.md +414 -0
  293. package/kit/.claude/skills/db-redis.md +50 -0
  294. package/kit/.claude/skills/db-sqlite.md +149 -0
  295. package/kit/.claude/skills/db-supabase.md +445 -0
  296. package/kit/.claude/skills/devops-ci-cd.md +271 -0
  297. package/kit/.claude/skills/devops-database-backup.md +77 -0
  298. package/kit/.claude/skills/devops-docker.md +93 -0
  299. package/kit/.claude/skills/devops-github-actions.md +82 -0
  300. package/kit/.claude/skills/devops-health-checks.md +50 -0
  301. package/kit/.claude/skills/devops-kubernetes.md +109 -0
  302. package/kit/.claude/skills/devops-logging.md +163 -0
  303. package/kit/.claude/skills/devops-monitoring.md +203 -0
  304. package/kit/.claude/skills/devops-pulumi.md +94 -0
  305. package/kit/.claude/skills/devops-secrets.md +166 -0
  306. package/kit/.claude/skills/devops-terraform.md +226 -0
  307. package/kit/.claude/skills/error-boundaries.md +84 -0
  308. package/kit/.claude/skills/file-storage.md +50 -0
  309. package/kit/.claude/skills/frontend-angular.md +104 -0
  310. package/kit/.claude/skills/frontend-astro.md +94 -0
  311. package/kit/.claude/skills/frontend-bundle-analysis.md +147 -0
  312. package/kit/.claude/skills/frontend-forms.md +134 -0
  313. package/kit/.claude/skills/frontend-htmx.md +86 -0
  314. package/kit/.claude/skills/frontend-nextjs.md +188 -0
  315. package/kit/.claude/skills/frontend-pwa.md +105 -0
  316. package/kit/.claude/skills/frontend-react-hooks.md +238 -0
  317. package/kit/.claude/skills/frontend-react.md +129 -0
  318. package/kit/.claude/skills/frontend-remix-advanced.md +106 -0
  319. package/kit/.claude/skills/frontend-remix.md +101 -0
  320. package/kit/.claude/skills/frontend-solid.md +99 -0
  321. package/kit/.claude/skills/frontend-state-management.md +134 -0
  322. package/kit/.claude/skills/frontend-state.md +106 -0
  323. package/kit/.claude/skills/frontend-svelte.md +121 -0
  324. package/kit/.claude/skills/frontend-testing.md +100 -0
  325. package/kit/.claude/skills/frontend-vite.md +94 -0
  326. package/kit/.claude/skills/frontend-vue.md +133 -0
  327. package/kit/.claude/skills/frontend-webpack.md +93 -0
  328. package/kit/.claude/skills/functional-programming.md +50 -0
  329. package/kit/.claude/skills/hooks-custom.md +50 -0
  330. package/kit/.claude/skills/http-server.md +50 -0
  331. package/kit/.claude/skills/i18n-general.md +89 -0
  332. package/kit/.claude/skills/i18n-localization.md +191 -0
  333. package/kit/.claude/skills/i18n-nextjs.md +127 -0
  334. package/kit/.claude/skills/infrastructure-docker-compose.md +77 -0
  335. package/kit/.claude/skills/infrastructure-serverless.md +177 -0
  336. package/kit/.claude/skills/jwt-tokens.md +50 -0
  337. package/kit/.claude/skills/logging-winston.md +106 -0
  338. package/kit/.claude/skills/messaging-kafka.md +102 -0
  339. package/kit/.claude/skills/messaging-rabbitmq.md +50 -0
  340. package/kit/.claude/skills/mobile-capacitor.md +109 -0
  341. package/kit/.claude/skills/mobile-expo.md +101 -0
  342. package/kit/.claude/skills/mobile-flutter.md +259 -0
  343. package/kit/.claude/skills/mobile-react-native.md +238 -0
  344. package/kit/.claude/skills/monitoring-apm.md +50 -0
  345. package/kit/.claude/skills/monitoring-error-tracking.md +217 -0
  346. package/kit/.claude/skills/nodejs-streams.md +168 -0
  347. package/kit/.claude/skills/oauth-integration.md +50 -0
  348. package/kit/.claude/skills/patterns-dependency-injection.md +218 -0
  349. package/kit/.claude/skills/patterns-factory-singleton.md +209 -0
  350. package/kit/.claude/skills/patterns-observer-pubsub.md +210 -0
  351. package/kit/.claude/skills/payment-lemonsqueezy.md +101 -0
  352. package/kit/.claude/skills/payment-square.md +178 -0
  353. package/kit/.claude/skills/payment-stripe.md +206 -0
  354. package/kit/.claude/skills/perf-bundle.md +100 -0
  355. package/kit/.claude/skills/perf-web-vitals.md +102 -0
  356. package/kit/.claude/skills/performance-database-connection-pooling.md +67 -0
  357. package/kit/.claude/skills/performance-metrics.md +73 -0
  358. package/kit/.claude/skills/performance-optimization.md +208 -0
  359. package/kit/.claude/skills/performance-web-vitals.md +169 -0
  360. package/kit/.claude/skills/rate-limiting.md +77 -0
  361. package/kit/.claude/skills/reactive-programming.md +50 -0
  362. package/kit/.claude/skills/realtime-database.md +50 -0
  363. package/kit/.claude/skills/realtime-subscriptions.md +218 -0
  364. package/kit/.claude/skills/saas-ab-testing.md +90 -0
  365. package/kit/.claude/skills/saas-analytics.md +113 -0
  366. package/kit/.claude/skills/saas-billing.md +106 -0
  367. package/kit/.claude/skills/saas-email.md +88 -0
  368. package/kit/.claude/skills/saas-feature-flags.md +83 -0
  369. package/kit/.claude/skills/saas-onboarding.md +96 -0
  370. package/kit/.claude/skills/saas-user-onboarding.md +207 -0
  371. package/kit/.claude/skills/security-encryption.md +216 -0
  372. package/kit/.claude/skills/security-owasp.md +212 -0
  373. package/kit/.claude/skills/security-secrets-rotation.md +64 -0
  374. package/kit/.claude/skills/seo-content.md +94 -0
  375. package/kit/.claude/skills/seo-technical.md +101 -0
  376. package/kit/.claude/skills/serverless-framework.md +151 -0
  377. package/kit/.claude/skills/sharding-scaling.md +50 -0
  378. package/kit/.claude/skills/styling-css-modules.md +219 -0
  379. package/kit/.claude/skills/styling-styled-components.md +206 -0
  380. package/kit/.claude/skills/styling-tailwind.md +206 -0
  381. package/kit/.claude/skills/test-e2e.md +86 -0
  382. package/kit/.claude/skills/test-integration.md +216 -0
  383. package/kit/.claude/skills/test-performance.md +162 -0
  384. package/kit/.claude/skills/test-tdd.md +170 -0
  385. package/kit/.claude/skills/test-unit.md +301 -0
  386. package/kit/.claude/skills/testing-accessibility.md +117 -0
  387. package/kit/.claude/skills/testing-contract.md +75 -0
  388. package/kit/.claude/skills/testing-e2e-advanced.md +50 -0
  389. package/kit/.claude/skills/testing-load-stress.md +79 -0
  390. package/kit/.claude/skills/testing-mutation.md +92 -0
  391. package/kit/.claude/skills/testing-snapshot.md +50 -0
  392. package/kit/.claude/skills/testing-vitest.md +172 -0
  393. package/kit/.claude/skills/tooling-biome.md +91 -0
  394. package/kit/.claude/skills/tooling-build-tools.md +166 -0
  395. package/kit/.claude/skills/tooling-bun.md +94 -0
  396. package/kit/.claude/skills/tooling-eslint.md +103 -0
  397. package/kit/.claude/skills/tooling-git.md +79 -0
  398. package/kit/.claude/skills/tooling-monorepo.md +162 -0
  399. package/kit/.claude/skills/tooling-testing-frameworks.md +207 -0
  400. package/kit/.claude/skills/tooling-typescript.md +156 -0
  401. package/kit/.claude/skills/ui-a11y.md +106 -0
  402. package/kit/.claude/skills/ui-framer.md +106 -0
  403. package/kit/.claude/skills/ui-gsap.md +102 -0
  404. package/kit/.claude/skills/ui-radix.md +82 -0
  405. package/kit/.claude/skills/ui-shadcn.md +463 -0
  406. package/kit/.claude/skills/ui-tailwind.md +98 -0
  407. package/kit/.claude/skills/ui-threejs.md +110 -0
  408. package/kit/.claude/skills/ui-tokens.md +97 -0
  409. package/kit/.claude/skills/utilities-date-time.md +170 -0
  410. package/kit/.claude/skills/validation-schemas.md +110 -0
  411. package/kit/.claude/skills/version-control-git.md +144 -0
  412. package/kit/.claude/skills/web-accessibility-wcag.md +102 -0
  413. package/kit/.claude/skills/web-astro.md +197 -0
  414. package/kit/.claude/skills/web-html-css.md +224 -0
  415. package/kit/.claude/skills/web-htmx.md +99 -0
  416. package/kit/.claude/skills/web-nextjs-advanced.md +202 -0
  417. package/kit/.claude/skills/web-remix.md +194 -0
  418. package/kit/.claude/skills/web-seo.md +99 -0
  419. package/kit/.claude/skills/web-svelte.md +234 -0
  420. package/kit/.claude/skills/websocket-server.md +50 -0
  421. package/kit/.claude/skills/writing-marketing.md +89 -0
  422. package/kit/.claude/skills/writing-technical.md +119 -0
  423. package/kit/CLAUDE.md +206 -0
  424. package/kit/README.md +150 -0
  425. package/kit/SKILLS_INDEX.md +188 -0
  426. package/kit/docs/README.md +3 -0
  427. package/kit/journals/README.md +3 -0
  428. package/kit/plans/README.md +3 -0
  429. package/package.json +3 -1
@@ -0,0 +1,50 @@
1
+ # Production-Ready Skill Implementation
2
+
3
+ ## Setup & Installation
4
+
5
+ Detailed installation and configuration steps for the technology.
6
+
7
+ ## Core Concepts
8
+
9
+ Fundamental patterns and approaches.
10
+
11
+ ## Implementation Examples
12
+
13
+ ```typescript
14
+ // Real production code examples
15
+ // with error handling and best practices
16
+ ```
17
+
18
+ ## Advanced Patterns
19
+
20
+ Complex scenarios and optimization techniques.
21
+
22
+ ## Performance Optimization
23
+
24
+ Tips for maximizing efficiency and speed.
25
+
26
+ ## Security Considerations
27
+
28
+ Security best practices specific to this technology.
29
+
30
+ ## Testing
31
+
32
+ How to properly test this feature.
33
+
34
+ ## Monitoring & Debugging
35
+
36
+ Tools and techniques for production support.
37
+
38
+ ## Best Practices
39
+
40
+ ✅ Key recommendations
41
+ ✅ Common pitfalls to avoid
42
+ ✅ Performance considerations
43
+ ✅ Security measures
44
+ ✅ Production readiness
45
+
46
+ ## Resources
47
+
48
+ - Official documentation
49
+ - Community guides
50
+ - Performance benchmarks
@@ -0,0 +1,172 @@
1
+ # Vitest
2
+
3
+ Lightning-fast unit test framework.
4
+
5
+ ## Setup
6
+
7
+ ```bash
8
+ npm install -D vitest @vitest/ui
9
+ npm install -D @testing-library/react @testing-library/dom
10
+ ```
11
+
12
+ ## Configuration
13
+
14
+ ```typescript
15
+ // vitest.config.ts
16
+ import { defineConfig } from 'vitest/config';
17
+ import react from '@vitejs/plugin-react';
18
+ import path from 'path';
19
+
20
+ export default defineConfig({
21
+ plugins: [react()],
22
+ test: {
23
+ globals: true,
24
+ environment: 'jsdom',
25
+ setupFiles: ['./src/test/setup.ts'],
26
+ coverage: {
27
+ provider: 'v8',
28
+ reporter: ['text', 'json', 'html'],
29
+ exclude: ['node_modules/', 'src/test/']
30
+ }
31
+ },
32
+ resolve: {
33
+ alias: {
34
+ '@': path.resolve(__dirname, './src')
35
+ }
36
+ }
37
+ });
38
+ ```
39
+
40
+ ## Basic Tests
41
+
42
+ ```typescript
43
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
44
+
45
+ describe('Math Utils', () => {
46
+ it('should add numbers correctly', () => {
47
+ expect(2 + 2).toBe(4);
48
+ });
49
+
50
+ it('should handle negative numbers', () => {
51
+ expect(-5 + 3).toBe(-2);
52
+ });
53
+
54
+ it('should match objects', () => {
55
+ const user = { name: 'John', age: 30 };
56
+ expect(user).toEqual({ name: 'John', age: 30 });
57
+ });
58
+
59
+ it('should test arrays', () => {
60
+ const numbers = [1, 2, 3];
61
+ expect(numbers).toContain(2);
62
+ expect(numbers.length).toBe(3);
63
+ });
64
+ });
65
+ ```
66
+
67
+ ## Async Testing
68
+
69
+ ```typescript
70
+ describe('Async Operations', () => {
71
+ it('should fetch data', async () => {
72
+ const data = await fetchUser(1);
73
+ expect(data.id).toBe(1);
74
+ });
75
+
76
+ it('should handle promise', () => {
77
+ return expect(Promise.resolve(42)).resolves.toBe(42);
78
+ });
79
+
80
+ it('should handle rejection', () => {
81
+ return expect(Promise.reject('error')).rejects.toBe('error');
82
+ });
83
+ });
84
+ ```
85
+
86
+ ## Mocking
87
+
88
+ ```typescript
89
+ import { describe, it, expect, vi } from 'vitest';
90
+
91
+ describe('Database Operations', () => {
92
+ it('should call database', async () => {
93
+ const mockDB = vi.fn(() => ({ id: 1, name: 'John' }));
94
+
95
+ const result = mockDB();
96
+
97
+ expect(mockDB).toHaveBeenCalled();
98
+ expect(result).toEqual({ id: 1, name: 'John' });
99
+ });
100
+
101
+ it('should mock modules', () => {
102
+ vi.mock('./api', () => ({
103
+ getUser: vi.fn(() => ({ id: 1 }))
104
+ }));
105
+
106
+ const { getUser } = require('./api');
107
+ expect(getUser()).toEqual({ id: 1 });
108
+ });
109
+
110
+ it('should spy on methods', () => {
111
+ const obj = {
112
+ method: () => 'original'
113
+ };
114
+
115
+ const spy = vi.spyOn(obj, 'method');
116
+ obj.method();
117
+
118
+ expect(spy).toHaveBeenCalled();
119
+ expect(spy).toHaveReturnedWith('original');
120
+ });
121
+ });
122
+ ```
123
+
124
+ ## React Component Testing
125
+
126
+ ```typescript
127
+ import { render, screen, fireEvent } from '@testing-library/react';
128
+ import { Button } from './Button';
129
+
130
+ describe('Button Component', () => {
131
+ it('renders button with text', () => {
132
+ render(<Button>Click me</Button>);
133
+ expect(screen.getByText('Click me')).toBeInTheDocument();
134
+ });
135
+
136
+ it('handles click events', () => {
137
+ const handleClick = vi.fn();
138
+ render(<Button onClick={handleClick}>Click</Button>);
139
+
140
+ fireEvent.click(screen.getByText('Click'));
141
+ expect(handleClick).toHaveBeenCalledTimes(1);
142
+ });
143
+
144
+ it('disables button when loading', () => {
145
+ render(<Button disabled>Loading...</Button>);
146
+ expect(screen.getByRole('button')).toBeDisabled();
147
+ });
148
+ });
149
+ ```
150
+
151
+ ## Coverage
152
+
153
+ ```bash
154
+ # Run with coverage
155
+ vitest --coverage
156
+
157
+ # Open coverage report
158
+ open coverage/index.html
159
+ ```
160
+
161
+ ## Best Practices
162
+
163
+ ✅ **Test behavior** - Not implementation
164
+ ✅ **Clear names** - Describe what is tested
165
+ ✅ **DRY setup** - Use beforeEach for common setup
166
+ ✅ **Isolated tests** - No dependencies between tests
167
+ ✅ **Good coverage** - Aim for 80%+ coverage
168
+
169
+ ## Resources
170
+
171
+ - [Vitest Documentation](https://vitest.dev/)
172
+ - [Testing Library](https://testing-library.com/)
@@ -0,0 +1,91 @@
1
+ # Biome (Linter + Formatter)
2
+
3
+ ## Overview
4
+ Biome is a fast, all-in-one linter and formatter for JavaScript/TypeScript — replaces ESLint + Prettier in one tool.
5
+
6
+ ## Setup
7
+
8
+ ```bash
9
+ npm install -D @biomejs/biome
10
+ npx @biomejs/biome init
11
+ ```
12
+
13
+ ## biome.json Configuration
14
+
15
+ ```json
16
+ {
17
+ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
18
+ "organizeImports": { "enabled": true },
19
+ "linter": {
20
+ "enabled": true,
21
+ "rules": {
22
+ "recommended": true,
23
+ "a11y": { "recommended": true },
24
+ "security": { "recommended": true },
25
+ "performance": { "noDelete": "warn" },
26
+ "correctness": { "noUnusedVariables": "error" }
27
+ }
28
+ },
29
+ "formatter": {
30
+ "enabled": true,
31
+ "indentStyle": "space",
32
+ "indentWidth": 2,
33
+ "lineWidth": 100
34
+ },
35
+ "javascript": {
36
+ "formatter": {
37
+ "quoteStyle": "single",
38
+ "trailingCommas": "es5",
39
+ "semicolons": "always"
40
+ }
41
+ },
42
+ "files": {
43
+ "ignore": ["node_modules", "dist", ".next", "coverage"]
44
+ }
45
+ }
46
+ ```
47
+
48
+ ## Scripts
49
+
50
+ ```json
51
+ // package.json
52
+ {
53
+ "scripts": {
54
+ "lint": "biome lint .",
55
+ "lint:fix": "biome lint --apply .",
56
+ "format": "biome format --write .",
57
+ "check": "biome check .",
58
+ "check:fix": "biome check --apply ."
59
+ }
60
+ }
61
+ ```
62
+
63
+ ## VS Code Integration
64
+
65
+ ```json
66
+ // .vscode/settings.json
67
+ {
68
+ "editor.defaultFormatter": "biomejs.biome",
69
+ "editor.formatOnSave": true,
70
+ "[javascript]": { "editor.defaultFormatter": "biomejs.biome" },
71
+ "[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
72
+ "[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" }
73
+ }
74
+ ```
75
+
76
+ ## CI/CD Integration
77
+
78
+ ```yaml
79
+ # .github/workflows/ci.yml
80
+ - name: Lint and Format check
81
+ run: npx @biomejs/biome ci .
82
+ ```
83
+
84
+ ## Best Practices
85
+ - Use `biome check --apply` in pre-commit hooks for auto-fix
86
+ - Biome is 20-100x faster than ESLint + Prettier
87
+ - Migrate gradually with `biome migrate eslint --include-inspired`
88
+ - Set `"linter.rules.recommended": true` as base
89
+
90
+ ## Resources
91
+ - [Biome docs](https://biomejs.dev/guides/getting-started/)
@@ -0,0 +1,166 @@
1
+ # Build Tools
2
+
3
+ Compilation, bundling, and asset optimization.
4
+
5
+ ## Vite
6
+
7
+ ```typescript
8
+ // vite.config.ts
9
+ import { defineConfig } from 'vite';
10
+ import react from '@vitejs/plugin-react';
11
+ import path from 'path';
12
+
13
+ export default defineConfig({
14
+ plugins: [react()],
15
+ resolve: {
16
+ alias: {
17
+ '@': path.resolve(__dirname, './src')
18
+ }
19
+ },
20
+ build: {
21
+ target: 'esnext',
22
+ minify: 'terser',
23
+ sourcemap: false,
24
+ rollupOptions: {
25
+ output: {
26
+ manualChunks: {
27
+ 'vendor': ['react', 'react-dom']
28
+ }
29
+ }
30
+ }
31
+ },
32
+ server: {
33
+ port: 3000,
34
+ proxy: {
35
+ '/api': 'http://localhost:5000'
36
+ }
37
+ }
38
+ });
39
+ ```
40
+
41
+ ## Webpack Configuration
42
+
43
+ ```javascript
44
+ // webpack.config.js
45
+ const path = require('path');
46
+ const HtmlWebpackPlugin = require('html-webpack-plugin');
47
+
48
+ module.exports = {
49
+ mode: 'production',
50
+ entry: './src/index.ts',
51
+ output: {
52
+ path: path.resolve(__dirname, 'dist'),
53
+ filename: '[name].[contenthash].js'
54
+ },
55
+ module: {
56
+ rules: [
57
+ {
58
+ test: /\.tsx?$/,
59
+ use: 'ts-loader',
60
+ exclude: /node_modules/
61
+ },
62
+ {
63
+ test: /\.css$/,
64
+ use: ['style-loader', 'css-loader']
65
+ }
66
+ ]
67
+ },
68
+ plugins: [
69
+ new HtmlWebpackPlugin({
70
+ template: './src/index.html'
71
+ })
72
+ ],
73
+ optimization: {
74
+ splitChunks: {
75
+ chunks: 'all'
76
+ }
77
+ }
78
+ };
79
+ ```
80
+
81
+ ## ESBuild
82
+
83
+ ```typescript
84
+ import esbuild from 'esbuild';
85
+
86
+ await esbuild.build({
87
+ entryPoints: ['src/index.ts'],
88
+ bundle: true,
89
+ outfile: 'dist/bundle.js',
90
+ minify: true,
91
+ sourcemap: true,
92
+ target: 'esnext',
93
+ loader: {
94
+ '.png': 'dataurl'
95
+ }
96
+ });
97
+ ```
98
+
99
+ ## Bun Runtime
100
+
101
+ ```bash
102
+ # Install
103
+ curl -fsSL https://bun.sh/install | bash
104
+
105
+ # Run TypeScript directly
106
+ bun run src/index.ts
107
+
108
+ # Bundle
109
+ bun build ./src/index.ts --outdir ./dist
110
+ ```
111
+
112
+ ## Rollup
113
+
114
+ ```javascript
115
+ // rollup.config.js
116
+ import resolve from '@rollup/plugin-node-resolve';
117
+ import commonjs from '@rollup/plugin-commonjs';
118
+ import typescript from '@rollup/plugin-typescript';
119
+
120
+ export default {
121
+ input: 'src/index.ts',
122
+ output: {
123
+ file: 'dist/bundle.js',
124
+ format: 'cjs'
125
+ },
126
+ plugins: [
127
+ typescript(),
128
+ resolve(),
129
+ commonjs()
130
+ ],
131
+ external: ['react']
132
+ };
133
+ ```
134
+
135
+ ## SWC (Rust Compiler)
136
+
137
+ ```json
138
+ {
139
+ ".swcrc": {
140
+ "jsc": {
141
+ "parser": {
142
+ "syntax": "typescript"
143
+ },
144
+ "target": "es2020",
145
+ "minify": {
146
+ "compress": true
147
+ }
148
+ }
149
+ }
150
+ }
151
+ ```
152
+
153
+ ## Best Practices
154
+
155
+ ✅ **Code splitting** - Chunk dependencies
156
+ ✅ **Lazy loading** - Load routes/features on demand
157
+ ✅ **Tree shaking** - Remove unused code
158
+ ✅ **Caching** - Use content hashes
159
+ ✅ **Source maps** - Debug production code
160
+
161
+ ## Resources
162
+
163
+ - [Vite Documentation](https://vitejs.dev/)
164
+ - [Webpack Guide](https://webpack.js.org/guides/)
165
+ - [ESBuild](https://esbuild.github.io/)
166
+ - [Bun Runtime](https://bun.sh/)
@@ -0,0 +1,94 @@
1
+ # Bun Runtime
2
+
3
+ ## Overview
4
+ Bun is a fast JavaScript runtime, package manager, bundler, and test runner in one tool.
5
+
6
+ ## Installation
7
+
8
+ ```bash
9
+ curl -fsSL https://bun.sh/install | bash
10
+ ```
11
+
12
+ ## Package Management
13
+
14
+ ```bash
15
+ bun install # Install all deps (fast!)
16
+ bun add react react-dom # Add packages
17
+ bun add -D typescript # Add dev deps
18
+ bun remove lodash # Remove
19
+ bun update # Update all
20
+ ```
21
+
22
+ ## Run Scripts
23
+
24
+ ```bash
25
+ bun run dev # Run script from package.json
26
+ bun run src/index.ts # Run TypeScript file directly
27
+ bun --hot src/server.ts # Hot reload (like nodemon)
28
+ ```
29
+
30
+ ## HTTP Server
31
+
32
+ ```typescript
33
+ // server.ts
34
+ Bun.serve({
35
+ port: 3000,
36
+ async fetch(req: Request) {
37
+ const url = new URL(req.url);
38
+
39
+ if (url.pathname === '/api/users') {
40
+ const users = await db.user.findMany();
41
+ return Response.json(users);
42
+ }
43
+
44
+ if (url.pathname === '/health') {
45
+ return Response.json({ status: 'ok' });
46
+ }
47
+
48
+ return new Response('Not Found', { status: 404 });
49
+ },
50
+ });
51
+ ```
52
+
53
+ ## SQLite with Bun
54
+
55
+ ```typescript
56
+ import { Database } from 'bun:sqlite';
57
+
58
+ const db = new Database('myapp.db');
59
+ db.run(`CREATE TABLE IF NOT EXISTS users (id TEXT PRIMARY KEY, name TEXT, email TEXT)`);
60
+
61
+ const insert = db.prepare('INSERT INTO users VALUES ($id, $name, $email)');
62
+ insert.run({ $id: crypto.randomUUID(), $name: 'Alice', $email: 'alice@example.com' });
63
+
64
+ const users = db.prepare('SELECT * FROM users').all();
65
+ ```
66
+
67
+ ## Testing
68
+
69
+ ```typescript
70
+ // users.test.ts
71
+ import { describe, expect, it } from 'bun:test';
72
+
73
+ describe('User service', () => {
74
+ it('creates a user', async () => {
75
+ const user = await createUser({ email: 'test@example.com', name: 'Test' });
76
+ expect(user.id).toBeDefined();
77
+ expect(user.email).toBe('test@example.com');
78
+ });
79
+ });
80
+ ```
81
+
82
+ ```bash
83
+ bun test # Run all tests
84
+ bun test --watch # Watch mode
85
+ bun test --coverage # With coverage
86
+ ```
87
+
88
+ ## Best Practices
89
+ - Use `bun:sqlite` for local dev databases — no setup needed
90
+ - Use `--hot` flag instead of `nodemon` for server development
91
+ - `bun build` for bundling: `bun build ./src/index.ts --outdir ./dist --target node`
92
+
93
+ ## Resources
94
+ - [Bun docs](https://bun.sh/docs)
@@ -0,0 +1,103 @@
1
+ # ESLint
2
+
3
+ ## Overview
4
+ ESLint statically analyzes JavaScript/TypeScript code to find bugs and enforce code style.
5
+
6
+ ## Setup (ESLint v9 flat config)
7
+
8
+ ```bash
9
+ npm install -D eslint @eslint/js typescript-eslint eslint-plugin-react-hooks
10
+ ```
11
+
12
+ ## eslint.config.js (Flat Config)
13
+
14
+ ```typescript
15
+ // eslint.config.js
16
+ import js from '@eslint/js';
17
+ import tsPlugin from 'typescript-eslint';
18
+ import reactHooks from 'eslint-plugin-react-hooks';
19
+
20
+ export default tsPlugin.config(
21
+ js.configs.recommended,
22
+ ...tsPlugin.configs.recommended,
23
+ {
24
+ plugins: { 'react-hooks': reactHooks },
25
+ rules: {
26
+ ...reactHooks.configs.recommended.rules,
27
+ '@typescript-eslint/no-explicit-any': 'error',
28
+ '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
29
+ 'no-console': ['warn', { allow: ['warn', 'error'] }],
30
+ 'prefer-const': 'error',
31
+ },
32
+ },
33
+ {
34
+ ignores: ['dist/**', '.next/**', 'coverage/**', '*.config.js'],
35
+ }
36
+ );
37
+ ```
38
+
39
+ ## Scripts
40
+
41
+ ```json
42
+ {
43
+ "scripts": {
44
+ "lint": "eslint .",
45
+ "lint:fix": "eslint . --fix"
46
+ }
47
+ }
48
+ ```
49
+
50
+ ## Next.js ESLint Config
51
+
52
+ ```bash
53
+ npm install -D eslint-config-next
54
+ ```
55
+
56
+ ```javascript
57
+ // eslint.config.js (Next.js)
58
+ import { FlatCompat } from '@eslint/eslintrc';
59
+ const compat = new FlatCompat();
60
+
61
+ export default [
62
+ ...compat.extends('next/core-web-vitals', 'next/typescript'),
63
+ { rules: { '@typescript-eslint/no-explicit-any': 'error' } }
64
+ ];
65
+ ```
66
+
67
+ ## Pre-commit Hook with lint-staged
68
+
69
+ ```bash
70
+ npm install -D husky lint-staged
71
+ npx husky init
72
+ ```
73
+
74
+ ```json
75
+ // package.json
76
+ {
77
+ "lint-staged": {
78
+ "*.{ts,tsx,js,jsx}": ["eslint --fix", "prettier --write"]
79
+ }
80
+ }
81
+ ```
82
+
83
+ ```bash
84
+ echo "npx lint-staged" > .husky/pre-commit
85
+ ```
86
+
87
+ ## Custom Rule Example
88
+
89
+ ```typescript
90
+ // Only allow logger, not console.log
91
+ module.exports = {
92
+ rules: {
93
+ 'no-restricted-syntax': ['error', {
94
+ selector: "CallExpression[callee.object.name='console'][callee.property.name='log']",
95
+ message: 'Use logger.info() instead of console.log()'
96
+ }]
97
+ }
98
+ };
99
+ ```
100
+
101
+ ## Resources
102
+ - [ESLint docs](https://eslint.org/docs/latest/)
103
+ - [typescript-eslint](https://typescript-eslint.io)