claude-code-templates 1.21.6 → 1.21.7

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 (490) hide show
  1. package/package.json +2 -2
  2. package/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  3. package/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  4. package/components/agents/ai-specialists/llms-maintainer.md +0 -94
  5. package/components/agents/ai-specialists/model-evaluator.md +0 -150
  6. package/components/agents/ai-specialists/prompt-engineer.md +0 -112
  7. package/components/agents/ai-specialists/search-specialist.md +0 -59
  8. package/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  9. package/components/agents/api-graphql/graphql-architect.md +0 -208
  10. package/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  11. package/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  12. package/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  13. package/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  14. package/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  15. package/components/agents/business-marketing/business-analyst.md +0 -194
  16. package/components/agents/business-marketing/content-marketer.md +0 -36
  17. package/components/agents/business-marketing/customer-support.md +0 -36
  18. package/components/agents/business-marketing/legal-advisor.md +0 -50
  19. package/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  20. package/components/agents/business-marketing/payment-integration.md +0 -33
  21. package/components/agents/business-marketing/product-strategist.md +0 -212
  22. package/components/agents/business-marketing/risk-manager.md +0 -42
  23. package/components/agents/business-marketing/sales-automator.md +0 -36
  24. package/components/agents/data-ai/ai-engineer.md +0 -33
  25. package/components/agents/data-ai/computer-vision-engineer.md +0 -562
  26. package/components/agents/data-ai/data-engineer.md +0 -33
  27. package/components/agents/data-ai/data-scientist.md +0 -337
  28. package/components/agents/data-ai/ml-engineer.md +0 -33
  29. package/components/agents/data-ai/mlops-engineer.md +0 -58
  30. package/components/agents/data-ai/nlp-engineer.md +0 -680
  31. package/components/agents/data-ai/quant-analyst.md +0 -33
  32. package/components/agents/database/database-admin.md +0 -33
  33. package/components/agents/database/database-architect.md +0 -590
  34. package/components/agents/database/database-optimization.md +0 -33
  35. package/components/agents/database/database-optimizer.md +0 -33
  36. package/components/agents/database/nosql-specialist.md +0 -708
  37. package/components/agents/database/supabase-schema-architect.md +0 -138
  38. package/components/agents/deep-research-team/academic-researcher.md +0 -33
  39. package/components/agents/deep-research-team/agent-overview.md +0 -235
  40. package/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  41. package/components/agents/deep-research-team/data-analyst.md +0 -112
  42. package/components/agents/deep-research-team/fact-checker.md +0 -553
  43. package/components/agents/deep-research-team/query-clarifier.md +0 -73
  44. package/components/agents/deep-research-team/report-generator.md +0 -108
  45. package/components/agents/deep-research-team/research-brief-generator.md +0 -108
  46. package/components/agents/deep-research-team/research-coordinator.md +0 -94
  47. package/components/agents/deep-research-team/research-orchestrator.md +0 -119
  48. package/components/agents/deep-research-team/research-synthesizer.md +0 -109
  49. package/components/agents/deep-research-team/technical-researcher.md +0 -95
  50. package/components/agents/development-team/backend-architect.md +0 -31
  51. package/components/agents/development-team/cli-ui-designer.md +0 -405
  52. package/components/agents/development-team/devops-engineer.md +0 -886
  53. package/components/agents/development-team/frontend-developer.md +0 -32
  54. package/components/agents/development-team/fullstack-developer.md +0 -1205
  55. package/components/agents/development-team/ios-developer.md +0 -36
  56. package/components/agents/development-team/mobile-developer.md +0 -33
  57. package/components/agents/development-team/ui-ux-designer.md +0 -36
  58. package/components/agents/development-tools/code-reviewer.md +0 -30
  59. package/components/agents/development-tools/command-expert.md +0 -422
  60. package/components/agents/development-tools/context-manager.md +0 -65
  61. package/components/agents/development-tools/debugger.md +0 -31
  62. package/components/agents/development-tools/dx-optimizer.md +0 -64
  63. package/components/agents/development-tools/error-detective.md +0 -33
  64. package/components/agents/development-tools/mcp-expert.md +0 -259
  65. package/components/agents/development-tools/performance-profiler.md +0 -799
  66. package/components/agents/development-tools/test-engineer.md +0 -936
  67. package/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  68. package/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  69. package/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  70. package/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  71. package/components/agents/devops-infrastructure/network-engineer.md +0 -33
  72. package/components/agents/devops-infrastructure/security-engineer.md +0 -971
  73. package/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  74. package/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  75. package/components/agents/documentation/api-documenter.md +0 -33
  76. package/components/agents/documentation/changelog-generator.md +0 -37
  77. package/components/agents/documentation/docusaurus-expert.md +0 -52
  78. package/components/agents/documentation/technical-writer.md +0 -37
  79. package/components/agents/expert-advisors/agent-expert.md +0 -477
  80. package/components/agents/expert-advisors/architect-review.md +0 -50
  81. package/components/agents/expert-advisors/dependency-manager.md +0 -45
  82. package/components/agents/expert-advisors/documentation-expert.md +0 -47
  83. package/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  84. package/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  85. package/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  86. package/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  87. package/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  88. package/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  89. package/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  90. package/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  91. package/components/agents/game-development/3d-artist.md +0 -37
  92. package/components/agents/game-development/game-designer.md +0 -37
  93. package/components/agents/game-development/unity-game-developer.md +0 -110
  94. package/components/agents/game-development/unreal-engine-developer.md +0 -128
  95. package/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  96. package/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  97. package/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  98. package/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  99. package/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  100. package/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  101. package/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  102. package/components/agents/modernization/architecture-modernizer.md +0 -37
  103. package/components/agents/modernization/cloud-migration-specialist.md +0 -37
  104. package/components/agents/modernization/legacy-modernizer.md +0 -33
  105. package/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  106. package/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  107. package/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  108. package/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  109. package/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  110. package/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  111. package/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  112. package/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  113. package/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  114. package/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  115. package/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  116. package/components/agents/obsidian-ops-team/content-curator.md +0 -81
  117. package/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  118. package/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  119. package/components/agents/obsidian-ops-team/review-agent.md +0 -94
  120. package/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  121. package/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  122. package/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  123. package/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  124. package/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  125. package/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  126. package/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  127. package/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  128. package/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  129. package/components/agents/performance-testing/load-testing-specialist.md +0 -37
  130. package/components/agents/performance-testing/performance-engineer.md +0 -33
  131. package/components/agents/performance-testing/react-performance-optimization.md +0 -65
  132. package/components/agents/performance-testing/test-automator.md +0 -33
  133. package/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  134. package/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  135. package/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  136. package/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  137. package/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  138. package/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  139. package/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  140. package/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  141. package/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  142. package/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  143. package/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  144. package/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  145. package/components/agents/programming-languages/c-pro.md +0 -36
  146. package/components/agents/programming-languages/c-sharp-pro.md +0 -40
  147. package/components/agents/programming-languages/cpp-pro.md +0 -39
  148. package/components/agents/programming-languages/golang-pro.md +0 -33
  149. package/components/agents/programming-languages/javascript-pro.md +0 -36
  150. package/components/agents/programming-languages/php-pro.md +0 -44
  151. package/components/agents/programming-languages/python-pro.md +0 -33
  152. package/components/agents/programming-languages/rust-pro.md +0 -36
  153. package/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  154. package/components/agents/programming-languages/sql-pro.md +0 -36
  155. package/components/agents/programming-languages/typescript-pro.md +0 -38
  156. package/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  157. package/components/agents/security/api-security-audit.md +0 -93
  158. package/components/agents/security/compliance-specialist.md +0 -37
  159. package/components/agents/security/incident-responder.md +0 -75
  160. package/components/agents/security/penetration-tester.md +0 -37
  161. package/components/agents/security/security-auditor.md +0 -33
  162. package/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  163. package/components/agents/web-tools/react-performance-optimizer.md +0 -425
  164. package/components/agents/web-tools/seo-analyzer.md +0 -37
  165. package/components/agents/web-tools/url-context-validator.md +0 -61
  166. package/components/agents/web-tools/url-link-extractor.md +0 -59
  167. package/components/agents/web-tools/web-accessibility-checker.md +0 -37
  168. package/components/commands/automation/act.md +0 -57
  169. package/components/commands/automation/ci-pipeline.md +0 -378
  170. package/components/commands/automation/husky.md +0 -130
  171. package/components/commands/automation/workflow-orchestrator.md +0 -576
  172. package/components/commands/database/supabase-backup-manager.md +0 -37
  173. package/components/commands/database/supabase-data-explorer.md +0 -37
  174. package/components/commands/database/supabase-migration-assistant.md +0 -37
  175. package/components/commands/database/supabase-performance-optimizer.md +0 -37
  176. package/components/commands/database/supabase-realtime-monitor.md +0 -37
  177. package/components/commands/database/supabase-schema-sync.md +0 -37
  178. package/components/commands/database/supabase-security-audit.md +0 -37
  179. package/components/commands/database/supabase-type-generator.md +0 -37
  180. package/components/commands/deployment/add-changelog.md +0 -92
  181. package/components/commands/deployment/blue-green-deployment.md +0 -824
  182. package/components/commands/deployment/changelog-demo-command.md +0 -43
  183. package/components/commands/deployment/ci-setup.md +0 -323
  184. package/components/commands/deployment/containerize-application.md +0 -93
  185. package/components/commands/deployment/deployment-monitoring.md +0 -1228
  186. package/components/commands/deployment/hotfix-deploy.md +0 -283
  187. package/components/commands/deployment/prepare-release.md +0 -357
  188. package/components/commands/deployment/rollback-deploy.md +0 -145
  189. package/components/commands/deployment/setup-automated-releases.md +0 -143
  190. package/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  191. package/components/commands/documentation/create-architecture-documentation.md +0 -95
  192. package/components/commands/documentation/create-onboarding-guide.md +0 -93
  193. package/components/commands/documentation/doc-api.md +0 -242
  194. package/components/commands/documentation/docs-maintenance.md +0 -119
  195. package/components/commands/documentation/generate-api-documentation.md +0 -97
  196. package/components/commands/documentation/interactive-documentation.md +0 -133
  197. package/components/commands/documentation/load-llms-txt.md +0 -39
  198. package/components/commands/documentation/migration-guide.md +0 -250
  199. package/components/commands/documentation/troubleshooting-guide.md +0 -370
  200. package/components/commands/documentation/update-docs.md +0 -107
  201. package/components/commands/game-development/game-analytics-integration.md +0 -128
  202. package/components/commands/game-development/game-asset-pipeline.md +0 -108
  203. package/components/commands/game-development/game-performance-profiler.md +0 -78
  204. package/components/commands/game-development/game-testing-framework.md +0 -112
  205. package/components/commands/game-development/unity-project-setup.md +0 -190
  206. package/components/commands/git-workflow/branch-cleanup.md +0 -181
  207. package/components/commands/git-workflow/commit.md +0 -167
  208. package/components/commands/git-workflow/create-pr.md +0 -19
  209. package/components/commands/git-workflow/create-pull-request.md +0 -126
  210. package/components/commands/git-workflow/create-worktrees.md +0 -174
  211. package/components/commands/git-workflow/fix-github-issue.md +0 -13
  212. package/components/commands/git-workflow/git-bisect-helper.md +0 -261
  213. package/components/commands/git-workflow/pr-review.md +0 -76
  214. package/components/commands/git-workflow/update-branch-name.md +0 -9
  215. package/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  216. package/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  217. package/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  218. package/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  219. package/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  220. package/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  221. package/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  222. package/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  223. package/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  224. package/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  225. package/components/commands/orchestration/archive.md +0 -414
  226. package/components/commands/orchestration/commit.md +0 -305
  227. package/components/commands/orchestration/find.md +0 -272
  228. package/components/commands/orchestration/log.md +0 -355
  229. package/components/commands/orchestration/move.md +0 -220
  230. package/components/commands/orchestration/optimize.md +0 -375
  231. package/components/commands/orchestration/remove.md +0 -301
  232. package/components/commands/orchestration/report.md +0 -292
  233. package/components/commands/orchestration/resume.md +0 -256
  234. package/components/commands/orchestration/start.md +0 -169
  235. package/components/commands/orchestration/status.md +0 -219
  236. package/components/commands/orchestration/sync.md +0 -294
  237. package/components/commands/performance/add-performance-monitoring.md +0 -84
  238. package/components/commands/performance/implement-caching-strategy.md +0 -84
  239. package/components/commands/performance/optimize-api-performance.md +0 -119
  240. package/components/commands/performance/optimize-build.md +0 -139
  241. package/components/commands/performance/optimize-bundle-size.md +0 -84
  242. package/components/commands/performance/optimize-database-performance.md +0 -84
  243. package/components/commands/performance/optimize-memory-usage.md +0 -91
  244. package/components/commands/performance/performance-audit.md +0 -89
  245. package/components/commands/performance/setup-cdn-optimization.md +0 -84
  246. package/components/commands/performance/system-behavior-simulator.md +0 -415
  247. package/components/commands/project-management/add-package.md +0 -90
  248. package/components/commands/project-management/add-to-changelog.md +0 -37
  249. package/components/commands/project-management/create-feature.md +0 -130
  250. package/components/commands/project-management/create-jtbd.md +0 -37
  251. package/components/commands/project-management/create-prd.md +0 -36
  252. package/components/commands/project-management/create-prp.md +0 -37
  253. package/components/commands/project-management/init-project.md +0 -80
  254. package/components/commands/project-management/milestone-tracker.md +0 -44
  255. package/components/commands/project-management/pac-configure.md +0 -32
  256. package/components/commands/project-management/pac-create-epic.md +0 -41
  257. package/components/commands/project-management/pac-create-ticket.md +0 -42
  258. package/components/commands/project-management/pac-update-status.md +0 -39
  259. package/components/commands/project-management/pac-validate.md +0 -35
  260. package/components/commands/project-management/project-health-check.md +0 -58
  261. package/components/commands/project-management/project-timeline-simulator.md +0 -37
  262. package/components/commands/project-management/project-to-linear.md +0 -38
  263. package/components/commands/project-management/release.md +0 -31
  264. package/components/commands/project-management/todo.md +0 -62
  265. package/components/commands/security/add-authentication-system.md +0 -34
  266. package/components/commands/security/dependency-audit.md +0 -32
  267. package/components/commands/security/penetration-test.md +0 -40
  268. package/components/commands/security/secrets-scanner.md +0 -39
  269. package/components/commands/security/security-audit.md +0 -82
  270. package/components/commands/security/security-hardening.md +0 -33
  271. package/components/commands/setup/create-database-migrations.md +0 -35
  272. package/components/commands/setup/design-database-schema.md +0 -37
  273. package/components/commands/setup/design-rest-api.md +0 -37
  274. package/components/commands/setup/implement-graphql-api.md +0 -37
  275. package/components/commands/setup/migrate-to-typescript.md +0 -37
  276. package/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  277. package/components/commands/setup/setup-development-environment.md +0 -37
  278. package/components/commands/setup/setup-docker-containers.md +0 -37
  279. package/components/commands/setup/setup-formatting.md +0 -37
  280. package/components/commands/setup/setup-linting.md +0 -37
  281. package/components/commands/setup/setup-monitoring-observability.md +0 -37
  282. package/components/commands/setup/setup-monorepo.md +0 -37
  283. package/components/commands/setup/setup-rate-limiting.md +0 -37
  284. package/components/commands/setup/update-dependencies.md +0 -35
  285. package/components/commands/simulation/business-scenario-explorer.md +0 -37
  286. package/components/commands/simulation/constraint-modeler.md +0 -37
  287. package/components/commands/simulation/decision-tree-explorer.md +0 -37
  288. package/components/commands/simulation/digital-twin-creator.md +0 -37
  289. package/components/commands/simulation/future-scenario-generator.md +0 -37
  290. package/components/commands/simulation/market-response-modeler.md +0 -37
  291. package/components/commands/simulation/monte-carlo-simulator.md +0 -37
  292. package/components/commands/simulation/simulation-calibrator.md +0 -37
  293. package/components/commands/simulation/system-dynamics-modeler.md +0 -37
  294. package/components/commands/simulation/timeline-compressor.md +0 -37
  295. package/components/commands/svelte/svelte:a11y.md +0 -105
  296. package/components/commands/svelte/svelte:component.md +0 -81
  297. package/components/commands/svelte/svelte:debug.md +0 -48
  298. package/components/commands/svelte/svelte:migrate.md +0 -79
  299. package/components/commands/svelte/svelte:optimize.md +0 -99
  300. package/components/commands/svelte/svelte:scaffold.md +0 -89
  301. package/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  302. package/components/commands/svelte/svelte:storybook-mock.md +0 -213
  303. package/components/commands/svelte/svelte:storybook-setup.md +0 -113
  304. package/components/commands/svelte/svelte:storybook-story.md +0 -145
  305. package/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  306. package/components/commands/svelte/svelte:storybook.md +0 -48
  307. package/components/commands/svelte/svelte:test-coverage.md +0 -77
  308. package/components/commands/svelte/svelte:test-fix.md +0 -74
  309. package/components/commands/svelte/svelte:test-setup.md +0 -85
  310. package/components/commands/svelte/svelte:test.md +0 -60
  311. package/components/commands/sync/bidirectional-sync.md +0 -37
  312. package/components/commands/sync/bulk-import-issues.md +0 -37
  313. package/components/commands/sync/cross-reference-manager.md +0 -37
  314. package/components/commands/sync/issue-to-linear-task.md +0 -37
  315. package/components/commands/sync/linear-task-to-issue.md +0 -37
  316. package/components/commands/sync/sync-automation-setup.md +0 -37
  317. package/components/commands/sync/sync-conflict-resolver.md +0 -37
  318. package/components/commands/sync/sync-health-monitor.md +0 -37
  319. package/components/commands/sync/sync-issues-to-linear.md +0 -37
  320. package/components/commands/sync/sync-linear-to-issues.md +0 -37
  321. package/components/commands/sync/sync-migration-assistant.md +0 -37
  322. package/components/commands/sync/sync-pr-to-task.md +0 -37
  323. package/components/commands/sync/sync-status.md +0 -391
  324. package/components/commands/sync/task-from-pr.md +0 -37
  325. package/components/commands/team/architecture-review.md +0 -37
  326. package/components/commands/team/decision-quality-analyzer.md +0 -37
  327. package/components/commands/team/dependency-mapper.md +0 -37
  328. package/components/commands/team/estimate-assistant.md +0 -37
  329. package/components/commands/team/issue-triage.md +0 -37
  330. package/components/commands/team/memory-spring-cleaning.md +0 -37
  331. package/components/commands/team/migration-assistant.md +0 -37
  332. package/components/commands/team/retrospective-analyzer.md +0 -37
  333. package/components/commands/team/session-learning-capture.md +0 -37
  334. package/components/commands/team/sprint-planning.md +0 -189
  335. package/components/commands/team/standup-report.md +0 -37
  336. package/components/commands/team/team-knowledge-mapper.md +0 -37
  337. package/components/commands/team/team-velocity-tracker.md +0 -37
  338. package/components/commands/team/team-workload-balancer.md +0 -37
  339. package/components/commands/testing/add-mutation-testing.md +0 -37
  340. package/components/commands/testing/add-property-based-testing.md +0 -37
  341. package/components/commands/testing/e2e-setup.md +0 -37
  342. package/components/commands/testing/generate-test-cases.md +0 -37
  343. package/components/commands/testing/generate-tests.md +0 -82
  344. package/components/commands/testing/setup-comprehensive-testing.md +0 -37
  345. package/components/commands/testing/setup-load-testing.md +0 -37
  346. package/components/commands/testing/setup-visual-testing.md +0 -37
  347. package/components/commands/testing/test-automation-orchestrator.md +0 -37
  348. package/components/commands/testing/test-changelog-automation.md +0 -37
  349. package/components/commands/testing/test-coverage.md +0 -37
  350. package/components/commands/testing/test-quality-analyzer.md +0 -37
  351. package/components/commands/testing/testing_plan_integration.md +0 -37
  352. package/components/commands/testing/write-tests.md +0 -37
  353. package/components/commands/utilities/all-tools.md +0 -31
  354. package/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  355. package/components/commands/utilities/check-file.md +0 -53
  356. package/components/commands/utilities/clean-branches.md +0 -243
  357. package/components/commands/utilities/clean.md +0 -1
  358. package/components/commands/utilities/code-permutation-tester.md +0 -341
  359. package/components/commands/utilities/code-review.md +0 -70
  360. package/components/commands/utilities/code-to-task.md +0 -583
  361. package/components/commands/utilities/context-prime.md +0 -1
  362. package/components/commands/utilities/debug-error.md +0 -121
  363. package/components/commands/utilities/directory-deep-dive.md +0 -34
  364. package/components/commands/utilities/explain-code.md +0 -194
  365. package/components/commands/utilities/fix-issue.md +0 -85
  366. package/components/commands/utilities/generate-linear-worklog.md +0 -113
  367. package/components/commands/utilities/git-status.md +0 -39
  368. package/components/commands/utilities/initref.md +0 -3
  369. package/components/commands/utilities/prime.md +0 -41
  370. package/components/commands/utilities/refactor-code.md +0 -116
  371. package/components/commands/utilities/ultra-think.md +0 -153
  372. package/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  373. package/components/hooks/automation/build-on-change.json +0 -16
  374. package/components/hooks/automation/dependency-checker.json +0 -16
  375. package/components/hooks/automation/deployment-health-monitor.json +0 -29
  376. package/components/hooks/automation/discord-detailed-notifications.json +0 -26
  377. package/components/hooks/automation/discord-error-notifications.json +0 -37
  378. package/components/hooks/automation/discord-notifications.json +0 -25
  379. package/components/hooks/automation/simple-notifications.json +0 -16
  380. package/components/hooks/automation/slack-detailed-notifications.json +0 -26
  381. package/components/hooks/automation/slack-error-notifications.json +0 -37
  382. package/components/hooks/automation/slack-notifications.json +0 -25
  383. package/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  384. package/components/hooks/automation/telegram-error-notifications.json +0 -37
  385. package/components/hooks/automation/telegram-notifications.json +0 -25
  386. package/components/hooks/automation/vercel-auto-deploy.json +0 -17
  387. package/components/hooks/automation/vercel-environment-sync.json +0 -29
  388. package/components/hooks/development-tools/change-tracker.json +0 -25
  389. package/components/hooks/development-tools/command-logger.json +0 -16
  390. package/components/hooks/development-tools/file-backup.json +0 -16
  391. package/components/hooks/development-tools/lint-on-save.json +0 -16
  392. package/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  393. package/components/hooks/development-tools/smart-formatting.json +0 -16
  394. package/components/hooks/git-workflow/auto-git-add.json +0 -16
  395. package/components/hooks/git-workflow/smart-commit.json +0 -25
  396. package/components/hooks/performance/performance-budget-guard.json +0 -27
  397. package/components/hooks/performance/performance-monitor.json +0 -27
  398. package/components/hooks/post-tool/format-javascript-files.json +0 -16
  399. package/components/hooks/post-tool/format-python-files.json +0 -16
  400. package/components/hooks/post-tool/git-add-changes.json +0 -25
  401. package/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  402. package/components/hooks/pre-tool/backup-before-edit.json +0 -16
  403. package/components/hooks/pre-tool/notify-before-bash.json +0 -16
  404. package/components/hooks/security/file-protection.json +0 -16
  405. package/components/hooks/security/security-scanner.json +0 -16
  406. package/components/hooks/testing/test-runner.json +0 -16
  407. package/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  408. package/components/mcps/browser_automation/browsermcp.json +0 -9
  409. package/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  410. package/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  411. package/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  412. package/components/mcps/browser_automation/playwright-mcp.json +0 -11
  413. package/components/mcps/database/mysql-integration.json +0 -12
  414. package/components/mcps/database/postgresql-integration.json +0 -12
  415. package/components/mcps/database/supabase.json +0 -17
  416. package/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  417. package/components/mcps/deepgraph/deepgraph-react.json +0 -13
  418. package/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  419. package/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  420. package/components/mcps/devtools/circleci.json +0 -13
  421. package/components/mcps/devtools/context7.json +0 -9
  422. package/components/mcps/devtools/firefly-mcp.json +0 -13
  423. package/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  424. package/components/mcps/devtools/just-mcp.json +0 -9
  425. package/components/mcps/devtools/leetcode.json +0 -8
  426. package/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  427. package/components/mcps/devtools/mcp-server-trello.json +0 -12
  428. package/components/mcps/filesystem/filesystem-access.json +0 -13
  429. package/components/mcps/integration/github-integration.json +0 -12
  430. package/components/mcps/integration/memory-integration.json +0 -9
  431. package/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  432. package/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  433. package/components/mcps/web/web-fetch.json +0 -9
  434. package/components/settings/api/bedrock-configuration.json +0 -7
  435. package/components/settings/api/corporate-proxy.json +0 -7
  436. package/components/settings/api/custom-headers.json +0 -6
  437. package/components/settings/api/vertex-configuration.json +0 -8
  438. package/components/settings/authentication/api-key-helper.json +0 -7
  439. package/components/settings/authentication/force-claudeai-login.json +0 -4
  440. package/components/settings/authentication/force-console-login.json +0 -4
  441. package/components/settings/cleanup/retention-7-days.json +0 -4
  442. package/components/settings/cleanup/retention-90-days.json +0 -4
  443. package/components/settings/environment/bash-timeouts.json +0 -8
  444. package/components/settings/environment/development-utils.json +0 -8
  445. package/components/settings/environment/performance-optimization.json +0 -8
  446. package/components/settings/environment/privacy-focused.json +0 -10
  447. package/components/settings/global/aws-credentials.json +0 -5
  448. package/components/settings/global/custom-model.json +0 -7
  449. package/components/settings/global/git-commit-settings.json +0 -4
  450. package/components/settings/mcp/disable-risky-servers.json +0 -8
  451. package/components/settings/mcp/enable-all-project-servers.json +0 -4
  452. package/components/settings/mcp/enable-specific-servers.json +0 -8
  453. package/components/settings/mcp/mcp-timeouts.json +0 -8
  454. package/components/settings/model/use-haiku.json +0 -4
  455. package/components/settings/model/use-sonnet.json +0 -4
  456. package/components/settings/permissions/additional-directories.json +0 -11
  457. package/components/settings/permissions/allow-git-operations.json +0 -14
  458. package/components/settings/permissions/allow-npm-commands.json +0 -11
  459. package/components/settings/permissions/deny-sensitive-files.json +0 -11
  460. package/components/settings/permissions/development-mode.json +0 -31
  461. package/components/settings/permissions/read-only-mode.json +0 -18
  462. package/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  463. package/components/settings/statusline/bug-circus-statusline.json +0 -7
  464. package/components/settings/statusline/code-casino-statusline.json +0 -7
  465. package/components/settings/statusline/code-spaceship-statusline.json +0 -7
  466. package/components/settings/statusline/colorful-statusline.json +0 -7
  467. package/components/settings/statusline/command-statusline.json +0 -8
  468. package/components/settings/statusline/context-monitor.json +0 -7
  469. package/components/settings/statusline/context-monitor.py +0 -236
  470. package/components/settings/statusline/data-ocean-statusline.json +0 -7
  471. package/components/settings/statusline/emotion-theater-statusline.json +0 -7
  472. package/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  473. package/components/settings/statusline/git-branch-statusline.json +0 -7
  474. package/components/settings/statusline/minimal-statusline.json +0 -7
  475. package/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  476. package/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  477. package/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  478. package/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  479. package/components/settings/statusline/project-info-statusline.json +0 -7
  480. package/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  481. package/components/settings/statusline/time-statusline.json +0 -7
  482. package/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  483. package/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  484. package/components/settings/statusline/vercel-error-alert-system.json +0 -7
  485. package/components/settings/statusline/vercel-multi-env-status.json +0 -7
  486. package/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  487. package/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  488. package/components/settings/telemetry/custom-telemetry.json +0 -7
  489. package/components/settings/telemetry/disable-telemetry.json +0 -6
  490. package/components/settings/telemetry/enable-telemetry.json +0 -6
@@ -1,936 +0,0 @@
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.