claude-code-templates 1.21.5 → 1.21.6

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 (498) hide show
  1. package/components/agents/ai-specialists/ai-ethics-advisor.md +195 -0
  2. package/components/agents/ai-specialists/hackathon-ai-strategist.md +46 -0
  3. package/components/agents/ai-specialists/llms-maintainer.md +94 -0
  4. package/components/agents/ai-specialists/model-evaluator.md +150 -0
  5. package/components/agents/ai-specialists/prompt-engineer.md +112 -0
  6. package/components/agents/ai-specialists/search-specialist.md +59 -0
  7. package/components/agents/ai-specialists/task-decomposition-expert.md +97 -0
  8. package/components/agents/api-graphql/graphql-architect.md +208 -0
  9. package/components/agents/api-graphql/graphql-performance-optimizer.md +357 -0
  10. package/components/agents/api-graphql/graphql-security-specialist.md +519 -0
  11. package/components/agents/blockchain-web3/smart-contract-auditor.md +32 -0
  12. package/components/agents/blockchain-web3/smart-contract-specialist.md +32 -0
  13. package/components/agents/blockchain-web3/web3-integration-specialist.md +32 -0
  14. package/components/agents/business-marketing/business-analyst.md +194 -0
  15. package/components/agents/business-marketing/content-marketer.md +36 -0
  16. package/components/agents/business-marketing/customer-support.md +36 -0
  17. package/components/agents/business-marketing/legal-advisor.md +50 -0
  18. package/components/agents/business-marketing/marketing-attribution-analyst.md +352 -0
  19. package/components/agents/business-marketing/payment-integration.md +33 -0
  20. package/components/agents/business-marketing/product-strategist.md +212 -0
  21. package/components/agents/business-marketing/risk-manager.md +42 -0
  22. package/components/agents/business-marketing/sales-automator.md +36 -0
  23. package/components/agents/data-ai/ai-engineer.md +33 -0
  24. package/components/agents/data-ai/computer-vision-engineer.md +562 -0
  25. package/components/agents/data-ai/data-engineer.md +33 -0
  26. package/components/agents/data-ai/data-scientist.md +337 -0
  27. package/components/agents/data-ai/ml-engineer.md +33 -0
  28. package/components/agents/data-ai/mlops-engineer.md +58 -0
  29. package/components/agents/data-ai/nlp-engineer.md +680 -0
  30. package/components/agents/data-ai/quant-analyst.md +33 -0
  31. package/components/agents/database/database-admin.md +33 -0
  32. package/components/agents/database/database-architect.md +590 -0
  33. package/components/agents/database/database-optimization.md +33 -0
  34. package/components/agents/database/database-optimizer.md +33 -0
  35. package/components/agents/database/nosql-specialist.md +708 -0
  36. package/components/agents/database/supabase-schema-architect.md +138 -0
  37. package/components/agents/deep-research-team/academic-researcher.md +33 -0
  38. package/components/agents/deep-research-team/agent-overview.md +235 -0
  39. package/components/agents/deep-research-team/competitive-intelligence-analyst.md +530 -0
  40. package/components/agents/deep-research-team/data-analyst.md +112 -0
  41. package/components/agents/deep-research-team/fact-checker.md +553 -0
  42. package/components/agents/deep-research-team/query-clarifier.md +73 -0
  43. package/components/agents/deep-research-team/report-generator.md +108 -0
  44. package/components/agents/deep-research-team/research-brief-generator.md +108 -0
  45. package/components/agents/deep-research-team/research-coordinator.md +94 -0
  46. package/components/agents/deep-research-team/research-orchestrator.md +119 -0
  47. package/components/agents/deep-research-team/research-synthesizer.md +109 -0
  48. package/components/agents/deep-research-team/technical-researcher.md +95 -0
  49. package/components/agents/development-team/backend-architect.md +31 -0
  50. package/components/agents/development-team/cli-ui-designer.md +405 -0
  51. package/components/agents/development-team/devops-engineer.md +886 -0
  52. package/components/agents/development-team/frontend-developer.md +32 -0
  53. package/components/agents/development-team/fullstack-developer.md +1205 -0
  54. package/components/agents/development-team/ios-developer.md +36 -0
  55. package/components/agents/development-team/mobile-developer.md +33 -0
  56. package/components/agents/development-team/ui-ux-designer.md +36 -0
  57. package/components/agents/development-tools/code-reviewer.md +30 -0
  58. package/components/agents/development-tools/command-expert.md +422 -0
  59. package/components/agents/development-tools/context-manager.md +65 -0
  60. package/components/agents/development-tools/debugger.md +31 -0
  61. package/components/agents/development-tools/dx-optimizer.md +64 -0
  62. package/components/agents/development-tools/error-detective.md +33 -0
  63. package/components/agents/development-tools/mcp-expert.md +259 -0
  64. package/components/agents/development-tools/performance-profiler.md +799 -0
  65. package/components/agents/development-tools/test-engineer.md +936 -0
  66. package/components/agents/devops-infrastructure/cloud-architect.md +33 -0
  67. package/components/agents/devops-infrastructure/deployment-engineer.md +33 -0
  68. package/components/agents/devops-infrastructure/devops-troubleshooter.md +33 -0
  69. package/components/agents/devops-infrastructure/monitoring-specialist.md +36 -0
  70. package/components/agents/devops-infrastructure/network-engineer.md +33 -0
  71. package/components/agents/devops-infrastructure/security-engineer.md +971 -0
  72. package/components/agents/devops-infrastructure/terraform-specialist.md +36 -0
  73. package/components/agents/devops-infrastructure/vercel-deployment-specialist.md +357 -0
  74. package/components/agents/documentation/api-documenter.md +33 -0
  75. package/components/agents/documentation/changelog-generator.md +37 -0
  76. package/components/agents/documentation/docusaurus-expert.md +52 -0
  77. package/components/agents/documentation/technical-writer.md +37 -0
  78. package/components/agents/expert-advisors/agent-expert.md +477 -0
  79. package/components/agents/expert-advisors/architect-review.md +50 -0
  80. package/components/agents/expert-advisors/dependency-manager.md +45 -0
  81. package/components/agents/expert-advisors/documentation-expert.md +47 -0
  82. package/components/agents/ffmpeg-clip-team/audio-mixer.md +37 -0
  83. package/components/agents/ffmpeg-clip-team/audio-quality-controller.md +100 -0
  84. package/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +60 -0
  85. package/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +46 -0
  86. package/components/agents/ffmpeg-clip-team/podcast-transcriber.md +68 -0
  87. package/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +69 -0
  88. package/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +98 -0
  89. package/components/agents/ffmpeg-clip-team/video-editor.md +37 -0
  90. package/components/agents/game-development/3d-artist.md +37 -0
  91. package/components/agents/game-development/game-designer.md +37 -0
  92. package/components/agents/game-development/unity-game-developer.md +110 -0
  93. package/components/agents/game-development/unreal-engine-developer.md +128 -0
  94. package/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +101 -0
  95. package/components/agents/mcp-dev-team/mcp-integration-engineer.md +37 -0
  96. package/components/agents/mcp-dev-team/mcp-protocol-specialist.md +37 -0
  97. package/components/agents/mcp-dev-team/mcp-registry-navigator.md +112 -0
  98. package/components/agents/mcp-dev-team/mcp-security-auditor.md +70 -0
  99. package/components/agents/mcp-dev-team/mcp-server-architect.md +74 -0
  100. package/components/agents/mcp-dev-team/mcp-testing-engineer.md +106 -0
  101. package/components/agents/modernization/architecture-modernizer.md +37 -0
  102. package/components/agents/modernization/cloud-migration-specialist.md +37 -0
  103. package/components/agents/modernization/legacy-modernizer.md +33 -0
  104. package/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +306 -0
  105. package/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +343 -0
  106. package/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +216 -0
  107. package/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +82 -0
  108. package/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +195 -0
  109. package/components/agents/obsidian-ops-team/Scripts/link_suggester.py +301 -0
  110. package/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +197 -0
  111. package/components/agents/obsidian-ops-team/Scripts/moc_generator.py +296 -0
  112. package/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +122 -0
  113. package/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +387 -0
  114. package/components/agents/obsidian-ops-team/connection-agent.md +67 -0
  115. package/components/agents/obsidian-ops-team/content-curator.md +81 -0
  116. package/components/agents/obsidian-ops-team/metadata-agent.md +51 -0
  117. package/components/agents/obsidian-ops-team/moc-agent.md +112 -0
  118. package/components/agents/obsidian-ops-team/review-agent.md +94 -0
  119. package/components/agents/obsidian-ops-team/tag-agent.md +92 -0
  120. package/components/agents/obsidian-ops-team/vault-optimizer.md +76 -0
  121. package/components/agents/ocr-extraction-team/document-structure-analyzer.md +37 -0
  122. package/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +58 -0
  123. package/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +36 -0
  124. package/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +37 -0
  125. package/components/agents/ocr-extraction-team/ocr-quality-assurance.md +62 -0
  126. package/components/agents/ocr-extraction-team/text-comparison-validator.md +60 -0
  127. package/components/agents/ocr-extraction-team/visual-analysis-ocr.md +52 -0
  128. package/components/agents/performance-testing/load-testing-specialist.md +37 -0
  129. package/components/agents/performance-testing/performance-engineer.md +33 -0
  130. package/components/agents/performance-testing/react-performance-optimization.md +65 -0
  131. package/components/agents/performance-testing/test-automator.md +33 -0
  132. package/components/agents/performance-testing/web-vitals-optimizer.md +37 -0
  133. package/components/agents/podcast-creator-team/academic-research-synthesizer.md +61 -0
  134. package/components/agents/podcast-creator-team/comprehensive-researcher.md +49 -0
  135. package/components/agents/podcast-creator-team/episode-orchestrator.md +52 -0
  136. package/components/agents/podcast-creator-team/guest-outreach-coordinator.md +37 -0
  137. package/components/agents/podcast-creator-team/market-research-analyst.md +54 -0
  138. package/components/agents/podcast-creator-team/podcast-editor.md +37 -0
  139. package/components/agents/podcast-creator-team/podcast-trend-scout.md +60 -0
  140. package/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +48 -0
  141. package/components/agents/podcast-creator-team/seo-podcast-optimizer.md +58 -0
  142. package/components/agents/podcast-creator-team/social-media-copywriter.md +57 -0
  143. package/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +62 -0
  144. package/components/agents/programming-languages/c-pro.md +36 -0
  145. package/components/agents/programming-languages/c-sharp-pro.md +40 -0
  146. package/components/agents/programming-languages/cpp-pro.md +39 -0
  147. package/components/agents/programming-languages/golang-pro.md +33 -0
  148. package/components/agents/programming-languages/javascript-pro.md +36 -0
  149. package/components/agents/programming-languages/php-pro.md +44 -0
  150. package/components/agents/programming-languages/python-pro.md +33 -0
  151. package/components/agents/programming-languages/rust-pro.md +36 -0
  152. package/components/agents/programming-languages/shell-scripting-pro.md +38 -0
  153. package/components/agents/programming-languages/sql-pro.md +36 -0
  154. package/components/agents/programming-languages/typescript-pro.md +38 -0
  155. package/components/agents/realtime/supabase-realtime-optimizer.md +193 -0
  156. package/components/agents/security/api-security-audit.md +93 -0
  157. package/components/agents/security/compliance-specialist.md +37 -0
  158. package/components/agents/security/incident-responder.md +75 -0
  159. package/components/agents/security/penetration-tester.md +37 -0
  160. package/components/agents/security/security-auditor.md +33 -0
  161. package/components/agents/web-tools/nextjs-architecture-expert.md +194 -0
  162. package/components/agents/web-tools/react-performance-optimizer.md +425 -0
  163. package/components/agents/web-tools/seo-analyzer.md +37 -0
  164. package/components/agents/web-tools/url-context-validator.md +61 -0
  165. package/components/agents/web-tools/url-link-extractor.md +59 -0
  166. package/components/agents/web-tools/web-accessibility-checker.md +37 -0
  167. package/components/commands/automation/act.md +57 -0
  168. package/components/commands/automation/ci-pipeline.md +378 -0
  169. package/components/commands/automation/husky.md +130 -0
  170. package/components/commands/automation/workflow-orchestrator.md +576 -0
  171. package/components/commands/database/supabase-backup-manager.md +37 -0
  172. package/components/commands/database/supabase-data-explorer.md +37 -0
  173. package/components/commands/database/supabase-migration-assistant.md +37 -0
  174. package/components/commands/database/supabase-performance-optimizer.md +37 -0
  175. package/components/commands/database/supabase-realtime-monitor.md +37 -0
  176. package/components/commands/database/supabase-schema-sync.md +37 -0
  177. package/components/commands/database/supabase-security-audit.md +37 -0
  178. package/components/commands/database/supabase-type-generator.md +37 -0
  179. package/components/commands/deployment/add-changelog.md +92 -0
  180. package/components/commands/deployment/blue-green-deployment.md +824 -0
  181. package/components/commands/deployment/changelog-demo-command.md +43 -0
  182. package/components/commands/deployment/ci-setup.md +323 -0
  183. package/components/commands/deployment/containerize-application.md +93 -0
  184. package/components/commands/deployment/deployment-monitoring.md +1228 -0
  185. package/components/commands/deployment/hotfix-deploy.md +283 -0
  186. package/components/commands/deployment/prepare-release.md +357 -0
  187. package/components/commands/deployment/rollback-deploy.md +145 -0
  188. package/components/commands/deployment/setup-automated-releases.md +143 -0
  189. package/components/commands/deployment/setup-kubernetes-deployment.md +93 -0
  190. package/components/commands/documentation/create-architecture-documentation.md +95 -0
  191. package/components/commands/documentation/create-onboarding-guide.md +93 -0
  192. package/components/commands/documentation/doc-api.md +242 -0
  193. package/components/commands/documentation/docs-maintenance.md +119 -0
  194. package/components/commands/documentation/generate-api-documentation.md +97 -0
  195. package/components/commands/documentation/interactive-documentation.md +133 -0
  196. package/components/commands/documentation/load-llms-txt.md +39 -0
  197. package/components/commands/documentation/migration-guide.md +250 -0
  198. package/components/commands/documentation/troubleshooting-guide.md +370 -0
  199. package/components/commands/documentation/update-docs.md +107 -0
  200. package/components/commands/game-development/game-analytics-integration.md +128 -0
  201. package/components/commands/game-development/game-asset-pipeline.md +108 -0
  202. package/components/commands/game-development/game-performance-profiler.md +78 -0
  203. package/components/commands/game-development/game-testing-framework.md +112 -0
  204. package/components/commands/game-development/unity-project-setup.md +190 -0
  205. package/components/commands/git-workflow/branch-cleanup.md +181 -0
  206. package/components/commands/git-workflow/commit.md +167 -0
  207. package/components/commands/git-workflow/create-pr.md +19 -0
  208. package/components/commands/git-workflow/create-pull-request.md +126 -0
  209. package/components/commands/git-workflow/create-worktrees.md +174 -0
  210. package/components/commands/git-workflow/fix-github-issue.md +13 -0
  211. package/components/commands/git-workflow/git-bisect-helper.md +261 -0
  212. package/components/commands/git-workflow/pr-review.md +76 -0
  213. package/components/commands/git-workflow/update-branch-name.md +9 -0
  214. package/components/commands/nextjs-vercel/nextjs-api-tester.md +480 -0
  215. package/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +406 -0
  216. package/components/commands/nextjs-vercel/nextjs-component-generator.md +489 -0
  217. package/components/commands/nextjs-vercel/nextjs-middleware-creator.md +712 -0
  218. package/components/commands/nextjs-vercel/nextjs-migration-helper.md +778 -0
  219. package/components/commands/nextjs-vercel/nextjs-performance-audit.md +653 -0
  220. package/components/commands/nextjs-vercel/nextjs-scaffold.md +237 -0
  221. package/components/commands/nextjs-vercel/vercel-deploy-optimize.md +341 -0
  222. package/components/commands/nextjs-vercel/vercel-edge-function.md +810 -0
  223. package/components/commands/nextjs-vercel/vercel-env-sync.md +666 -0
  224. package/components/commands/orchestration/archive.md +414 -0
  225. package/components/commands/orchestration/commit.md +305 -0
  226. package/components/commands/orchestration/find.md +272 -0
  227. package/components/commands/orchestration/log.md +355 -0
  228. package/components/commands/orchestration/move.md +220 -0
  229. package/components/commands/orchestration/optimize.md +375 -0
  230. package/components/commands/orchestration/remove.md +301 -0
  231. package/components/commands/orchestration/report.md +292 -0
  232. package/components/commands/orchestration/resume.md +256 -0
  233. package/components/commands/orchestration/start.md +169 -0
  234. package/components/commands/orchestration/status.md +219 -0
  235. package/components/commands/orchestration/sync.md +294 -0
  236. package/components/commands/performance/add-performance-monitoring.md +84 -0
  237. package/components/commands/performance/implement-caching-strategy.md +84 -0
  238. package/components/commands/performance/optimize-api-performance.md +119 -0
  239. package/components/commands/performance/optimize-build.md +139 -0
  240. package/components/commands/performance/optimize-bundle-size.md +84 -0
  241. package/components/commands/performance/optimize-database-performance.md +84 -0
  242. package/components/commands/performance/optimize-memory-usage.md +91 -0
  243. package/components/commands/performance/performance-audit.md +89 -0
  244. package/components/commands/performance/setup-cdn-optimization.md +84 -0
  245. package/components/commands/performance/system-behavior-simulator.md +415 -0
  246. package/components/commands/project-management/add-package.md +90 -0
  247. package/components/commands/project-management/add-to-changelog.md +37 -0
  248. package/components/commands/project-management/create-feature.md +130 -0
  249. package/components/commands/project-management/create-jtbd.md +37 -0
  250. package/components/commands/project-management/create-prd.md +36 -0
  251. package/components/commands/project-management/create-prp.md +37 -0
  252. package/components/commands/project-management/init-project.md +80 -0
  253. package/components/commands/project-management/milestone-tracker.md +44 -0
  254. package/components/commands/project-management/pac-configure.md +32 -0
  255. package/components/commands/project-management/pac-create-epic.md +41 -0
  256. package/components/commands/project-management/pac-create-ticket.md +42 -0
  257. package/components/commands/project-management/pac-update-status.md +39 -0
  258. package/components/commands/project-management/pac-validate.md +35 -0
  259. package/components/commands/project-management/project-health-check.md +58 -0
  260. package/components/commands/project-management/project-timeline-simulator.md +37 -0
  261. package/components/commands/project-management/project-to-linear.md +38 -0
  262. package/components/commands/project-management/release.md +31 -0
  263. package/components/commands/project-management/todo.md +62 -0
  264. package/components/commands/security/add-authentication-system.md +34 -0
  265. package/components/commands/security/dependency-audit.md +32 -0
  266. package/components/commands/security/penetration-test.md +40 -0
  267. package/components/commands/security/secrets-scanner.md +39 -0
  268. package/components/commands/security/security-audit.md +82 -0
  269. package/components/commands/security/security-hardening.md +33 -0
  270. package/components/commands/setup/create-database-migrations.md +35 -0
  271. package/components/commands/setup/design-database-schema.md +37 -0
  272. package/components/commands/setup/design-rest-api.md +37 -0
  273. package/components/commands/setup/implement-graphql-api.md +37 -0
  274. package/components/commands/setup/migrate-to-typescript.md +37 -0
  275. package/components/commands/setup/setup-ci-cd-pipeline.md +37 -0
  276. package/components/commands/setup/setup-development-environment.md +37 -0
  277. package/components/commands/setup/setup-docker-containers.md +37 -0
  278. package/components/commands/setup/setup-formatting.md +37 -0
  279. package/components/commands/setup/setup-linting.md +37 -0
  280. package/components/commands/setup/setup-monitoring-observability.md +37 -0
  281. package/components/commands/setup/setup-monorepo.md +37 -0
  282. package/components/commands/setup/setup-rate-limiting.md +37 -0
  283. package/components/commands/setup/update-dependencies.md +35 -0
  284. package/components/commands/simulation/business-scenario-explorer.md +37 -0
  285. package/components/commands/simulation/constraint-modeler.md +37 -0
  286. package/components/commands/simulation/decision-tree-explorer.md +37 -0
  287. package/components/commands/simulation/digital-twin-creator.md +37 -0
  288. package/components/commands/simulation/future-scenario-generator.md +37 -0
  289. package/components/commands/simulation/market-response-modeler.md +37 -0
  290. package/components/commands/simulation/monte-carlo-simulator.md +37 -0
  291. package/components/commands/simulation/simulation-calibrator.md +37 -0
  292. package/components/commands/simulation/system-dynamics-modeler.md +37 -0
  293. package/components/commands/simulation/timeline-compressor.md +37 -0
  294. package/components/commands/svelte/svelte:a11y.md +105 -0
  295. package/components/commands/svelte/svelte:component.md +81 -0
  296. package/components/commands/svelte/svelte:debug.md +48 -0
  297. package/components/commands/svelte/svelte:migrate.md +79 -0
  298. package/components/commands/svelte/svelte:optimize.md +99 -0
  299. package/components/commands/svelte/svelte:scaffold.md +89 -0
  300. package/components/commands/svelte/svelte:storybook-migrate.md +204 -0
  301. package/components/commands/svelte/svelte:storybook-mock.md +213 -0
  302. package/components/commands/svelte/svelte:storybook-setup.md +113 -0
  303. package/components/commands/svelte/svelte:storybook-story.md +145 -0
  304. package/components/commands/svelte/svelte:storybook-troubleshoot.md +191 -0
  305. package/components/commands/svelte/svelte:storybook.md +48 -0
  306. package/components/commands/svelte/svelte:test-coverage.md +77 -0
  307. package/components/commands/svelte/svelte:test-fix.md +74 -0
  308. package/components/commands/svelte/svelte:test-setup.md +85 -0
  309. package/components/commands/svelte/svelte:test.md +60 -0
  310. package/components/commands/sync/bidirectional-sync.md +37 -0
  311. package/components/commands/sync/bulk-import-issues.md +37 -0
  312. package/components/commands/sync/cross-reference-manager.md +37 -0
  313. package/components/commands/sync/issue-to-linear-task.md +37 -0
  314. package/components/commands/sync/linear-task-to-issue.md +37 -0
  315. package/components/commands/sync/sync-automation-setup.md +37 -0
  316. package/components/commands/sync/sync-conflict-resolver.md +37 -0
  317. package/components/commands/sync/sync-health-monitor.md +37 -0
  318. package/components/commands/sync/sync-issues-to-linear.md +37 -0
  319. package/components/commands/sync/sync-linear-to-issues.md +37 -0
  320. package/components/commands/sync/sync-migration-assistant.md +37 -0
  321. package/components/commands/sync/sync-pr-to-task.md +37 -0
  322. package/components/commands/sync/sync-status.md +391 -0
  323. package/components/commands/sync/task-from-pr.md +37 -0
  324. package/components/commands/team/architecture-review.md +37 -0
  325. package/components/commands/team/decision-quality-analyzer.md +37 -0
  326. package/components/commands/team/dependency-mapper.md +37 -0
  327. package/components/commands/team/estimate-assistant.md +37 -0
  328. package/components/commands/team/issue-triage.md +37 -0
  329. package/components/commands/team/memory-spring-cleaning.md +37 -0
  330. package/components/commands/team/migration-assistant.md +37 -0
  331. package/components/commands/team/retrospective-analyzer.md +37 -0
  332. package/components/commands/team/session-learning-capture.md +37 -0
  333. package/components/commands/team/sprint-planning.md +189 -0
  334. package/components/commands/team/standup-report.md +37 -0
  335. package/components/commands/team/team-knowledge-mapper.md +37 -0
  336. package/components/commands/team/team-velocity-tracker.md +37 -0
  337. package/components/commands/team/team-workload-balancer.md +37 -0
  338. package/components/commands/testing/add-mutation-testing.md +37 -0
  339. package/components/commands/testing/add-property-based-testing.md +37 -0
  340. package/components/commands/testing/e2e-setup.md +37 -0
  341. package/components/commands/testing/generate-test-cases.md +37 -0
  342. package/components/commands/testing/generate-tests.md +82 -0
  343. package/components/commands/testing/setup-comprehensive-testing.md +37 -0
  344. package/components/commands/testing/setup-load-testing.md +37 -0
  345. package/components/commands/testing/setup-visual-testing.md +37 -0
  346. package/components/commands/testing/test-automation-orchestrator.md +37 -0
  347. package/components/commands/testing/test-changelog-automation.md +37 -0
  348. package/components/commands/testing/test-coverage.md +37 -0
  349. package/components/commands/testing/test-quality-analyzer.md +37 -0
  350. package/components/commands/testing/testing_plan_integration.md +37 -0
  351. package/components/commands/testing/write-tests.md +37 -0
  352. package/components/commands/utilities/all-tools.md +31 -0
  353. package/components/commands/utilities/architecture-scenario-explorer.md +375 -0
  354. package/components/commands/utilities/check-file.md +53 -0
  355. package/components/commands/utilities/clean-branches.md +243 -0
  356. package/components/commands/utilities/clean.md +1 -0
  357. package/components/commands/utilities/code-permutation-tester.md +341 -0
  358. package/components/commands/utilities/code-review.md +70 -0
  359. package/components/commands/utilities/code-to-task.md +583 -0
  360. package/components/commands/utilities/context-prime.md +1 -0
  361. package/components/commands/utilities/debug-error.md +121 -0
  362. package/components/commands/utilities/directory-deep-dive.md +34 -0
  363. package/components/commands/utilities/explain-code.md +194 -0
  364. package/components/commands/utilities/fix-issue.md +85 -0
  365. package/components/commands/utilities/generate-linear-worklog.md +113 -0
  366. package/components/commands/utilities/git-status.md +39 -0
  367. package/components/commands/utilities/initref.md +3 -0
  368. package/components/commands/utilities/prime.md +41 -0
  369. package/components/commands/utilities/refactor-code.md +116 -0
  370. package/components/commands/utilities/ultra-think.md +153 -0
  371. package/components/hooks/HOOK_PATTERNS_COMPRESSED.json +1 -0
  372. package/components/hooks/automation/build-on-change.json +16 -0
  373. package/components/hooks/automation/dependency-checker.json +16 -0
  374. package/components/hooks/automation/deployment-health-monitor.json +29 -0
  375. package/components/hooks/automation/discord-detailed-notifications.json +26 -0
  376. package/components/hooks/automation/discord-error-notifications.json +37 -0
  377. package/components/hooks/automation/discord-notifications.json +25 -0
  378. package/components/hooks/automation/simple-notifications.json +16 -0
  379. package/components/hooks/automation/slack-detailed-notifications.json +26 -0
  380. package/components/hooks/automation/slack-error-notifications.json +37 -0
  381. package/components/hooks/automation/slack-notifications.json +25 -0
  382. package/components/hooks/automation/telegram-detailed-notifications.json +26 -0
  383. package/components/hooks/automation/telegram-error-notifications.json +37 -0
  384. package/components/hooks/automation/telegram-notifications.json +25 -0
  385. package/components/hooks/automation/vercel-auto-deploy.json +17 -0
  386. package/components/hooks/automation/vercel-environment-sync.json +29 -0
  387. package/components/hooks/development-tools/change-tracker.json +25 -0
  388. package/components/hooks/development-tools/command-logger.json +16 -0
  389. package/components/hooks/development-tools/file-backup.json +16 -0
  390. package/components/hooks/development-tools/lint-on-save.json +16 -0
  391. package/components/hooks/development-tools/nextjs-code-quality-enforcer.json +17 -0
  392. package/components/hooks/development-tools/smart-formatting.json +16 -0
  393. package/components/hooks/git-workflow/auto-git-add.json +16 -0
  394. package/components/hooks/git-workflow/smart-commit.json +25 -0
  395. package/components/hooks/performance/performance-budget-guard.json +27 -0
  396. package/components/hooks/performance/performance-monitor.json +27 -0
  397. package/components/hooks/post-tool/format-javascript-files.json +16 -0
  398. package/components/hooks/post-tool/format-python-files.json +16 -0
  399. package/components/hooks/post-tool/git-add-changes.json +25 -0
  400. package/components/hooks/post-tool/run-tests-after-changes.json +16 -0
  401. package/components/hooks/pre-tool/backup-before-edit.json +16 -0
  402. package/components/hooks/pre-tool/notify-before-bash.json +16 -0
  403. package/components/hooks/security/file-protection.json +16 -0
  404. package/components/hooks/security/security-scanner.json +16 -0
  405. package/components/hooks/testing/test-runner.json +16 -0
  406. package/components/mcps/browser_automation/browser-use-mcp-server.json +20 -0
  407. package/components/mcps/browser_automation/browsermcp.json +9 -0
  408. package/components/mcps/browser_automation/mcp-server-browserbase.json +14 -0
  409. package/components/mcps/browser_automation/mcp-server-playwright.json +9 -0
  410. package/components/mcps/browser_automation/playwright-mcp-server.json +9 -0
  411. package/components/mcps/browser_automation/playwright-mcp.json +11 -0
  412. package/components/mcps/database/mysql-integration.json +12 -0
  413. package/components/mcps/database/postgresql-integration.json +12 -0
  414. package/components/mcps/database/supabase.json +17 -0
  415. package/components/mcps/deepgraph/deepgraph-nextjs.json +13 -0
  416. package/components/mcps/deepgraph/deepgraph-react.json +13 -0
  417. package/components/mcps/deepgraph/deepgraph-typescript.json +13 -0
  418. package/components/mcps/deepgraph/deepgraph-vue.json +13 -0
  419. package/components/mcps/devtools/circleci.json +13 -0
  420. package/components/mcps/devtools/context7.json +9 -0
  421. package/components/mcps/devtools/firefly-mcp.json +13 -0
  422. package/components/mcps/devtools/ios-simulator-mcp.json +9 -0
  423. package/components/mcps/devtools/just-mcp.json +9 -0
  424. package/components/mcps/devtools/leetcode.json +8 -0
  425. package/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +9 -0
  426. package/components/mcps/devtools/mcp-server-trello.json +12 -0
  427. package/components/mcps/filesystem/filesystem-access.json +13 -0
  428. package/components/mcps/integration/github-integration.json +12 -0
  429. package/components/mcps/integration/memory-integration.json +9 -0
  430. package/components/mcps/marketing/facebook-ads-mcp-server.json +13 -0
  431. package/components/mcps/marketing/google-ads-mcp-server.json +11 -0
  432. package/components/mcps/web/web-fetch.json +9 -0
  433. package/components/sandbox/README.md +169 -0
  434. package/components/sandbox/e2b/.env.example +10 -0
  435. package/components/sandbox/e2b/SANDBOX_DEBUGGING.md +203 -0
  436. package/components/sandbox/e2b/claude-code-sandbox.md +110 -0
  437. package/components/sandbox/e2b/e2b-launcher.py +426 -0
  438. package/components/sandbox/e2b/e2b-monitor.py +229 -0
  439. package/components/sandbox/e2b/requirements.txt +1 -0
  440. package/components/settings/api/bedrock-configuration.json +7 -0
  441. package/components/settings/api/corporate-proxy.json +7 -0
  442. package/components/settings/api/custom-headers.json +6 -0
  443. package/components/settings/api/vertex-configuration.json +8 -0
  444. package/components/settings/authentication/api-key-helper.json +7 -0
  445. package/components/settings/authentication/force-claudeai-login.json +4 -0
  446. package/components/settings/authentication/force-console-login.json +4 -0
  447. package/components/settings/cleanup/retention-7-days.json +4 -0
  448. package/components/settings/cleanup/retention-90-days.json +4 -0
  449. package/components/settings/environment/bash-timeouts.json +8 -0
  450. package/components/settings/environment/development-utils.json +8 -0
  451. package/components/settings/environment/performance-optimization.json +8 -0
  452. package/components/settings/environment/privacy-focused.json +10 -0
  453. package/components/settings/global/aws-credentials.json +5 -0
  454. package/components/settings/global/custom-model.json +7 -0
  455. package/components/settings/global/git-commit-settings.json +4 -0
  456. package/components/settings/mcp/disable-risky-servers.json +8 -0
  457. package/components/settings/mcp/enable-all-project-servers.json +4 -0
  458. package/components/settings/mcp/enable-specific-servers.json +8 -0
  459. package/components/settings/mcp/mcp-timeouts.json +8 -0
  460. package/components/settings/model/use-haiku.json +4 -0
  461. package/components/settings/model/use-sonnet.json +4 -0
  462. package/components/settings/permissions/additional-directories.json +11 -0
  463. package/components/settings/permissions/allow-git-operations.json +14 -0
  464. package/components/settings/permissions/allow-npm-commands.json +11 -0
  465. package/components/settings/permissions/deny-sensitive-files.json +11 -0
  466. package/components/settings/permissions/development-mode.json +31 -0
  467. package/components/settings/permissions/read-only-mode.json +18 -0
  468. package/components/settings/statusline/asset-pipeline-controller-statusline.json +7 -0
  469. package/components/settings/statusline/bug-circus-statusline.json +7 -0
  470. package/components/settings/statusline/code-casino-statusline.json +7 -0
  471. package/components/settings/statusline/code-spaceship-statusline.json +7 -0
  472. package/components/settings/statusline/colorful-statusline.json +7 -0
  473. package/components/settings/statusline/command-statusline.json +8 -0
  474. package/components/settings/statusline/context-monitor.json +7 -0
  475. package/components/settings/statusline/context-monitor.py +236 -0
  476. package/components/settings/statusline/data-ocean-statusline.json +7 -0
  477. package/components/settings/statusline/emotion-theater-statusline.json +7 -0
  478. package/components/settings/statusline/game-performance-monitor-statusline.json +7 -0
  479. package/components/settings/statusline/git-branch-statusline.json +7 -0
  480. package/components/settings/statusline/minimal-statusline.json +7 -0
  481. package/components/settings/statusline/multiplatform-build-status-statusline.json +7 -0
  482. package/components/settings/statusline/productivity-rainbow-statusline.json +7 -0
  483. package/components/settings/statusline/programmer-tamagotchi-statusline.json +7 -0
  484. package/components/settings/statusline/programming-fitness-tracker-statusline.json +7 -0
  485. package/components/settings/statusline/project-info-statusline.json +7 -0
  486. package/components/settings/statusline/rpg-status-bar-statusline.json +7 -0
  487. package/components/settings/statusline/time-statusline.json +7 -0
  488. package/components/settings/statusline/unity-project-dashboard-statusline.json +7 -0
  489. package/components/settings/statusline/vercel-deployment-monitor.json +7 -0
  490. package/components/settings/statusline/vercel-error-alert-system.json +7 -0
  491. package/components/settings/statusline/vercel-multi-env-status.json +7 -0
  492. package/components/settings/statusline/virtual-code-garden-statusline.json +7 -0
  493. package/components/settings/statusline/zero-config-deployment-monitor.json +7 -0
  494. package/components/settings/telemetry/custom-telemetry.json +7 -0
  495. package/components/settings/telemetry/disable-telemetry.json +6 -0
  496. package/components/settings/telemetry/enable-telemetry.json +6 -0
  497. package/package.json +2 -1
  498. package/src/index.js +59 -24
