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,203 @@
1
+ # Monitoring & Observability
2
+
3
+ Application performance monitoring, metrics, and alerting.
4
+
5
+ ## Prometheus
6
+
7
+ ```yaml
8
+ # prometheus.yml
9
+ global:
10
+ scrape_interval: 15s
11
+
12
+ scrape_configs:
13
+ - job_name: 'nodejs-app'
14
+ static_configs:
15
+ - targets: ['localhost:9090']
16
+
17
+ - job_name: 'database'
18
+ static_configs:
19
+ - targets: ['localhost:9187']
20
+ ```
21
+
22
+ ## Application Metrics
23
+
24
+ ```typescript
25
+ import promClient from 'prom-client';
26
+ import express from 'express';
27
+
28
+ // Create metrics
29
+ const httpRequestDuration = new promClient.Histogram({
30
+ name: 'http_request_duration_seconds',
31
+ help: 'Duration of HTTP requests in seconds',
32
+ labelNames: ['method', 'route', 'status_code']
33
+ });
34
+
35
+ const activeConnections = new promClient.Gauge({
36
+ name: 'active_connections',
37
+ help: 'Number of active connections'
38
+ });
39
+
40
+ // Middleware
41
+ app.use((req, res, next) => {
42
+ const start = Date.now();
43
+
44
+ res.on('finish', () => {
45
+ const duration = (Date.now() - start) / 1000;
46
+ httpRequestDuration
47
+ .labels(req.method, req.route?.path, res.statusCode)
48
+ .observe(duration);
49
+ });
50
+
51
+ next();
52
+ });
53
+
54
+ // Metrics endpoint
55
+ app.get('/metrics', async (req, res) => {
56
+ res.set('Content-Type', promClient.register.contentType);
57
+ res.end(await promClient.register.metrics());
58
+ });
59
+ ```
60
+
61
+ ## Grafana Dashboards
62
+
63
+ ```json
64
+ {
65
+ "dashboard": {
66
+ "title": "Application Metrics",
67
+ "panels": [
68
+ {
69
+ "title": "Request Rate",
70
+ "targets": [
71
+ {
72
+ "expr": "rate(http_request_duration_seconds_count[5m])"
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "title": "Error Rate",
78
+ "targets": [
79
+ {
80
+ "expr": "rate(http_request_duration_seconds_count{status_code=~\"5..\"}[5m])"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "title": "Response Time",
86
+ "targets": [
87
+ {
88
+ "expr": "histogram_quantile(0.95, http_request_duration_seconds_bucket)"
89
+ }
90
+ ]
91
+ }
92
+ ]
93
+ }
94
+ }
95
+ ```
96
+
97
+ ## DataDog Integration
98
+
99
+ ```typescript
100
+ import StatsD from 'node-dogstatsd';
101
+
102
+ const dogstatsd = new StatsD.StatsD({
103
+ host: 'localhost',
104
+ port: 8125,
105
+ prefix: 'myapp.'
106
+ });
107
+
108
+ // Track metrics
109
+ dogstatsd.gauge('user.active', 42);
110
+ dogstatsd.increment('requests.total');
111
+ dogstatsd.histogram('response.time', 0.234);
112
+
113
+ // Tags
114
+ dogstatsd.increment('api.calls', 1, {
115
+ tags: ['endpoint:/users', 'status:success']
116
+ });
117
+ ```
118
+
119
+ ## Custom Alerts
120
+
121
+ ```yaml
122
+ # alert.yml
123
+ groups:
124
+ - name: application
125
+ rules:
126
+ - alert: HighErrorRate
127
+ expr: rate(errors_total[5m]) > 0.05
128
+ for: 5m
129
+ annotations:
130
+ summary: "High error rate detected"
131
+ description: "Error rate is {{ $value }}"
132
+
133
+ - alert: HighLatency
134
+ expr: histogram_quantile(0.95, response_time) > 1
135
+ for: 10m
136
+ annotations:
137
+ summary: "High latency detected"
138
+ ```
139
+
140
+ ## Logging with ELK
141
+
142
+ ```typescript
143
+ import winston from 'winston';
144
+
145
+ const logger = winston.createLogger({
146
+ level: 'info',
147
+ format: winston.format.json(),
148
+ transports: [
149
+ new winston.transports.Console(),
150
+ new winston.transports.File({
151
+ filename: 'error.log',
152
+ level: 'error'
153
+ }),
154
+ new winston.transports.File({ filename: 'combined.log' })
155
+ ]
156
+ });
157
+
158
+ logger.info('Server started', { port: 3000 });
159
+ logger.error('Database connection failed', { code: 'ECONNREFUSED' });
160
+ ```
161
+
162
+ ## Health Checks
163
+
164
+ ```typescript
165
+ app.get('/health', async (req, res) => {
166
+ const health = {
167
+ status: 'OK',
168
+ timestamp: new Date().toISOString(),
169
+ checks: {
170
+ database: await checkDatabase(),
171
+ redis: await checkRedis(),
172
+ uptime: process.uptime()
173
+ }
174
+ };
175
+
176
+ const statusCode = Object.values(health.checks).every(Boolean) ? 200 : 503;
177
+
178
+ res.status(statusCode).json(health);
179
+ });
180
+
181
+ async function checkDatabase() {
182
+ try {
183
+ await db.raw('SELECT 1');
184
+ return true;
185
+ } catch {
186
+ return false;
187
+ }
188
+ }
189
+ ```
190
+
191
+ ## Best Practices
192
+
193
+ ✅ **Structured logging** - Use JSON format
194
+ ✅ **Meaningful metrics** - Track business metrics
195
+ ✅ **Alert thresholds** - Set based on SLOs
196
+ ✅ **Retention policies** - Balance cost and history
197
+ ✅ **Distributed tracing** - Track requests across services
198
+
199
+ ## Resources
200
+
201
+ - [Prometheus Docs](https://prometheus.io/docs/)
202
+ - [Grafana](https://grafana.com/)
203
+ - [DataDog](https://www.datadoghq.com/)
@@ -0,0 +1,94 @@
1
+ # Pulumi
2
+
3
+ ## Overview
4
+ Define cloud infrastructure as TypeScript/Python/Go code instead of YAML. Pulumi uses real programming languages for IaC.
5
+
6
+ ## Setup
7
+
8
+ ```bash
9
+ curl -fsSL https://get.pulumi.com | sh
10
+ pulumi login
11
+ mkdir infra && cd infra
12
+ pulumi new aws-typescript
13
+ ```
14
+
15
+ ## S3 + CloudFront
16
+
17
+ ```typescript
18
+ import * as aws from '@pulumi/aws';
19
+ import * as pulumi from '@pulumi/pulumi';
20
+
21
+ const bucket = new aws.s3.BucketV2('site-assets', {
22
+ tags: { Environment: pulumi.getStack() }
23
+ });
24
+
25
+ new aws.s3.BucketPublicAccessBlock('site-block', {
26
+ bucket: bucket.id,
27
+ blockPublicAcls: true,
28
+ blockPublicPolicy: true,
29
+ });
30
+
31
+ const distribution = new aws.cloudfront.Distribution('cdn', {
32
+ origins: [{
33
+ domainName: bucket.bucketRegionalDomainName,
34
+ originId: 'S3Origin',
35
+ }],
36
+ enabled: true,
37
+ defaultCacheBehavior: {
38
+ targetOriginId: 'S3Origin',
39
+ viewerProtocolPolicy: 'redirect-to-https',
40
+ allowedMethods: ['GET', 'HEAD'],
41
+ cachedMethods: ['GET', 'HEAD'],
42
+ forwardedValues: { queryString: false, cookies: { forward: 'none' } },
43
+ },
44
+ restrictions: { geoRestriction: { restrictionType: 'none' } },
45
+ viewerCertificate: { cloudfrontDefaultCertificate: true },
46
+ });
47
+
48
+ export const cdnUrl = distribution.domainName;
49
+ ```
50
+
51
+ ## ECS Fargate Service
52
+
53
+ ```typescript
54
+ import * as awsx from '@pulumi/awsx';
55
+
56
+ const repo = new awsx.ecr.Repository('app');
57
+ const image = new awsx.ecr.Image('app-image', { repositoryUrl: repo.url, context: '../app' });
58
+
59
+ const cluster = new aws.ecs.Cluster('cluster');
60
+ const lb = new awsx.lb.ApplicationLoadBalancer('alb');
61
+
62
+ const service = new awsx.ecs.FargateService('app', {
63
+ cluster: cluster.arn,
64
+ taskDefinitionArgs: {
65
+ container: {
66
+ name: 'app',
67
+ image: image.imageUri,
68
+ cpu: 256, memory: 512,
69
+ portMappings: [lb.defaultTargetGroup],
70
+ }
71
+ },
72
+ desiredCount: 2,
73
+ });
74
+
75
+ export const url = lb.loadBalancer.dnsName;
76
+ ```
77
+
78
+ ## Deploy
79
+
80
+ ```bash
81
+ pulumi preview # show changes
82
+ pulumi up # deploy
83
+ pulumi destroy # tear down
84
+ ```
85
+
86
+ ## Best Practices
87
+ - Use `pulumi.Config` for environment-specific values
88
+ - Store secrets with `config.requireSecret()` (encrypted in state)
89
+ - Use stack references to share outputs between stacks
90
+ - Create component resources for reusable infrastructure patterns
91
+
92
+ ## Resources
93
+ - [Pulumi docs](https://www.pulumi.com/docs/)
94
+ - [Pulumi AWS examples](https://www.pulumi.com/registry/packages/aws/)
@@ -0,0 +1,166 @@
1
+ # Secrets Management
2
+
3
+ Secure storage and retrieval of API keys, credentials, and tokens.
4
+
5
+ ## Environment Variables
6
+
7
+ ```bash
8
+ # .env.local
9
+ DATABASE_URL=postgresql://user:pass@localhost/db
10
+ API_KEY=sk-1234567890
11
+ STRIPE_SECRET=sk_live_...
12
+
13
+ # .env.production
14
+ DATABASE_URL=${DB_PROD_URL}
15
+ API_KEY=${API_KEY_PROD}
16
+ ```
17
+
18
+ ```typescript
19
+ // next.config.ts - expose public vars
20
+ const nextConfig = {
21
+ env: {
22
+ NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL
23
+ }
24
+ };
25
+ ```
26
+
27
+ ## AWS Secrets Manager
28
+
29
+ ```typescript
30
+ import { SecretsManagerClient, GetSecretValueCommand } from '@aws-sdk/client-secrets-manager';
31
+
32
+ const client = new SecretsManagerClient({ region: 'us-east-1' });
33
+
34
+ async function getSecret(secretName: string) {
35
+ try {
36
+ const command = new GetSecretValueCommand({ SecretId: secretName });
37
+ const response = await client.send(command);
38
+
39
+ return response.SecretString ? JSON.parse(response.SecretString) : response.SecretBinary;
40
+ } catch (error) {
41
+ console.error('Error retrieving secret:', error);
42
+ throw error;
43
+ }
44
+ }
45
+
46
+ // Usage
47
+ const dbCredentials = await getSecret('prod/database');
48
+ ```
49
+
50
+ ## HashiCorp Vault
51
+
52
+ ```typescript
53
+ import * as Vault from 'node-vault';
54
+
55
+ const vault = new Vault({
56
+ endpoint: 'http://localhost:8200',
57
+ token: process.env.VAULT_TOKEN
58
+ });
59
+
60
+ // Read secret
61
+ const secret = await vault.read('secret/data/prod/database');
62
+ console.log(secret.data.data.username);
63
+
64
+ // Write secret
65
+ await vault.write('secret/data/prod/api-key', {
66
+ data: {
67
+ key: 'sk-1234567890',
68
+ name: 'production-key'
69
+ }
70
+ });
71
+
72
+ // Create dynamic database credentials
73
+ const creds = await vault.read('database/creds/my-role');
74
+ console.log(creds.data.username, creds.data.password);
75
+ ```
76
+
77
+ ## Sealed Secrets (Kubernetes)
78
+
79
+ ```yaml
80
+ # Install Sealed Secrets
81
+ kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.18.0/controller.yaml
82
+
83
+ # Seal a secret
84
+ echo -n mypassword | kubectl create secret generic mysecret --dry-run=client --from-file=password=/dev/stdin -o yaml | kubeseal -f -
85
+
86
+ # Apply sealed secret
87
+ kubectl apply -f my-sealed-secret.yaml
88
+ ```
89
+
90
+ ```bash
91
+ #!/bin/bash
92
+ # Script to rotate secrets
93
+ for secret in $(vault list secret/metadata/prod); do
94
+ echo "Rotating $secret"
95
+ vault write "secret/data/prod/$secret" @"./new-${secret}.json"
96
+ done
97
+ ```
98
+
99
+ ## Node.js dotenv
100
+
101
+ ```typescript
102
+ import dotenv from 'dotenv';
103
+ import path from 'path';
104
+
105
+ // Load based on NODE_ENV
106
+ const envFile = `.env.${process.env.NODE_ENV || 'development'}`;
107
+ dotenv.config({ path: path.resolve(process.cwd(), envFile) });
108
+
109
+ // Access variables
110
+ const dbUrl = process.env.DATABASE_URL;
111
+ const apiKey = process.env.API_KEY;
112
+
113
+ // Type-safe config
114
+ interface Config {
115
+ database: {
116
+ url: string;
117
+ };
118
+ api: {
119
+ key: string;
120
+ };
121
+ }
122
+
123
+ const config: Config = {
124
+ database: {
125
+ url: process.env.DATABASE_URL!
126
+ },
127
+ api: {
128
+ key: process.env.API_KEY!
129
+ }
130
+ };
131
+
132
+ export default config;
133
+ ```
134
+
135
+ ## GitHub Secrets
136
+
137
+ ```yaml
138
+ # .github/workflows/deploy.yml
139
+ name: Deploy
140
+ on: [push]
141
+
142
+ jobs:
143
+ deploy:
144
+ runs-on: ubuntu-latest
145
+ steps:
146
+ - uses: actions/checkout@v3
147
+ - name: Deploy
148
+ env:
149
+ DATABASE_URL: ${{ secrets.DATABASE_URL }}
150
+ API_KEY: ${{ secrets.API_KEY }}
151
+ run: npm run deploy
152
+ ```
153
+
154
+ ## Best Practices
155
+
156
+ ✅ **Never commit secrets** - Use .gitignore
157
+ ✅ **Rotate regularly** - Change keys periodically
158
+ ✅ **Least privilege** - Grant minimal access
159
+ ✅ **Audit access** - Log who accessed what
160
+ ✅ **Separate by environment** - Dev, staging, prod keys
161
+
162
+ ## Resources
163
+
164
+ - [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/)
165
+ - [HashiCorp Vault](https://www.vaultproject.io/)
166
+ - [Sealed Secrets](https://github.com/bitnami-labs/sealed-secrets)
@@ -0,0 +1,226 @@
1
+ # Terraform Infrastructure-as-Code
2
+
3
+ Declarative infrastructure provisioning across cloud providers.
4
+
5
+ ## Setup
6
+
7
+ ```bash
8
+ brew install terraform
9
+ terraform version
10
+ ```
11
+
12
+ ## AWS Example
13
+
14
+ ```hcl
15
+ terraform {
16
+ required_providers {
17
+ aws = {
18
+ source = "hashicorp/aws"
19
+ version = "~> 5.0"
20
+ }
21
+ }
22
+ }
23
+
24
+ provider "aws" {
25
+ region = "us-east-1"
26
+ }
27
+
28
+ # VPC
29
+ resource "aws_vpc" "main" {
30
+ cidr_block = "10.0.0.0/16"
31
+ enable_dns_hostnames = true
32
+
33
+ tags = {
34
+ Name = "main-vpc"
35
+ }
36
+ }
37
+
38
+ # Subnet
39
+ resource "aws_subnet" "main" {
40
+ vpc_id = aws_vpc.main.id
41
+ cidr_block = "10.0.1.0/24"
42
+ availability_zone = "us-east-1a"
43
+
44
+ tags = {
45
+ Name = "main-subnet"
46
+ }
47
+ }
48
+
49
+ # Security Group
50
+ resource "aws_security_group" "app" {
51
+ vpc_id = aws_vpc.main.id
52
+
53
+ ingress {
54
+ from_port = 80
55
+ to_port = 80
56
+ protocol = "tcp"
57
+ cidr_blocks = ["0.0.0.0/0"]
58
+ }
59
+
60
+ ingress {
61
+ from_port = 443
62
+ to_port = 443
63
+ protocol = "tcp"
64
+ cidr_blocks = ["0.0.0.0/0"]
65
+ }
66
+
67
+ egress {
68
+ from_port = 0
69
+ to_port = 0
70
+ protocol = "-1"
71
+ cidr_blocks = ["0.0.0.0/0"]
72
+ }
73
+ }
74
+
75
+ # EC2 Instance
76
+ resource "aws_instance" "app" {
77
+ ami = "ami-0c55b159cbfafe1f0"
78
+ instance_type = "t3.micro"
79
+ subnet_id = aws_subnet.main.id
80
+ vpc_security_group_ids = [aws_security_group.app.id]
81
+
82
+ tags = {
83
+ Name = "app-server"
84
+ }
85
+ }
86
+
87
+ # RDS Database
88
+ resource "aws_db_instance" "postgres" {
89
+ identifier = "my-postgres-db"
90
+ engine = "postgres"
91
+ engine_version = "14.7"
92
+ instance_class = "db.t3.micro"
93
+
94
+ db_name = "myapp"
95
+ username = "admin"
96
+ password = var.db_password
97
+
98
+ allocated_storage = 20
99
+ skip_final_snapshot = true
100
+
101
+ vpc_security_group_ids = [aws_security_group.app.id]
102
+ }
103
+
104
+ # Outputs
105
+ output "instance_public_ip" {
106
+ value = aws_instance.app.public_ip
107
+ }
108
+
109
+ output "database_endpoint" {
110
+ value = aws_db_instance.postgres.endpoint
111
+ }
112
+ ```
113
+
114
+ ## Variables
115
+
116
+ ```hcl
117
+ # variables.tf
118
+ variable "region" {
119
+ description = "AWS region"
120
+ type = string
121
+ default = "us-east-1"
122
+ }
123
+
124
+ variable "environment" {
125
+ description = "Environment name"
126
+ type = string
127
+ validation {
128
+ condition = contains(["dev", "staging", "prod"], var.environment)
129
+ error_message = "Environment must be dev, staging, or prod."
130
+ }
131
+ }
132
+
133
+ variable "db_password" {
134
+ description = "Database password"
135
+ type = string
136
+ sensitive = true
137
+ }
138
+
139
+ variable "instance_count" {
140
+ description = "Number of instances"
141
+ type = number
142
+ default = 1
143
+ }
144
+
145
+ variable "tags" {
146
+ description = "Common tags"
147
+ type = map(string)
148
+ default = {
149
+ Terraform = "true"
150
+ Environment = "production"
151
+ }
152
+ }
153
+ ```
154
+
155
+ ## Modules
156
+
157
+ ```hcl
158
+ # main.tf
159
+ module "networking" {
160
+ source = "./modules/networking"
161
+
162
+ vpc_cidr = "10.0.0.0/16"
163
+ subnet_cidrs = ["10.0.1.0/24", "10.0.2.0/24"]
164
+ environment = var.environment
165
+ }
166
+
167
+ module "database" {
168
+ source = "./modules/database"
169
+
170
+ engine = "postgres"
171
+ instance_class = "db.t3.micro"
172
+ allocated_storage = 20
173
+ db_name = "myapp"
174
+ db_password = var.db_password
175
+ security_group_id = module.networking.security_group_id
176
+ }
177
+ ```
178
+
179
+ ## State Management
180
+
181
+ ```bash
182
+ # Initialize Terraform
183
+ terraform init
184
+
185
+ # Plan changes
186
+ terraform plan -var-file="prod.tfvars"
187
+
188
+ # Apply changes
189
+ terraform apply -var-file="prod.tfvars" -auto-approve
190
+
191
+ # Destroy resources
192
+ terraform destroy -var-file="prod.tfvars"
193
+
194
+ # View state
195
+ terraform state show aws_instance.app
196
+ terraform state list
197
+ ```
198
+
199
+ ## Remote State
200
+
201
+ ```hcl
202
+ # backend.tf
203
+ terraform {
204
+ backend "s3" {
205
+ bucket = "my-terraform-state"
206
+ key = "prod/terraform.tfstate"
207
+ region = "us-east-1"
208
+ encrypt = true
209
+ dynamodb_table = "terraform-locks"
210
+ }
211
+ }
212
+ ```
213
+
214
+ ## Best Practices
215
+
216
+ ✅ **Use modules** - Organize code logically
217
+ ✅ **Version state** - Store in remote backends
218
+ ✅ **Use variables** - Separate config from code
219
+ ✅ **Plan before apply** - Review changes
220
+ ✅ **Lock state** - Prevent concurrent modifications
221
+
222
+ ## Resources
223
+
224
+ - [Terraform Documentation](https://www.terraform.io/docs)
225
+ - [AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
226
+ - [Registry](https://registry.terraform.io/)