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,301 @@
1
+ # Unit Testing
2
+
3
+ Write isolated tests for individual functions and components using Jest and Vitest.
4
+
5
+ ## Jest Setup
6
+
7
+ ```bash
8
+ npm install -D jest @types/jest ts-jest
9
+ npx jest --init
10
+ ```
11
+
12
+ ## Basic Tests
13
+
14
+ ```typescript
15
+ describe('Calculator', () => {
16
+ test('adds two numbers', () => {
17
+ const add = (a: number, b: number) => a + b;
18
+ expect(add(2, 3)).toBe(5);
19
+ });
20
+
21
+ test('throws error on invalid input', () => {
22
+ expect(() => {
23
+ const divide = (a: number, b: number) => {
24
+ if (b === 0) throw new Error('Division by zero');
25
+ return a / b;
26
+ };
27
+ divide(10, 0);
28
+ }).toThrow('Division by zero');
29
+ });
30
+ });
31
+ ```
32
+
33
+ ## Testing Async Functions
34
+
35
+ ```typescript
36
+ test('fetches user data', async () => {
37
+ const fetchUser = async (id: number) => {
38
+ const res = await fetch(`/api/users/${id}`);
39
+ return res.json();
40
+ };
41
+
42
+ // Using async/await
43
+ const user = await fetchUser(1);
44
+ expect(user.name).toBe('John');
45
+
46
+ // Or using .then()
47
+ return fetchUser(1).then((user) => {
48
+ expect(user.email).toBe('john@example.com');
49
+ });
50
+ });
51
+ ```
52
+
53
+ ## Mocking
54
+
55
+ ```typescript
56
+ // Mock entire module
57
+ jest.mock('./api', () => ({
58
+ fetchUser: jest.fn().mockResolvedValue({ id: 1, name: 'John' })
59
+ }));
60
+
61
+ // Mock specific function
62
+ const mockFn = jest.fn((x) => x * 2);
63
+ expect(mockFn(3)).toBe(6);
64
+ expect(mockFn).toHaveBeenCalledWith(3);
65
+ expect(mockFn).toHaveBeenCalledTimes(1);
66
+ ```
67
+
68
+ ## React Component Tests
69
+
70
+ ```typescript
71
+ import { render, screen } from '@testing-library/react';
72
+ import { Button } from './Button';
73
+
74
+ test('renders button with text', () => {
75
+ render(<Button>Click me</Button>);
76
+ const button = screen.getByRole('button', { name: /click me/i });
77
+ expect(button).toBeInTheDocument();
78
+ });
79
+
80
+ test('calls onClick handler', () => {
81
+ const handleClick = jest.fn();
82
+ render(<Button onClick={handleClick}>Click</Button>);
83
+
84
+ screen.getByRole('button').click();
85
+ expect(handleClick).toHaveBeenCalled();
86
+ });
87
+ ```
88
+
89
+ ## Test Coverage
90
+
91
+ ```bash
92
+ # Run with coverage report
93
+ jest --coverage
94
+
95
+ # Generate HTML report
96
+ jest --coverage --coverageReporters=html
97
+ ```
98
+
99
+ ## Best Practices
100
+
101
+ ✅ **Arrange-Act-Assert** - Setup, execute, verify
102
+ ✅ **One assertion per test** - Keep tests focused
103
+ ✅ **Descriptive names** - Use clear test descriptions
104
+ ✅ **Avoid test interdependencies** - Each test independent
105
+ ✅ **Mock external dependencies** - Don't test third-party code
106
+
107
+ ## Resources
108
+
109
+ - [Jest Documentation](https://jestjs.io/)
110
+ - [React Testing Library](https://testing-library.com/)
111
+
112
+ ## Core Patterns & Implementations
113
+
114
+ ### Key Concepts
115
+ - Industry standards and best practices
116
+ - Proven architectural patterns
117
+ - Performance optimization techniques
118
+ - Security-first development approach
119
+ - Testing and quality assurance
120
+
121
+ ### Common Use Cases
122
+ - Building production applications
123
+ - Solving complex technical problems
124
+ - Optimizing performance and scalability
125
+ - Implementing security best practices
126
+ - Team collaboration and knowledge transfer
127
+
128
+ ## Implementation Guide
129
+
130
+ ### Setup & Configuration
131
+ - Framework/tool initialization
132
+ - Environment setup
133
+ - Configuration best practices
134
+ - Development vs production settings
135
+
136
+ ### Code Examples
137
+ - Real-world patterns and solutions
138
+ - Integration with other tools
139
+ - Error handling approaches
140
+ - Performance optimization
141
+
142
+ ### Architecture Patterns
143
+ - Proven design patterns
144
+ - Component organization
145
+ - Data flow and state management
146
+ - Scalability considerations
147
+
148
+ ## Best Practices
149
+
150
+ 1. **Code Quality** — Follow conventions, write clean code
151
+ 2. **Performance** — Profile and optimize bottlenecks
152
+ 3. **Security** — Implement security-first practices
153
+ 4. **Testing** — Comprehensive test coverage
154
+ 5. **Documentation** — Clear, maintainable documentation
155
+ 6. **Monitoring** — Track health and metrics
156
+ 7. **Scalability** — Design for growth
157
+
158
+ ## Testing Strategies
159
+
160
+ - Unit testing fundamentals
161
+ - Integration testing approaches
162
+ - End-to-end testing patterns
163
+ - Performance testing methods
164
+ - Security testing checklist
165
+
166
+ ## Performance Considerations
167
+
168
+ - Optimization techniques
169
+ - Caching strategies
170
+ - Database optimization
171
+ - API performance
172
+ - Front-end performance
173
+ - Monitoring and profiling
174
+
175
+ ## Security Checklist
176
+
177
+ - Input validation and sanitization
178
+ - Authentication and authorization
179
+ - Data encryption
180
+ - Secure dependencies
181
+ - Common vulnerability patterns
182
+ - Security headers and configuration
183
+
184
+ ## Deployment & Operations
185
+
186
+ - Preparation for production
187
+ - Deployment strategies
188
+ - Rollback procedures
189
+ - Monitoring and alerting
190
+ - Logging and debugging
191
+ - Incident response
192
+
193
+ ## Integration Points
194
+
195
+ Works seamlessly with:
196
+ - Related technologies and frameworks
197
+ - Development and deployment tools
198
+ - Monitoring and observability
199
+ - Security and compliance tools
200
+
201
+ ## Tools & Technologies
202
+
203
+ - Popular frameworks and libraries
204
+ - Development utilities
205
+ - Testing frameworks
206
+ - Deployment platforms
207
+ - Monitoring solutions
208
+
209
+ ## Common Pitfalls to Avoid
210
+
211
+ - Premature optimization
212
+ - Ignoring security requirements
213
+ - Insufficient testing
214
+ - Poor error handling
215
+ - Technical debt accumulation
216
+ - Monolithic approaches
217
+ - Lack of monitoring
218
+
219
+ ## Learning Path
220
+
221
+ 1. Understand core concepts
222
+ 2. Study best practices
223
+ 3. Review real-world examples
224
+ 4. Build sample projects
225
+ 5. Apply in production
226
+ 6. Mentor others
227
+ 7. Stay current
228
+
229
+ ## Advanced Topics
230
+
231
+ - Optimization strategies
232
+ - Distributed systems
233
+ - High-availability patterns
234
+ - Advanced security
235
+ - Performance at scale
236
+ - Cloud-native patterns
237
+
238
+ ## Resources
239
+
240
+ - Official documentation
241
+ - Community guides and tutorials
242
+ - Best practices and patterns
243
+ - Example implementations
244
+ - Performance optimization guides
245
+ - Security hardening resources
246
+ - Case studies and real-world examples
247
+
248
+ ## Success Criteria
249
+
250
+ ✅ Implementation follows best practices
251
+ ✅ Code is clean and maintainable
252
+ ✅ Performance is optimized
253
+ ✅ Security requirements met
254
+ ✅ Tests provide good coverage
255
+ ✅ Documentation is complete
256
+ ✅ Monitoring and alerting configured
257
+ ✅ Deployment is smooth and safe
258
+
259
+ ## When to Use This Skill
260
+
261
+ Apply this skill when:
262
+ - Building production applications
263
+ - Solving complex problems
264
+ - Optimizing performance
265
+ - Implementing security
266
+ - Making architectural decisions
267
+ - Training team members
268
+ - Reviewing code quality
269
+
270
+ ## Integration with Other Skills
271
+
272
+ This skill complements:
273
+ - Related framework/tool skills
274
+ - Architecture pattern skills
275
+ - Testing and quality skills
276
+ - DevOps and deployment skills
277
+ - Security and compliance skills
278
+
279
+ ## Version Notes
280
+
281
+ - Latest stable releases
282
+ - Feature deprecations
283
+ - Migration guides
284
+ - Breaking changes
285
+ - Upgrade paths
286
+
287
+ ## Community & Support
288
+
289
+ - Official forums and discussions
290
+ - Community Slack/Discord channels
291
+ - Stack Overflow resources
292
+ - GitHub discussions
293
+ - Blog posts and articles
294
+
295
+ ## Roadmap & Future
296
+
297
+ - Upcoming features
298
+ - Planned improvements
299
+ - Community contributions
300
+ - Performance roadmap
301
+ - Security improvements
@@ -0,0 +1,117 @@
1
+ # Accessibility Testing
2
+
3
+ Ensuring applications are usable by everyone.
4
+
5
+ ## Automated Testing
6
+
7
+ ```typescript
8
+ import { axe } from 'jest-axe';
9
+ import { render } from '@testing-library/react';
10
+
11
+ describe('Button Accessibility', () => {
12
+ it('should have no accessibility violations', async () => {
13
+ const { container } = render(<Button>Click me</Button>);
14
+ const results = await axe(container);
15
+ expect(results).toHaveNoViolations();
16
+ });
17
+ });
18
+ ```
19
+
20
+ ## Manual Testing Checklist
21
+
22
+ ```
23
+ Keyboard Navigation:
24
+ ✓ All interactive elements are keyboard accessible
25
+ ✓ Tab order is logical
26
+ ✓ Focus is visible
27
+ ✓ Can close modals with ESC
28
+
29
+ Color & Contrast:
30
+ ✓ Text contrast ratio ≥ 4.5:1 (normal text)
31
+ ✓ Text contrast ratio ≥ 3:1 (large text)
32
+ ✓ Information is not conveyed by color alone
33
+
34
+ Screen Readers:
35
+ ✓ Page has proper heading hierarchy
36
+ ✓ Images have alt text
37
+ ✓ Form labels are associated with inputs
38
+ ✓ Dynamic content is announced
39
+ ```
40
+
41
+ ## Screen Reader Testing
42
+
43
+ ```typescript
44
+ // Semantic HTML
45
+ <form>
46
+ <label htmlFor="email">Email:</label>
47
+ <input id="email" type="email" required />
48
+
49
+ <label htmlFor="password">Password:</label>
50
+ <input id="password" type="password" required />
51
+
52
+ <button type="submit">Sign In</button>
53
+ </form>
54
+
55
+ // ARIA when semantic HTML isn't enough
56
+ <button aria-label="Close menu">×</button>
57
+ <div role="alert">{errorMessage}</div>
58
+ <div aria-live="polite">{statusMessage}</div>
59
+ ```
60
+
61
+ ## WebAIM Tools
62
+
63
+ ```bash
64
+ # Install accessibility testing tools
65
+ npm install -D @testing-library/jest-dom axe-core jest-axe pa11y
66
+
67
+ # Run pa11y
68
+ pa11y http://localhost:3000
69
+ ```
70
+
71
+ ## Color Contrast Checker
72
+
73
+ ```typescript
74
+ function getContrastRatio(foreground: string, background: string): number {
75
+ const getLuminance = (color: string): number => {
76
+ const rgb = parseInt(color.slice(1), 16);
77
+ const r = (rgb >> 16) & 0xff;
78
+ const g = (rgb >> 8) & 0xff;
79
+ const b = rgb & 0xff;
80
+
81
+ const [rs, gs, bs] = [r, g, b].map(x => {
82
+ x = x / 255;
83
+ return x <= 0.03928 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
84
+ });
85
+
86
+ return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
87
+ };
88
+
89
+ const l1 = getLuminance(foreground);
90
+ const l2 = getLuminance(background);
91
+
92
+ const lighter = Math.max(l1, l2);
93
+ const darker = Math.min(l1, l2);
94
+
95
+ return (lighter + 0.05) / (darker + 0.05);
96
+ }
97
+
98
+ // Usage
99
+ const ratio = getContrastRatio('#333333', '#ffffff');
100
+ console.log(`Contrast ratio: ${ratio.toFixed(2)}:1`);
101
+ ```
102
+
103
+ ## Best Practices
104
+
105
+ ✅ **Use semantic HTML** - `<button>` not `<div onClick>`
106
+ ✅ **Alt text for images** - Describe image content
107
+ ✅ **Form labels** - Associate with inputs
108
+ ✅ **Keyboard navigation** - Navigate without mouse
109
+ ✅ **Color not only** - Don't convey info via color alone
110
+ ✅ **Focus visible** - Clear focus indicator
111
+ ✅ **Sufficient contrast** - WCAG AA standard
112
+
113
+ ## Resources
114
+
115
+ - [WebAIM](https://webaim.org/)
116
+ - [WCAG 2.1 Guidelines](https://www.w3.org/WAI/WCAG21/quickref/)
117
+ - [jest-axe](https://github.com/nickcolley/jest-axe)
@@ -0,0 +1,75 @@
1
+ # Contract Testing
2
+
3
+ Testing API contracts between services.
4
+
5
+ ## Pact Setup
6
+
7
+ ```bash
8
+ npm install -D @pact-foundation/pact
9
+ ```
10
+
11
+ ## Consumer Test
12
+
13
+ ```typescript
14
+ import { Pact, Matchers } from '@pact-foundation/pact';
15
+
16
+ describe('UserService Consumer', () => {
17
+ const provider = new Pact({
18
+ consumer: 'Frontend',
19
+ provider: 'UserAPI'
20
+ });
21
+
22
+ it('fetches user successfully', async () => {
23
+ await provider.addInteraction({
24
+ state: 'user with ID 1 exists',
25
+ uponReceiving: 'a request for user 1',
26
+ withRequest: {
27
+ method: 'GET',
28
+ path: '/api/users/1'
29
+ },
30
+ willRespondWith: {
31
+ status: 200,
32
+ body: {
33
+ id: Matchers.like(1),
34
+ email: Matchers.like('user@example.com'),
35
+ name: Matchers.like('John')
36
+ }
37
+ }
38
+ });
39
+
40
+ const user = await userService.getUser(1);
41
+
42
+ expect(user.email).toBe('user@example.com');
43
+ });
44
+
45
+ afterAll(() => provider.finalize());
46
+ });
47
+ ```
48
+
49
+ ## Provider Test
50
+
51
+ ```typescript
52
+ describe('UserAPI Provider', () => {
53
+ it('honors the consumer contract', async () => {
54
+ const opts = {
55
+ consumerVersionSelectors: [{ tag: 'main' }],
56
+ providerBaseUrl: 'http://localhost:3000'
57
+ };
58
+
59
+ await verifyPacts(opts);
60
+ });
61
+ });
62
+ ```
63
+
64
+ ## Benefits
65
+
66
+ ✅ **Prevents integration breaks** - Catch issues early
67
+ ✅ **Consumer-driven** - Tests reflect real usage
68
+ ✅ **Independent testing** - No need for other service
69
+ ✅ **Documentation** - Contract serves as spec
70
+ ✅ **Confidence** - Verify contracts between services
71
+
72
+ ## Resources
73
+
74
+ - [Pact Documentation](https://docs.pact.dev/)
75
+ - [Contract Testing](https://martinfowler.com/articles/consumerDrivenContracts.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
@@ -0,0 +1,79 @@
1
+ # Load & Stress Testing
2
+
3
+ Testing application behavior under load.
4
+
5
+ ## Apache JMeter
6
+
7
+ ```bash
8
+ # Create test plan graphically
9
+ jmeter
10
+
11
+ # Run from command line
12
+ jmeter -n -t test.jmx -l results.jtl -j logs.txt
13
+ ```
14
+
15
+ ## Locust (Python-based)
16
+
17
+ ```python
18
+ from locust import HttpUser, task, between
19
+
20
+ class APIUser(HttpUser):
21
+ wait_time = between(1, 5)
22
+
23
+ @task(3)
24
+ def get_users(self):
25
+ self.client.get("/api/users")
26
+
27
+ @task(1)
28
+ def create_user(self):
29
+ self.client.post("/api/users", {
30
+ "email": "test@example.com",
31
+ "name": "Test User"
32
+ })
33
+
34
+ # Run: locust -f locustfile.py --host=http://localhost:3000
35
+ ```
36
+
37
+ ## Artillery Load Testing
38
+
39
+ ```yaml
40
+ # load-test.yml
41
+ config:
42
+ target: "http://localhost:3000"
43
+ phases:
44
+ - duration: 60
45
+ arrivalRate: 10
46
+ name: "Warm up"
47
+ - duration: 60
48
+ arrivalRate: 20
49
+ name: "Sustained load"
50
+
51
+ scenarios:
52
+ - name: "API Load Test"
53
+ flow:
54
+ - get:
55
+ url: "/api/users"
56
+ - post:
57
+ url: "/api/users"
58
+ json:
59
+ email: "test@example.com"
60
+ name: "Test"
61
+ ```
62
+
63
+ ```bash
64
+ artillery run load-test.yml
65
+ ```
66
+
67
+ ## Best Practices
68
+
69
+ ✅ **Gradual ramp-up** - Start low, increase gradually
70
+ ✅ **Realistic scenarios** - Mimic actual usage
71
+ ✅ **Monitor metrics** - CPU, memory, database
72
+ ✅ **Identify bottlenecks** - Find breaking points
73
+ ✅ **Set thresholds** - Define acceptable limits
74
+
75
+ ## Resources
76
+
77
+ - [Apache JMeter](https://jmeter.apache.org/)
78
+ - [Locust](https://locust.io/)
79
+ - [Artillery](https://artillery.io/)
@@ -0,0 +1,92 @@
1
+ # Mutation Testing
2
+
3
+ Testing the quality of your tests.
4
+
5
+ ## Stryker Setup
6
+
7
+ ```bash
8
+ npm install -D @stryker-mutator/core @stryker-mutator/typescript-checker
9
+ npx stryker init
10
+ ```
11
+
12
+ ## Configuration
13
+
14
+ ```json
15
+ {
16
+ "stryker-config": {
17
+ "mutate": ["src/**/*.ts"],
18
+ "mutator": "typescript",
19
+ "testRunner": "vitest",
20
+ "reporters": ["html", "json", "dashboard"],
21
+ "basePath": ".",
22
+ "concurrency": 4,
23
+ "coverageAnalysis": "all"
24
+ }
25
+ }
26
+ ```
27
+
28
+ ## Running Tests
29
+
30
+ ```bash
31
+ # Run mutation testing
32
+ npm run stryker
33
+
34
+ # Generate report
35
+ npx stryker report --baseDir baseline
36
+ ```
37
+
38
+ ## Understanding Mutations
39
+
40
+ ```typescript
41
+ // Original code
42
+ function add(a: number, b: number): number {
43
+ return a + b;
44
+ }
45
+
46
+ // Possible mutations
47
+ // 1. return a - b;
48
+ // 2. return a * b;
49
+ // 3. return a / b;
50
+ // 4. return 0;
51
+
52
+ // Test quality
53
+ describe('add', () => {
54
+ it('should add numbers', () => {
55
+ expect(add(2, 3)).toBe(5);
56
+ });
57
+
58
+ // Good: kills multiple mutations
59
+ it('should handle negative numbers', () => {
60
+ expect(add(-2, 3)).toBe(1);
61
+ });
62
+
63
+ // Better: more specific assertions
64
+ it('should not use multiplication', () => {
65
+ expect(add(2, 3)).not.toBe(6);
66
+ });
67
+ });
68
+ ```
69
+
70
+ ## Mutation Score Interpretation
71
+
72
+ ```
73
+ Killed: Test caught the mutation
74
+ Survived: Test missed the mutation
75
+ Timeout: Mutation caused infinite loop
76
+ Error: Mutation caused compilation error
77
+
78
+ Score = (Killed / (Killed + Survived)) * 100
79
+ Target: > 80% mutation score
80
+ ```
81
+
82
+ ## Best Practices
83
+
84
+ ✅ **Kill mutations** - Tests should fail when code changes
85
+ ✅ **Avoid flaky tests** - Deterministic behavior
86
+ ✅ **Full coverage** - High code coverage + mutation score
87
+ ✅ **Edge cases** - Test boundaries
88
+ ✅ **Assertions** - Multiple assertions per test
89
+
90
+ ## Resources
91
+
92
+ - [Stryker Mutator](https://stryker-mutator.io/)