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,212 @@
1
+ # OWASP Security Top 10
2
+
3
+ Common vulnerabilities and how to prevent them.
4
+
5
+ ## Injection
6
+
7
+ ```typescript
8
+ // Bad: SQL injection
9
+ const user = await db.query(`SELECT * FROM users WHERE email = '${email}'`);
10
+
11
+ // Good: Parameterized queries
12
+ const user = await db.query('SELECT * FROM users WHERE email = ?', [email]);
13
+
14
+ // Good: ORM usage
15
+ const user = await User.findOne({ email });
16
+
17
+ // Bad: Command injection
18
+ const result = execSync(`ffmpeg -i ${userInput}.mp4`);
19
+
20
+ // Good: Use array form
21
+ const result = spawnSync('ffmpeg', ['-i', userInput + '.mp4']);
22
+ ```
23
+
24
+ ## Broken Authentication
25
+
26
+ ```typescript
27
+ // Good: Hash passwords
28
+ import bcrypt from 'bcrypt';
29
+
30
+ const hash = await bcrypt.hash(password, 10);
31
+ await db.users.create({ email, password: hash });
32
+
33
+ // Good: Session management
34
+ import session from 'express-session';
35
+
36
+ app.use(session({
37
+ secret: process.env.SESSION_SECRET,
38
+ resave: false,
39
+ saveUninitialized: false,
40
+ cookie: {
41
+ httpOnly: true,
42
+ secure: true, // HTTPS only
43
+ sameSite: 'strict',
44
+ maxAge: 1000 * 60 * 60 * 24 // 24 hours
45
+ }
46
+ }));
47
+
48
+ // Good: MFA
49
+ import speakeasy from 'speakeasy';
50
+
51
+ const secret = speakeasy.generateSecret({ name: 'MyApp' });
52
+ const verified = speakeasy.totp.verify({
53
+ secret: user.totpSecret,
54
+ encoding: 'base32',
55
+ token: userToken,
56
+ window: 2
57
+ });
58
+ ```
59
+
60
+ ## Sensitive Data Exposure
61
+
62
+ ```typescript
63
+ // Bad: Logging passwords
64
+ console.log('User:', { password: user.password });
65
+
66
+ // Good: Don't log sensitive data
67
+ console.log('User:', { id: user.id, email: user.email });
68
+
69
+ // Good: Encrypt sensitive data
70
+ import crypto from 'crypto';
71
+
72
+ function encrypt(data: string, key: string): string {
73
+ const iv = crypto.randomBytes(16);
74
+ const cipher = crypto.createCipheriv('aes-256-gcm', Buffer.from(key), iv);
75
+
76
+ let encrypted = cipher.update(data, 'utf8', 'hex');
77
+ encrypted += cipher.final('hex');
78
+
79
+ return iv.toString('hex') + encrypted;
80
+ }
81
+
82
+ // Good: HTTPS only
83
+ app.use((req, res, next) => {
84
+ if (!req.secure) {
85
+ return res.redirect(301, `https://${req.host}${req.url}`);
86
+ }
87
+ next();
88
+ });
89
+ ```
90
+
91
+ ## XML External Entities (XXE)
92
+
93
+ ```typescript
94
+ // Bad: Parse untrusted XML
95
+ const xmlDoc = new DOMParser().parseFromString(userXml, 'text/xml');
96
+
97
+ // Good: Disable external entities
98
+ const options = {
99
+ resolveExternalEntities: false,
100
+ noent: false,
101
+ nocdata: true
102
+ };
103
+
104
+ const xmlDoc = parseXml(userXml, options);
105
+ ```
106
+
107
+ ## Broken Access Control
108
+
109
+ ```typescript
110
+ // Bad: No authorization check
111
+ app.get('/api/users/:id', async (req, res) => {
112
+ const user = await db.users.findById(req.params.id);
113
+ res.json(user);
114
+ });
115
+
116
+ // Good: Check authorization
117
+ app.get('/api/users/:id', async (req, res) => {
118
+ const userId = req.params.id;
119
+ const currentUser = req.user;
120
+
121
+ // Only allow users to see their own data
122
+ if (currentUser.id !== userId && currentUser.role !== 'admin') {
123
+ return res.status(403).json({ error: 'Forbidden' });
124
+ }
125
+
126
+ const user = await db.users.findById(userId);
127
+ res.json(user);
128
+ });
129
+ ```
130
+
131
+ ## Security Misconfiguration
132
+
133
+ ```typescript
134
+ // Good: Set security headers
135
+ import helmet from 'helmet';
136
+
137
+ app.use(helmet());
138
+
139
+ // Good: Disable debug mode in production
140
+ if (process.env.NODE_ENV === 'production') {
141
+ app.set('env', 'production');
142
+ app.disable('x-powered-by');
143
+ }
144
+
145
+ // Good: Validate environment
146
+ const requiredEnvVars = [
147
+ 'DATABASE_URL',
148
+ 'JWT_SECRET',
149
+ 'SESSION_SECRET'
150
+ ];
151
+
152
+ requiredEnvVars.forEach(envVar => {
153
+ if (!process.env[envVar]) {
154
+ throw new Error(`Missing required env var: ${envVar}`);
155
+ }
156
+ });
157
+ ```
158
+
159
+ ## Cross-Site Scripting (XSS)
160
+
161
+ ```typescript
162
+ // Bad: Raw HTML
163
+ res.send(`<h1>${title}</h1>`);
164
+
165
+ // Good: Escape output
166
+ import { escapeHtml } from 'lodash';
167
+
168
+ res.send(`<h1>${escapeHtml(title)}</h1>`);
169
+
170
+ // Good: React escapes by default
171
+ <h1>{title}</h1> {/* Safe */}
172
+
173
+ // Good: Content Security Policy
174
+ app.use(helmet.contentSecurityPolicy({
175
+ directives: {
176
+ defaultSrc: ["'self'"],
177
+ styleSrc: ["'self'", "'unsafe-inline'"],
178
+ scriptSrc: ["'self'"]
179
+ }
180
+ }));
181
+ ```
182
+
183
+ ## Insecure Deserialization
184
+
185
+ ```typescript
186
+ // Bad: Deserialize untrusted data
187
+ const obj = JSON.parse(userInput);
188
+
189
+ // Good: Validate schema
190
+ import { z } from 'zod';
191
+
192
+ const schema = z.object({
193
+ name: z.string(),
194
+ email: z.string().email()
195
+ });
196
+
197
+ const validated = schema.parse(JSON.parse(userInput));
198
+ ```
199
+
200
+ ## Best Practices
201
+
202
+ ✅ **Input validation** - Always validate user input
203
+ ✅ **Output encoding** - Escape data before displaying
204
+ ✅ **Error handling** - Don't expose sensitive info in errors
205
+ ✅ **Security headers** - Use helmet.js
206
+ ✅ **HTTPS** - Always use HTTPS in production
207
+ ✅ **Secrets rotation** - Regularly change API keys
208
+
209
+ ## Resources
210
+
211
+ - [OWASP Top 10](https://owasp.org/www-project-top-ten/)
212
+ - [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
@@ -0,0 +1,64 @@
1
+ # Secrets Rotation
2
+
3
+ Automating secret updates and rotation.
4
+
5
+ ## Rotation Strategy
6
+
7
+ ```typescript
8
+ interface SecretMetadata {
9
+ name: string;
10
+ createdAt: Date;
11
+ rotatedAt: Date;
12
+ expiresAt: Date;
13
+ status: 'active' | 'rotating' | 'expired';
14
+ }
15
+
16
+ async function rotateSecret(secretName: string) {
17
+ // Create new secret
18
+ const newSecret = generateSecureSecret();
19
+
20
+ // Store new secret with metadata
21
+ await vault.write(`secret/${secretName}-new`, {
22
+ value: newSecret,
23
+ createdAt: new Date(),
24
+ expiresAt: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000)
25
+ });
26
+
27
+ // Double-write period (both old and new work)
28
+ // Update application to accept both
29
+
30
+ // After validation, retire old secret
31
+ await vault.delete(`secret/${secretName}`);
32
+
33
+ // Rename new to current
34
+ await vault.rename(`secret/${secretName}-new`, `secret/${secretName}`);
35
+ }
36
+ ```
37
+
38
+ ## Automated Rotation
39
+
40
+ ```typescript
41
+ import cron from 'node-cron';
42
+
43
+ // Rotate secrets monthly
44
+ cron.schedule('0 0 1 * *', async () => {
45
+ const secrets = ['API_KEY', 'DB_PASSWORD', 'JWT_SECRET'];
46
+
47
+ for (const secret of secrets) {
48
+ await rotateSecret(secret);
49
+ console.log(`Rotated ${secret}`);
50
+ }
51
+ });
52
+ ```
53
+
54
+ ## Best Practices
55
+
56
+ ✅ **Regular rotation** - Monthly minimum
57
+ ✅ **Double-write period** - Gradual transition
58
+ ✅ **Audit logging** - Track all rotations
59
+ ✅ **Automation** - Scheduled rotation
60
+ ✅ **Monitoring** - Alert on rotation failures
61
+
62
+ ## Resources
63
+
64
+ - [Secrets Management](https://www.vaultproject.io/docs/secrets/rotation)
@@ -0,0 +1,94 @@
1
+ # Content SEO
2
+
3
+ ## Overview
4
+ Optimize content for search intent, keyword targeting, and organic traffic growth.
5
+
6
+ ## Keyword Research Structure
7
+
8
+ ```typescript
9
+ interface KeywordData {
10
+ keyword: string;
11
+ intent: 'informational' | 'navigational' | 'commercial' | 'transactional';
12
+ volume: number;
13
+ difficulty: number;
14
+ cpc: number;
15
+ }
16
+
17
+ // Content cluster approach
18
+ const pillarPage = { keyword: 'project management software', type: 'pillar' };
19
+ const clusterPages = [
20
+ { keyword: 'project management software for small teams', type: 'cluster' },
21
+ { keyword: 'project management software free', type: 'cluster' },
22
+ { keyword: 'best project management tools 2024', type: 'cluster' },
23
+ ];
24
+ ```
25
+
26
+ ## SEO-Optimized Blog Post Structure
27
+
28
+ ```tsx
29
+ // app/blog/[slug]/page.tsx
30
+ export default function BlogPost({ post }: { post: Post }) {
31
+ return (
32
+ <article className="max-w-prose mx-auto">
33
+ {/* H1 — includes primary keyword */}
34
+ <h1 className="text-4xl font-bold">{post.title}</h1>
35
+
36
+ {/* Author, date, reading time */}
37
+ <div className="text-gray-500 text-sm mt-2">
38
+ By {post.author} · {formatDate(post.publishedAt)} · {post.readingTime} min read
39
+ </div>
40
+
41
+ {/* Table of contents for long posts */}
42
+ <TableOfContents headings={post.headings} />
43
+
44
+ {/* Content with proper heading hierarchy H2 → H3 */}
45
+ <div
46
+ className="prose prose-lg mt-8"
47
+ dangerouslySetInnerHTML={{ __html: post.content }}
48
+ />
49
+
50
+ {/* Internal links to related posts */}
51
+ <RelatedPosts posts={post.relatedPosts} />
52
+ </article>
53
+ );
54
+ }
55
+ ```
56
+
57
+ ## Internal Linking Strategy
58
+
59
+ ```typescript
60
+ // Auto-suggest internal links based on keyword matching
61
+ async function findRelatedContent(currentSlug: string, keywords: string[]) {
62
+ return prisma.post.findMany({
63
+ where: {
64
+ slug: { not: currentSlug },
65
+ OR: keywords.map(kw => ({ title: { contains: kw, mode: 'insensitive' } })),
66
+ },
67
+ take: 5,
68
+ select: { slug: true, title: true },
69
+ });
70
+ }
71
+ ```
72
+
73
+ ## Content Quality Checklist
74
+ ```
75
+ ✅ Primary keyword in title, H1, first 100 words, URL
76
+ ✅ Target keyword density: 1-2% (natural use, not stuffing)
77
+ ✅ H2/H3 headings use related keywords and questions
78
+ ✅ Images have descriptive alt text with keywords
79
+ ✅ Internal links to 3+ related pages
80
+ ✅ External links to authoritative sources
81
+ ✅ Content matches search intent (informational = how-to, transactional = buy now)
82
+ ✅ Word count appropriate for competition (check top 3 rankings)
83
+ ✅ Meta description includes keyword and CTA
84
+ ```
85
+
86
+ ## Best Practices
87
+ - Write for humans first, optimize for search second
88
+ - Use question-based H2s (How to..., What is..., Why...)
89
+ - Update content annually to maintain rankings
90
+ - Focus on topics with genuine user demand, not just high volume
91
+
92
+ ## Resources
93
+ - [Ahrefs blog](https://ahrefs.com/blog)
94
+ - [Search Engine Land](https://searchengineland.com)
@@ -0,0 +1,101 @@
1
+ # Technical SEO
2
+
3
+ ## Overview
4
+ Optimize crawlability, indexability, and page speed for better search engine rankings.
5
+
6
+ ## Next.js Metadata API
7
+
8
+ ```typescript
9
+ // app/page.tsx
10
+ import type { Metadata } from 'next';
11
+
12
+ export const metadata: Metadata = {
13
+ title: 'Page Title | Site Name',
14
+ description: 'Compelling description under 160 characters with target keyword.',
15
+ keywords: ['keyword1', 'keyword2'],
16
+ openGraph: {
17
+ title: 'Page Title',
18
+ description: 'Description for social sharing',
19
+ url: 'https://example.com/page',
20
+ siteName: 'Site Name',
21
+ images: [{ url: '/og-image.png', width: 1200, height: 630 }],
22
+ type: 'website',
23
+ },
24
+ twitter: { card: 'summary_large_image', title: 'Page Title', description: '...' },
25
+ alternates: { canonical: 'https://example.com/page' },
26
+ };
27
+
28
+ // Dynamic metadata for product pages
29
+ export async function generateMetadata({ params }: Props): Promise<Metadata> {
30
+ const product = await getProduct(params.slug);
31
+ return {
32
+ title: `${product.name} | Shop`,
33
+ description: product.description.slice(0, 160),
34
+ openGraph: { images: [{ url: product.imageUrl }] },
35
+ };
36
+ }
37
+ ```
38
+
39
+ ## Sitemap (Next.js)
40
+
41
+ ```typescript
42
+ // app/sitemap.ts
43
+ import { MetadataRoute } from 'next';
44
+ import { prisma } from '@/lib/db';
45
+
46
+ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
47
+ const posts = await prisma.post.findMany({ select: { slug: true, updatedAt: true } });
48
+
49
+ return [
50
+ { url: 'https://example.com', lastModified: new Date(), changeFrequency: 'weekly', priority: 1 },
51
+ { url: 'https://example.com/pricing', lastModified: new Date(), changeFrequency: 'monthly', priority: 0.8 },
52
+ ...posts.map(post => ({
53
+ url: `https://example.com/blog/${post.slug}`,
54
+ lastModified: post.updatedAt,
55
+ changeFrequency: 'weekly' as const,
56
+ priority: 0.6,
57
+ })),
58
+ ];
59
+ }
60
+ ```
61
+
62
+ ## Structured Data (JSON-LD)
63
+
64
+ ```tsx
65
+ // Article structured data
66
+ export function ArticleSchema({ article }: { article: Article }) {
67
+ const schema = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'Article',
70
+ headline: article.title,
71
+ datePublished: article.publishedAt,
72
+ dateModified: article.updatedAt,
73
+ author: { '@type': 'Person', name: article.author.name },
74
+ image: article.coverImage,
75
+ description: article.excerpt,
76
+ };
77
+ return <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }} />;
78
+ }
79
+ ```
80
+
81
+ ## robots.txt
82
+
83
+ ```typescript
84
+ // app/robots.ts
85
+ export default function robots() {
86
+ return {
87
+ rules: { userAgent: '*', allow: '/', disallow: ['/api/', '/admin/'] },
88
+ sitemap: 'https://example.com/sitemap.xml',
89
+ };
90
+ }
91
+ ```
92
+
93
+ ## Best Practices
94
+ - Use canonical URLs to prevent duplicate content penalties
95
+ - Keep title tags under 60 chars, meta descriptions under 160
96
+ - Generate XML sitemaps and submit to Google Search Console
97
+ - Ensure Core Web Vitals pass — Google uses them as ranking signals
98
+
99
+ ## Resources
100
+ - [Google Search Central](https://developers.google.com/search)
101
+ - [Next.js metadata docs](https://nextjs.org/docs/app/building-your-application/optimizing/metadata)
@@ -0,0 +1,151 @@
1
+ # Serverless Framework
2
+
3
+ Framework for building and deploying serverless applications across AWS, Azure, GCP, and Kubernetes.
4
+
5
+ ## Setup
6
+
7
+ ```bash
8
+ npm install -g serverless
9
+ npm install --save-dev serverless aws-sdk
10
+ ```
11
+
12
+ ## serverless.yml
13
+
14
+ ```yaml
15
+ service: my-api
16
+
17
+ frameworkVersion: '4'
18
+
19
+ provider:
20
+ name: aws
21
+ runtime: nodejs20.x
22
+ region: us-east-1
23
+ environment:
24
+ TABLE_NAME: users
25
+ STAGE: ${self:provider.stage}
26
+
27
+ plugins:
28
+ - serverless-dynamodb-local
29
+ - serverless-offline
30
+
31
+ functions:
32
+ getUser:
33
+ handler: handlers/getUser.handler
34
+ events:
35
+ - http:
36
+ path: users/{id}
37
+ method: get
38
+ cors: true
39
+
40
+ createUser:
41
+ handler: handlers/createUser.handler
42
+ events:
43
+ - http:
44
+ path: users
45
+ method: post
46
+ cors: true
47
+
48
+ processEvent:
49
+ handler: handlers/processEvent.handler
50
+ events:
51
+ - stream:
52
+ type: dynamodb
53
+ arn:
54
+ Fn::GetAtt: [UsersTable, StreamArn]
55
+ batchSize: 100
56
+
57
+ resources:
58
+ Resources:
59
+ UsersTable:
60
+ Type: AWS::DynamoDB::Table
61
+ Properties:
62
+ TableName: ${self:provider.environment.TABLE_NAME}
63
+ BillingMode: PAY_PER_REQUEST
64
+ AttributeDefinitions:
65
+ - AttributeName: id
66
+ AttributeType: S
67
+ KeySchema:
68
+ - AttributeName: id
69
+ KeyType: HASH
70
+ StreamSpecification:
71
+ StreamViewType: NEW_AND_OLD_IMAGES
72
+
73
+ package:
74
+ patterns:
75
+ - '!node_modules/**'
76
+ - '!.git/**'
77
+ ```
78
+
79
+ ## Handler Functions
80
+
81
+ ```typescript
82
+ // handlers/getUser.ts
83
+ import { APIGatewayProxyHandler } from 'aws-lambda';
84
+ import { DynamoDBDocumentClient, GetCommand } from '@aws-sdk/lib-dynamodb';
85
+ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
86
+
87
+ const db = DynamoDBDocumentClient.from(new DynamoDBClient({}));
88
+
89
+ export const handler: APIGatewayProxyHandler = async (event) => {
90
+ const { id } = event.pathParameters || {};
91
+
92
+ try {
93
+ const { Item } = await db.send(new GetCommand({
94
+ TableName: process.env.TABLE_NAME,
95
+ Key: { id }
96
+ }));
97
+
98
+ return {
99
+ statusCode: 200,
100
+ body: JSON.stringify(Item)
101
+ };
102
+ } catch (error) {
103
+ return {
104
+ statusCode: 500,
105
+ body: JSON.stringify({ error: 'Failed to fetch user' })
106
+ };
107
+ }
108
+ };
109
+ ```
110
+
111
+ ## Environment Management
112
+
113
+ ```bash
114
+ # Deploy to dev
115
+ serverless deploy --stage dev
116
+
117
+ # Deploy to production
118
+ serverless deploy --stage prod
119
+
120
+ # View logs
121
+ serverless logs -f getUser --stage prod
122
+
123
+ # Remove stack
124
+ serverless remove --stage dev
125
+ ```
126
+
127
+ ## Local Development
128
+
129
+ ```bash
130
+ # Install local DynamoDB
131
+ npm install -D serverless-dynamodb-local
132
+
133
+ # Start offline
134
+ serverless offline start --stage local
135
+
136
+ # With DynamoDB local
137
+ serverless dynamodb start
138
+ ```
139
+
140
+ ## Best Practices
141
+
142
+ ✅ **Use environment variables** - Manage config per stage
143
+ ✅ **Minimize cold starts** - Bundle efficiently, use provisioned concurrency
144
+ ✅ **Error handling** - Return proper HTTP status codes
145
+ ✅ **Logging** - Use structured logging for CloudWatch
146
+ ✅ **Testing** - Test handlers locally before deployment
147
+
148
+ ## Resources
149
+
150
+ - [Serverless Framework Docs](https://www.serverless.com/framework/docs)
151
+ - [AWS Lambda Best Practices](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)
@@ -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