@@ -0,0 +1,936 @@
1
+ ---
2
+ name: test-engineer
3
+ description: Test automation and quality assurance specialist. Use PROACTIVELY for test strategy, test automation, coverage analysis, CI/CD testing, and quality engineering practices.
4
+ tools: Read, Write, Edit, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ You are a test engineer specializing in comprehensive testing strategies, test automation, and quality assurance across all application layers.
9
+
10
+ ## Core Testing Framework
11
+
12
+ ### Testing Strategy
13
+ - **Test Pyramid**: Unit tests (70%), Integration tests (20%), E2E tests (10%)
14
+ - **Testing Types**: Functional, non-functional, regression, smoke, performance
15
+ - **Quality Gates**: Coverage thresholds, performance benchmarks, security checks
16
+ - **Risk Assessment**: Critical path identification, failure impact analysis
17
+ - **Test Data Management**: Test data generation, environment management
18
+
19
+ ### Automation Architecture
20
+ - **Unit Testing**: Jest, Mocha, Vitest, pytest, JUnit
21
+ - **Integration Testing**: API testing, database testing, service integration
22
+ - **E2E Testing**: Playwright, Cypress, Selenium, Puppeteer
23
+ - **Visual Testing**: Screenshot comparison, UI regression testing
24
+ - **Performance Testing**: Load testing, stress testing, benchmark testing
25
+
26
+ ## Technical Implementation
27
+
28
+ ### 1. Comprehensive Test Suite Architecture
29
+ ```javascript
30
+ // test-framework/test-suite-manager.js
31
+ const fs = require('fs');
32
+ const path = require('path');
33
+ const { execSync } = require('child_process');
34
+
35
+ class TestSuiteManager {
36
+ constructor(config = {}) {
37
+ this.config = {
38
+ testDirectory: './tests',
39
+ coverageThreshold: {
40
+ global: {
41
+ branches: 80,
42
+ functions: 80,
43
+ lines: 80,
44
+ statements: 80
45
+ }
46
+ },
47
+ testPatterns: {
48
+ unit: '**/*.test.js',
49
+ integration: '**/*.integration.test.js',
50
+ e2e: '**/*.e2e.test.js'
51
+ },
52
+ ...config
53
+ };
54
+
55
+ this.testResults = {
56
+ unit: null,
57
+ integration: null,
58
+ e2e: null,
59
+ coverage: null
60
+ };
61
+ }
62
+
63
+ async runFullTestSuite() {
64
+ console.log('🧪 Starting comprehensive test suite...');
65
+
66
+ try {
67
+ // Run tests in sequence for better resource management
68
+ await this.runUnitTests();
69
+ await this.runIntegrationTests();
70
+ await this.runE2ETests();
71
+ await this.generateCoverageReport();
72
+
73
+ const summary = this.generateTestSummary();
74
+ await this.publishTestResults(summary);
75
+
76
+ return summary;
77
+ } catch (error) {
78
+ console.error('❌ Test suite failed:', error.message);
79
+ throw error;
80
+ }
81
+ }
82
+
83
+ async runUnitTests() {
84
+ console.log('🔬 Running unit tests...');
85
+
86
+ const jestConfig = {
87
+ testMatch: [this.config.testPatterns.unit],
88
+ collectCoverage: true,
89
+ collectCoverageFrom: [
90
+ 'src/**/*.{js,ts}',
91
+ '!src/**/*.test.{js,ts}',
92
+ '!src/**/*.spec.{js,ts}',
93
+ '!src/test/**/*'
94
+ ],
95
+ coverageReporters: ['text', 'lcov', 'html', 'json'],
96
+ coverageThreshold: this.config.coverageThreshold,
97
+ testEnvironment: 'jsdom',
98
+ setupFilesAfterEnv: ['<rootDir>/src/test/setup.js'],
99
+ moduleNameMapping: {
100
+ '^@/(.*)$': '<rootDir>/src/$1'
101
+ }
102
+ };
103
+
104
+ try {
105
+ const command = `npx jest --config='${JSON.stringify(jestConfig)}' --passWithNoTests`;
106
+ const result = execSync(command, { encoding: 'utf8', stdio: 'pipe' });
107
+
108
+ this.testResults.unit = {
109
+ status: 'passed',
110
+ output: result,
111
+ timestamp: new Date().toISOString()
112
+ };
113
+
114
+ console.log('✅ Unit tests passed');
115
+ } catch (error) {
116
+ this.testResults.unit = {
117
+ status: 'failed',
118
+ output: error.stdout || error.message,
119
+ error: error.stderr || error.message,
120
+ timestamp: new Date().toISOString()
121
+ };
122
+
123
+ throw new Error(`Unit tests failed: ${error.message}`);
124
+ }
125
+ }
126
+
127
+ async runIntegrationTests() {
128
+ console.log('🔗 Running integration tests...');
129
+
130
+ // Start test database and services
131
+ await this.setupTestEnvironment();
132
+
133
+ try {
134
+ const command = `npx jest --testMatch="${this.config.testPatterns.integration}" --runInBand`;
135
+ const result = execSync(command, { encoding: 'utf8', stdio: 'pipe' });
136
+
137
+ this.testResults.integration = {
138
+ status: 'passed',
139
+ output: result,
140
+ timestamp: new Date().toISOString()
141
+ };
142
+
143
+ console.log('✅ Integration tests passed');
144
+ } catch (error) {
145
+ this.testResults.integration = {
146
+ status: 'failed',
147
+ output: error.stdout || error.message,
148
+ error: error.stderr || error.message,
149
+ timestamp: new Date().toISOString()
150
+ };
151
+
152
+ throw new Error(`Integration tests failed: ${error.message}`);
153
+ } finally {
154
+ await this.teardownTestEnvironment();
155
+ }
156
+ }
157
+
158
+ async runE2ETests() {
159
+ console.log('🌐 Running E2E tests...');
160
+
161
+ try {
162
+ // Use Playwright for E2E testing
163
+ const command = `npx playwright test --config=playwright.config.js`;
164
+ const result = execSync(command, { encoding: 'utf8', stdio: 'pipe' });
165
+
166
+ this.testResults.e2e = {
167
+ status: 'passed',
168
+ output: result,
169
+ timestamp: new Date().toISOString()
170
+ };
171
+
172
+ console.log('✅ E2E tests passed');
173
+ } catch (error) {
174
+ this.testResults.e2e = {
175
+ status: 'failed',
176
+ output: error.stdout || error.message,
177
+ error: error.stderr || error.message,
178
+ timestamp: new Date().toISOString()
179
+ };
180
+
181
+ throw new Error(`E2E tests failed: ${error.message}`);
182
+ }
183
+ }
184
+
185
+ async setupTestEnvironment() {
186
+ console.log('⚙️ Setting up test environment...');
187
+
188
+ // Start test database
189
+ try {
190
+ execSync('docker-compose -f docker-compose.test.yml up -d postgres redis', { stdio: 'pipe' });
191
+
192
+ // Wait for services to be ready
193
+ await this.waitForServices();
194
+
195
+ // Run database migrations
196
+ execSync('npm run db:migrate:test', { stdio: 'pipe' });
197
+
198
+ // Seed test data
199
+ execSync('npm run db:seed:test', { stdio: 'pipe' });
200
+
201
+ } catch (error) {
202
+ throw new Error(`Failed to setup test environment: ${error.message}`);
203
+ }
204
+ }
205
+
206
+ async teardownTestEnvironment() {
207
+ console.log('🧹 Cleaning up test environment...');
208
+
209
+ try {
210
+ execSync('docker-compose -f docker-compose.test.yml down', { stdio: 'pipe' });
211
+ } catch (error) {
212
+ console.warn('Warning: Failed to cleanup test environment:', error.message);
213
+ }
214
+ }
215
+
216
+ async waitForServices(timeout = 30000) {
217
+ const startTime = Date.now();
218
+
219
+ while (Date.now() - startTime < timeout) {
220
+ try {
221
+ execSync('pg_isready -h localhost -p 5433', { stdio: 'pipe' });
222
+ execSync('redis-cli -p 6380 ping', { stdio: 'pipe' });
223
+ return; // Services are ready
224
+ } catch (error) {
225
+ await new Promise(resolve => setTimeout(resolve, 1000));
226
+ }
227
+ }
228
+
229
+ throw new Error('Test services failed to start within timeout');
230
+ }
231
+
232
+ generateTestSummary() {
233
+ const summary = {
234
+ timestamp: new Date().toISOString(),
235
+ overall: {
236
+ status: this.determineOverallStatus(),
237
+ duration: this.calculateTotalDuration(),
238
+ testsRun: this.countTotalTests()
239
+ },
240
+ results: this.testResults,
241
+ coverage: this.parseCoverageReport(),
242
+ recommendations: this.generateRecommendations()
243
+ };
244
+
245
+ console.log('\n📊 Test Summary:');
246
+ console.log(`Overall Status: ${summary.overall.status}`);
247
+ console.log(`Total Duration: ${summary.overall.duration}ms`);
248
+ console.log(`Tests Run: ${summary.overall.testsRun}`);
249
+
250
+ return summary;
251
+ }
252
+
253
+ determineOverallStatus() {
254
+ const results = Object.values(this.testResults);
255
+ const failures = results.filter(result => result && result.status === 'failed');
256
+ return failures.length === 0 ? 'PASSED' : 'FAILED';
257
+ }
258
+
259
+ generateRecommendations() {
260
+ const recommendations = [];
261
+
262
+ // Coverage recommendations
263
+ const coverage = this.parseCoverageReport();
264
+ if (coverage && coverage.total.lines.pct < 80) {
265
+ recommendations.push({
266
+ category: 'coverage',
267
+ severity: 'medium',
268
+ issue: 'Low test coverage',
269
+ recommendation: `Increase line coverage from ${coverage.total.lines.pct}% to at least 80%`
270
+ });
271
+ }
272
+
273
+ // Failed test recommendations
274
+ Object.entries(this.testResults).forEach(([type, result]) => {
275
+ if (result && result.status === 'failed') {
276
+ recommendations.push({
277
+ category: 'test-failure',
278
+ severity: 'high',
279
+ issue: `${type} tests failing`,
280
+ recommendation: `Review and fix failing ${type} tests before deployment`
281
+ });
282
+ }
283
+ });
284
+
285
+ return recommendations;
286
+ }
287
+
288
+ parseCoverageReport() {
289
+ try {
290
+ const coveragePath = path.join(process.cwd(), 'coverage/coverage-summary.json');
291
+ if (fs.existsSync(coveragePath)) {
292
+ return JSON.parse(fs.readFileSync(coveragePath, 'utf8'));
293
+ }
294
+ } catch (error) {
295
+ console.warn('Could not parse coverage report:', error.message);
296
+ }
297
+ return null;
298
+ }
299
+ }
300
+
301
+ module.exports = { TestSuiteManager };
302
+ ```
303
+
304
+ ### 2. Advanced Test Patterns and Utilities
305
+ ```javascript
306
+ // test-framework/test-patterns.js
307
+
308
+ class TestPatterns {
309
+ // Page Object Model for E2E tests
310
+ static createPageObject(page, selectors) {
311
+ const pageObject = {};
312
+
313
+ Object.entries(selectors).forEach(([name, selector]) => {
314
+ pageObject[name] = {
315
+ element: () => page.locator(selector),
316
+ click: () => page.click(selector),
317
+ fill: (text) => page.fill(selector, text),
318
+ getText: () => page.textContent(selector),
319
+ isVisible: () => page.isVisible(selector),
320
+ waitFor: (options) => page.waitForSelector(selector, options)
321
+ };
322
+ });
323
+
324
+ return pageObject;
325
+ }
326
+
327
+ // Test data factory
328
+ static createTestDataFactory(schema) {
329
+ return {
330
+ build: (overrides = {}) => {
331
+ const data = {};
332
+
333
+ Object.entries(schema).forEach(([key, generator]) => {
334
+ if (overrides[key] !== undefined) {
335
+ data[key] = overrides[key];
336
+ } else if (typeof generator === 'function') {
337
+ data[key] = generator();
338
+ } else {
339
+ data[key] = generator;
340
+ }
341
+ });
342
+
343
+ return data;
344
+ },
345
+
346
+ buildList: (count, overrides = {}) => {
347
+ return Array.from({ length: count }, (_, index) =>
348
+ this.build({ ...overrides, id: index + 1 })
349
+ );
350
+ }
351
+ };
352
+ }
353
+
354
+ // Mock service factory
355
+ static createMockService(serviceName, methods) {
356
+ const mock = {};
357
+
358
+ methods.forEach(method => {
359
+ mock[method] = jest.fn();
360
+ });
361
+
362
+ mock.reset = () => {
363
+ methods.forEach(method => {
364
+ mock[method].mockReset();
365
+ });
366
+ };
367
+
368
+ mock.restore = () => {
369
+ methods.forEach(method => {
370
+ mock[method].mockRestore();
371
+ });
372
+ };
373
+
374
+ return mock;
375
+ }
376
+
377
+ // Database test helpers
378
+ static createDatabaseTestHelpers(db) {
379
+ return {
380
+ async cleanTables(tableNames) {
381
+ for (const tableName of tableNames) {
382
+ await db.query(`TRUNCATE TABLE ${tableName} RESTART IDENTITY CASCADE`);
383
+ }
384
+ },
385
+
386
+ async seedTable(tableName, data) {
387
+ if (Array.isArray(data)) {
388
+ for (const row of data) {
389
+ await db.query(`INSERT INTO ${tableName} (${Object.keys(row).join(', ')}) VALUES (${Object.keys(row).map((_, i) => `$${i + 1}`).join(', ')})`, Object.values(row));
390
+ }
391
+ } else {
392
+ await db.query(`INSERT INTO ${tableName} (${Object.keys(data).join(', ')}) VALUES (${Object.keys(data).map((_, i) => `$${i + 1}`).join(', ')})`, Object.values(data));
393
+ }
394
+ },
395
+
396
+ async getLastInserted(tableName) {
397
+ const result = await db.query(`SELECT * FROM ${tableName} ORDER BY id DESC LIMIT 1`);
398
+ return result.rows[0];
399
+ }
400
+ };
401
+ }
402
+
403
+ // API test helpers
404
+ static createAPITestHelpers(baseURL) {
405
+ const axios = require('axios');
406
+
407
+ const client = axios.create({
408
+ baseURL,
409
+ timeout: 10000,
410
+ validateStatus: () => true // Don't throw on HTTP errors
411
+ });
412
+
413
+ return {
414
+ async get(endpoint, options = {}) {
415
+ return await client.get(endpoint, options);
416
+ },
417
+
418
+ async post(endpoint, data, options = {}) {
419
+ return await client.post(endpoint, data, options);
420
+ },
421
+
422
+ async put(endpoint, data, options = {}) {
423
+ return await client.put(endpoint, data, options);
424
+ },
425
+
426
+ async delete(endpoint, options = {}) {
427
+ return await client.delete(endpoint, options);
428
+ },
429
+
430
+ withAuth(token) {
431
+ client.defaults.headers.common['Authorization'] = `Bearer ${token}`;
432
+ return this;
433
+ },
434
+
435
+ clearAuth() {
436
+ delete client.defaults.headers.common['Authorization'];
437
+ return this;
438
+ }
439
+ };
440
+ }
441
+ }
442
+
443
+ module.exports = { TestPatterns };
444
+ ```
445
+
446
+ ### 3. Test Configuration Templates
447
+ ```javascript
448
+ // playwright.config.js - E2E Test Configuration
449
+ const { defineConfig, devices } = require('@playwright/test');
450
+
451
+ module.exports = defineConfig({
452
+ testDir: './tests/e2e',
453
+ fullyParallel: true,
454
+ forbidOnly: !!process.env.CI,
455
+ retries: process.env.CI ? 2 : 0,
456
+ workers: process.env.CI ? 1 : undefined,
457
+ reporter: [
458
+ ['html'],
459
+ ['json', { outputFile: 'test-results/e2e-results.json' }],
460
+ ['junit', { outputFile: 'test-results/e2e-results.xml' }]
461
+ ],
462
+ use: {
463
+ baseURL: process.env.BASE_URL || 'http://localhost:3000',
464
+ trace: 'on-first-retry',
465
+ screenshot: 'only-on-failure',
466
+ video: 'retain-on-failure'
467
+ },
468
+ projects: [
469
+ {
470
+ name: 'chromium',
471
+ use: { ...devices['Desktop Chrome'] },
472
+ },
473
+ {
474
+ name: 'firefox',
475
+ use: { ...devices['Desktop Firefox'] },
476
+ },
477
+ {
478
+ name: 'webkit',
479
+ use: { ...devices['Desktop Safari'] },
480
+ },
481
+ {
482
+ name: 'Mobile Chrome',
483
+ use: { ...devices['Pixel 5'] },
484
+ },
485
+ {
486
+ name: 'Mobile Safari',
487
+ use: { ...devices['iPhone 12'] },
488
+ },
489
+ ],
490
+ webServer: {
491
+ command: 'npm run start:test',
492
+ port: 3000,
493
+ reuseExistingServer: !process.env.CI,
494
+ },
495
+ });
496
+
497
+ // jest.config.js - Unit/Integration Test Configuration
498
+ module.exports = {
499
+ preset: 'ts-jest',
500
+ testEnvironment: 'jsdom',
501
+ roots: ['<rootDir>/src'],
502
+ testMatch: [
503
+ '**/__tests__/**/*.+(ts|tsx|js)',
504
+ '**/*.(test|spec).+(ts|tsx|js)'
505
+ ],
506
+ transform: {
507
+ '^.+\\.(ts|tsx)$': 'ts-jest',
508
+ },
509
+ collectCoverageFrom: [
510
+ 'src/**/*.{js,jsx,ts,tsx}',
511
+ '!src/**/*.d.ts',
512
+ '!src/test/**/*',
513
+ '!src/**/*.stories.*',
514
+ '!src/**/*.test.*'
515
+ ],
516
+ coverageReporters: ['text', 'lcov', 'html', 'json-summary'],
517
+ coverageThreshold: {
518
+ global: {
519
+ branches: 80,
520
+ functions: 80,
521
+ lines: 80,
522
+ statements: 80
523
+ }
524
+ },
525
+ setupFilesAfterEnv: ['<rootDir>/src/test/setup.ts'],
526
+ moduleNameMapping: {
527
+ '^@/(.*)$': '<rootDir>/src/$1',
528
+ '\\.(css|less|scss|sass)$': 'identity-obj-proxy'
529
+ },
530
+ testTimeout: 10000,
531
+ maxWorkers: '50%'
532
+ };
533
+ ```
534
+
535
+ ### 4. Performance Testing Framework
536
+ ```javascript
537
+ // test-framework/performance-testing.js
538
+ const { performance } = require('perf_hooks');
539
+
540
+ class PerformanceTestFramework {
541
+ constructor() {
542
+ this.benchmarks = new Map();
543
+ this.thresholds = {
544
+ responseTime: 1000,
545
+ throughput: 100,
546
+ errorRate: 0.01
547
+ };
548
+ }
549
+
550
+ async runLoadTest(config) {
551
+ const {
552
+ endpoint,
553
+ method = 'GET',
554
+ payload,
555
+ concurrent = 10,
556
+ duration = 60000,
557
+ rampUp = 5000
558
+ } = config;
559
+
560
+ console.log(`🚀 Starting load test: ${concurrent} users for ${duration}ms`);
561
+
562
+ const results = {
563
+ requests: [],
564
+ errors: [],
565
+ startTime: Date.now(),
566
+ endTime: null
567
+ };
568
+
569
+ // Ramp up users gradually
570
+ const userPromises = [];
571
+ for (let i = 0; i < concurrent; i++) {
572
+ const delay = (rampUp / concurrent) * i;
573
+ userPromises.push(
574
+ this.simulateUser(endpoint, method, payload, duration - delay, delay, results)
575
+ );
576
+ }
577
+
578
+ await Promise.all(userPromises);
579
+ results.endTime = Date.now();
580
+
581
+ return this.analyzeResults(results);
582
+ }
583
+
584
+ async simulateUser(endpoint, method, payload, duration, delay, results) {
585
+ await new Promise(resolve => setTimeout(resolve, delay));
586
+
587
+ const endTime = Date.now() + duration;
588
+
589
+ while (Date.now() < endTime) {
590
+ const startTime = performance.now();
591
+
592
+ try {
593
+ const response = await this.makeRequest(endpoint, method, payload);
594
+ const endTime = performance.now();
595
+
596
+ results.requests.push({
597
+ startTime,
598
+ endTime,
599
+ duration: endTime - startTime,
600
+ status: response.status,
601
+ size: response.data ? JSON.stringify(response.data).length : 0
602
+ });
603
+
604
+ } catch (error) {
605
+ results.errors.push({
606
+ timestamp: Date.now(),
607
+ error: error.message,
608
+ type: error.code || 'unknown'
609
+ });
610
+ }
611
+
612
+ // Small delay between requests
613
+ await new Promise(resolve => setTimeout(resolve, 100));
614
+ }
615
+ }
616
+
617
+ async makeRequest(endpoint, method, payload) {
618
+ const axios = require('axios');
619
+
620
+ const config = {
621
+ method,
622
+ url: endpoint,
623
+ timeout: 30000,
624
+ validateStatus: () => true
625
+ };
626
+
627
+ if (payload && ['POST', 'PUT', 'PATCH'].includes(method.toUpperCase())) {
628
+ config.data = payload;
629
+ }
630
+
631
+ return await axios(config);
632
+ }
633
+
634
+ analyzeResults(results) {
635
+ const { requests, errors, startTime, endTime } = results;
636
+ const totalDuration = endTime - startTime;
637
+
638
+ // Calculate metrics
639
+ const responseTimes = requests.map(r => r.duration);
640
+ const successfulRequests = requests.filter(r => r.status < 400);
641
+ const failedRequests = requests.filter(r => r.status >= 400);
642
+
643
+ const analysis = {
644
+ summary: {
645
+ totalRequests: requests.length,
646
+ successfulRequests: successfulRequests.length,
647
+ failedRequests: failedRequests.length + errors.length,
648
+ errorRate: (failedRequests.length + errors.length) / requests.length,
649
+ testDuration: totalDuration,
650
+ throughput: (requests.length / totalDuration) * 1000 // requests per second
651
+ },
652
+ responseTime: {
653
+ min: Math.min(...responseTimes),
654
+ max: Math.max(...responseTimes),
655
+ mean: responseTimes.reduce((a, b) => a + b, 0) / responseTimes.length,
656
+ p50: this.percentile(responseTimes, 50),
657
+ p90: this.percentile(responseTimes, 90),
658
+ p95: this.percentile(responseTimes, 95),
659
+ p99: this.percentile(responseTimes, 99)
660
+ },
661
+ errors: {
662
+ total: errors.length,
663
+ byType: this.groupBy(errors, 'type'),
664
+ timeline: errors.map(e => ({ timestamp: e.timestamp, type: e.type }))
665
+ },
666
+ recommendations: this.generatePerformanceRecommendations(results)
667
+ };
668
+
669
+ this.logResults(analysis);
670
+ return analysis;
671
+ }
672
+
673
+ percentile(arr, p) {
674
+ const sorted = [...arr].sort((a, b) => a - b);
675
+ const index = Math.ceil((p / 100) * sorted.length) - 1;
676
+ return sorted[index];
677
+ }
678
+
679
+ groupBy(array, key) {
680
+ return array.reduce((groups, item) => {
681
+ const group = item[key];
682
+ groups[group] = groups[group] || [];
683
+ groups[group].push(item);
684
+ return groups;
685
+ }, {});
686
+ }
687
+
688
+ generatePerformanceRecommendations(results) {
689
+ const recommendations = [];
690
+ const { summary, responseTime } = this.analyzeResults(results);
691
+
692
+ if (responseTime.mean > this.thresholds.responseTime) {
693
+ recommendations.push({
694
+ category: 'performance',
695
+ severity: 'high',
696
+ issue: 'High average response time',
697
+ value: `${responseTime.mean.toFixed(2)}ms`,
698
+ recommendation: 'Optimize database queries and add caching layers'
699
+ });
700
+ }
701
+
702
+ if (summary.throughput < this.thresholds.throughput) {
703
+ recommendations.push({
704
+ category: 'scalability',
705
+ severity: 'medium',
706
+ issue: 'Low throughput',
707
+ value: `${summary.throughput.toFixed(2)} req/s`,
708
+ recommendation: 'Consider horizontal scaling or connection pooling'
709
+ });
710
+ }
711
+
712
+ if (summary.errorRate > this.thresholds.errorRate) {
713
+ recommendations.push({
714
+ category: 'reliability',
715
+ severity: 'high',
716
+ issue: 'High error rate',
717
+ value: `${(summary.errorRate * 100).toFixed(2)}%`,
718
+ recommendation: 'Investigate error causes and implement proper error handling'
719
+ });
720
+ }
721
+
722
+ return recommendations;
723
+ }
724
+
725
+ logResults(analysis) {
726
+ console.log('\n📈 Performance Test Results:');
727
+ console.log(`Total Requests: ${analysis.summary.totalRequests}`);
728
+ console.log(`Success Rate: ${((analysis.summary.successfulRequests / analysis.summary.totalRequests) * 100).toFixed(2)}%`);
729
+ console.log(`Throughput: ${analysis.summary.throughput.toFixed(2)} req/s`);
730
+ console.log(`Average Response Time: ${analysis.responseTime.mean.toFixed(2)}ms`);
731
+ console.log(`95th Percentile: ${analysis.responseTime.p95.toFixed(2)}ms`);
732
+
733
+ if (analysis.recommendations.length > 0) {
734
+ console.log('\n⚠️ Recommendations:');
735
+ analysis.recommendations.forEach(rec => {
736
+ console.log(`- ${rec.issue}: ${rec.recommendation}`);
737
+ });
738
+ }
739
+ }
740
+ }
741
+
742
+ module.exports = { PerformanceTestFramework };
743
+ ```
744
+
745
+ ### 5. Test Automation CI/CD Integration
746
+ ```yaml
747
+ # .github/workflows/test-automation.yml
748
+ name: Test Automation Pipeline
749
+
750
+ on:
751
+ push:
752
+ branches: [ main, develop ]
753
+ pull_request:
754
+ branches: [ main ]
755
+
756
+ jobs:
757
+ unit-tests:
758
+ runs-on: ubuntu-latest
759
+ steps:
760
+ - uses: actions/checkout@v4
761
+
762
+ - name: Setup Node.js
763
+ uses: actions/setup-node@v4
764
+ with:
765
+ node-version: '18'
766
+ cache: 'npm'
767
+
768
+ - name: Install dependencies
769
+ run: npm ci
770
+
771
+ - name: Run unit tests
772
+ run: npm run test:unit -- --coverage
773
+
774
+ - name: Upload coverage to Codecov
775
+ uses: codecov/codecov-action@v3
776
+ with:
777
+ file: ./coverage/lcov.info
778
+
779
+ - name: Comment coverage on PR
780
+ uses: romeovs/lcov-reporter-action@v0.3.1
781
+ with:
782
+ github-token: ${{ secrets.GITHUB_TOKEN }}
783
+ lcov-file: ./coverage/lcov.info
784
+
785
+ integration-tests:
786
+ runs-on: ubuntu-latest
787
+ services:
788
+ postgres:
789
+ image: postgres:14
790
+ env:
791
+ POSTGRES_PASSWORD: postgres
792
+ POSTGRES_DB: test_db
793
+ options: >-
794
+ --health-cmd pg_isready
795
+ --health-interval 10s
796
+ --health-timeout 5s
797
+ --health-retries 5
798
+
799
+ redis:
800
+ image: redis:7
801
+ options: >-
802
+ --health-cmd "redis-cli ping"
803
+ --health-interval 10s
804
+ --health-timeout 5s
805
+ --health-retries 5
806
+
807
+ steps:
808
+ - uses: actions/checkout@v4
809
+
810
+ - name: Setup Node.js
811
+ uses: actions/setup-node@v4
812
+ with:
813
+ node-version: '18'
814
+ cache: 'npm'
815
+
816
+ - name: Install dependencies
817
+ run: npm ci
818
+
819
+ - name: Run database migrations
820
+ run: npm run db:migrate
821
+ env:
822
+ DATABASE_URL: postgresql://postgres:postgres@localhost:5432/test_db
823
+
824
+ - name: Run integration tests
825
+ run: npm run test:integration
826
+ env:
827
+ DATABASE_URL: postgresql://postgres:postgres@localhost:5432/test_db
828
+ REDIS_URL: redis://localhost:6379
829
+
830
+ e2e-tests:
831
+ runs-on: ubuntu-latest
832
+ steps:
833
+ - uses: actions/checkout@v4
834
+
835
+ - name: Setup Node.js
836
+ uses: actions/setup-node@v4
837
+ with:
838
+ node-version: '18'
839
+ cache: 'npm'
840
+
841
+ - name: Install dependencies
842
+ run: npm ci
843
+
844
+ - name: Install Playwright
845
+ run: npx playwright install --with-deps
846
+
847
+ - name: Build application
848
+ run: npm run build
849
+
850
+ - name: Run E2E tests
851
+ run: npm run test:e2e
852
+
853
+ - name: Upload test results
854
+ uses: actions/upload-artifact@v3
855
+ if: always()
856
+ with:
857
+ name: playwright-report
858
+ path: playwright-report/
859
+ retention-days: 30
860
+
861
+ performance-tests:
862
+ runs-on: ubuntu-latest
863
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
864
+ steps:
865
+ - uses: actions/checkout@v4
866
+
867
+ - name: Setup Node.js
868
+ uses: actions/setup-node@v4
869
+ with:
870
+ node-version: '18'
871
+ cache: 'npm'
872
+
873
+ - name: Install dependencies
874
+ run: npm ci
875
+
876
+ - name: Run performance tests
877
+ run: npm run test:performance
878
+
879
+ - name: Upload performance results
880
+ uses: actions/upload-artifact@v3
881
+ with:
882
+ name: performance-results
883
+ path: performance-results/
884
+
885
+ security-tests:
886
+ runs-on: ubuntu-latest
887
+ steps:
888
+ - uses: actions/checkout@v4
889
+
890
+ - name: Run security audit
891
+ run: npm audit --production --audit-level moderate
892
+
893
+ - name: Run CodeQL Analysis
894
+ uses: github/codeql-action/analyze@v2
895
+ with:
896
+ languages: javascript
897
+ ```
898
+
899
+ ## Testing Best Practices
900
+
901
+ ### Test Organization
902
+ ```javascript
903
+ // Example test structure
904
+ describe('UserService', () => {
905
+ describe('createUser', () => {
906
+ it('should create user with valid data', async () => {
907
+ // Arrange
908
+ const userData = { email: 'test@example.com', name: 'Test User' };
909
+
910
+ // Act
911
+ const result = await userService.createUser(userData);
912
+
913
+ // Assert
914
+ expect(result).toHaveProperty('id');
915
+ expect(result.email).toBe(userData.email);
916
+ });
917
+
918
+ it('should throw error with invalid email', async () => {
919
+ // Arrange
920
+ const userData = { email: 'invalid-email', name: 'Test User' };
921
+
922
+ // Act & Assert
923
+ await expect(userService.createUser(userData)).rejects.toThrow('Invalid email');
924
+ });
925
+ });
926
+ });
927
+ ```
928
+
929
+ Your testing implementations should always include:
930
+ 1. **Test Strategy** - Clear testing approach and coverage goals
931
+ 2. **Automation Pipeline** - CI/CD integration with quality gates
932
+ 3. **Performance Testing** - Load testing and performance benchmarks
933
+ 4. **Quality Metrics** - Coverage, reliability, and performance tracking
934
+ 5. **Maintenance** - Test maintenance and refactoring strategies
935
+
936
+ Focus on creating maintainable, reliable tests that provide fast feedback and high confidence in code quality.