claude-code-templates 1.21.6 → 1.21.8

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 (491) hide show
  1. package/components/sandbox/e2b/e2b-launcher.py +0 -1
  2. package/package.json +2 -2
  3. package/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  4. package/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  5. package/components/agents/ai-specialists/llms-maintainer.md +0 -94
  6. package/components/agents/ai-specialists/model-evaluator.md +0 -150
  7. package/components/agents/ai-specialists/prompt-engineer.md +0 -112
  8. package/components/agents/ai-specialists/search-specialist.md +0 -59
  9. package/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  10. package/components/agents/api-graphql/graphql-architect.md +0 -208
  11. package/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  12. package/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  13. package/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  14. package/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  15. package/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  16. package/components/agents/business-marketing/business-analyst.md +0 -194
  17. package/components/agents/business-marketing/content-marketer.md +0 -36
  18. package/components/agents/business-marketing/customer-support.md +0 -36
  19. package/components/agents/business-marketing/legal-advisor.md +0 -50
  20. package/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  21. package/components/agents/business-marketing/payment-integration.md +0 -33
  22. package/components/agents/business-marketing/product-strategist.md +0 -212
  23. package/components/agents/business-marketing/risk-manager.md +0 -42
  24. package/components/agents/business-marketing/sales-automator.md +0 -36
  25. package/components/agents/data-ai/ai-engineer.md +0 -33
  26. package/components/agents/data-ai/computer-vision-engineer.md +0 -562
  27. package/components/agents/data-ai/data-engineer.md +0 -33
  28. package/components/agents/data-ai/data-scientist.md +0 -337
  29. package/components/agents/data-ai/ml-engineer.md +0 -33
  30. package/components/agents/data-ai/mlops-engineer.md +0 -58
  31. package/components/agents/data-ai/nlp-engineer.md +0 -680
  32. package/components/agents/data-ai/quant-analyst.md +0 -33
  33. package/components/agents/database/database-admin.md +0 -33
  34. package/components/agents/database/database-architect.md +0 -590
  35. package/components/agents/database/database-optimization.md +0 -33
  36. package/components/agents/database/database-optimizer.md +0 -33
  37. package/components/agents/database/nosql-specialist.md +0 -708
  38. package/components/agents/database/supabase-schema-architect.md +0 -138
  39. package/components/agents/deep-research-team/academic-researcher.md +0 -33
  40. package/components/agents/deep-research-team/agent-overview.md +0 -235
  41. package/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  42. package/components/agents/deep-research-team/data-analyst.md +0 -112
  43. package/components/agents/deep-research-team/fact-checker.md +0 -553
  44. package/components/agents/deep-research-team/query-clarifier.md +0 -73
  45. package/components/agents/deep-research-team/report-generator.md +0 -108
  46. package/components/agents/deep-research-team/research-brief-generator.md +0 -108
  47. package/components/agents/deep-research-team/research-coordinator.md +0 -94
  48. package/components/agents/deep-research-team/research-orchestrator.md +0 -119
  49. package/components/agents/deep-research-team/research-synthesizer.md +0 -109
  50. package/components/agents/deep-research-team/technical-researcher.md +0 -95
  51. package/components/agents/development-team/backend-architect.md +0 -31
  52. package/components/agents/development-team/cli-ui-designer.md +0 -405
  53. package/components/agents/development-team/devops-engineer.md +0 -886
  54. package/components/agents/development-team/frontend-developer.md +0 -32
  55. package/components/agents/development-team/fullstack-developer.md +0 -1205
  56. package/components/agents/development-team/ios-developer.md +0 -36
  57. package/components/agents/development-team/mobile-developer.md +0 -33
  58. package/components/agents/development-team/ui-ux-designer.md +0 -36
  59. package/components/agents/development-tools/code-reviewer.md +0 -30
  60. package/components/agents/development-tools/command-expert.md +0 -422
  61. package/components/agents/development-tools/context-manager.md +0 -65
  62. package/components/agents/development-tools/debugger.md +0 -31
  63. package/components/agents/development-tools/dx-optimizer.md +0 -64
  64. package/components/agents/development-tools/error-detective.md +0 -33
  65. package/components/agents/development-tools/mcp-expert.md +0 -259
  66. package/components/agents/development-tools/performance-profiler.md +0 -799
  67. package/components/agents/development-tools/test-engineer.md +0 -936
  68. package/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  69. package/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  70. package/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  71. package/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  72. package/components/agents/devops-infrastructure/network-engineer.md +0 -33
  73. package/components/agents/devops-infrastructure/security-engineer.md +0 -971
  74. package/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  75. package/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  76. package/components/agents/documentation/api-documenter.md +0 -33
  77. package/components/agents/documentation/changelog-generator.md +0 -37
  78. package/components/agents/documentation/docusaurus-expert.md +0 -52
  79. package/components/agents/documentation/technical-writer.md +0 -37
  80. package/components/agents/expert-advisors/agent-expert.md +0 -477
  81. package/components/agents/expert-advisors/architect-review.md +0 -50
  82. package/components/agents/expert-advisors/dependency-manager.md +0 -45
  83. package/components/agents/expert-advisors/documentation-expert.md +0 -47
  84. package/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  85. package/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  86. package/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  87. package/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  88. package/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  89. package/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  90. package/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  91. package/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  92. package/components/agents/game-development/3d-artist.md +0 -37
  93. package/components/agents/game-development/game-designer.md +0 -37
  94. package/components/agents/game-development/unity-game-developer.md +0 -110
  95. package/components/agents/game-development/unreal-engine-developer.md +0 -128
  96. package/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  97. package/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  98. package/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  99. package/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  100. package/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  101. package/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  102. package/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  103. package/components/agents/modernization/architecture-modernizer.md +0 -37
  104. package/components/agents/modernization/cloud-migration-specialist.md +0 -37
  105. package/components/agents/modernization/legacy-modernizer.md +0 -33
  106. package/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  107. package/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  108. package/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  109. package/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  110. package/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  111. package/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  112. package/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  113. package/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  114. package/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  115. package/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  116. package/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  117. package/components/agents/obsidian-ops-team/content-curator.md +0 -81
  118. package/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  119. package/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  120. package/components/agents/obsidian-ops-team/review-agent.md +0 -94
  121. package/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  122. package/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  123. package/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  124. package/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  125. package/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  126. package/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  127. package/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  128. package/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  129. package/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  130. package/components/agents/performance-testing/load-testing-specialist.md +0 -37
  131. package/components/agents/performance-testing/performance-engineer.md +0 -33
  132. package/components/agents/performance-testing/react-performance-optimization.md +0 -65
  133. package/components/agents/performance-testing/test-automator.md +0 -33
  134. package/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  135. package/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  136. package/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  137. package/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  138. package/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  139. package/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  140. package/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  141. package/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  142. package/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  143. package/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  144. package/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  145. package/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  146. package/components/agents/programming-languages/c-pro.md +0 -36
  147. package/components/agents/programming-languages/c-sharp-pro.md +0 -40
  148. package/components/agents/programming-languages/cpp-pro.md +0 -39
  149. package/components/agents/programming-languages/golang-pro.md +0 -33
  150. package/components/agents/programming-languages/javascript-pro.md +0 -36
  151. package/components/agents/programming-languages/php-pro.md +0 -44
  152. package/components/agents/programming-languages/python-pro.md +0 -33
  153. package/components/agents/programming-languages/rust-pro.md +0 -36
  154. package/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  155. package/components/agents/programming-languages/sql-pro.md +0 -36
  156. package/components/agents/programming-languages/typescript-pro.md +0 -38
  157. package/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  158. package/components/agents/security/api-security-audit.md +0 -93
  159. package/components/agents/security/compliance-specialist.md +0 -37
  160. package/components/agents/security/incident-responder.md +0 -75
  161. package/components/agents/security/penetration-tester.md +0 -37
  162. package/components/agents/security/security-auditor.md +0 -33
  163. package/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  164. package/components/agents/web-tools/react-performance-optimizer.md +0 -425
  165. package/components/agents/web-tools/seo-analyzer.md +0 -37
  166. package/components/agents/web-tools/url-context-validator.md +0 -61
  167. package/components/agents/web-tools/url-link-extractor.md +0 -59
  168. package/components/agents/web-tools/web-accessibility-checker.md +0 -37
  169. package/components/commands/automation/act.md +0 -57
  170. package/components/commands/automation/ci-pipeline.md +0 -378
  171. package/components/commands/automation/husky.md +0 -130
  172. package/components/commands/automation/workflow-orchestrator.md +0 -576
  173. package/components/commands/database/supabase-backup-manager.md +0 -37
  174. package/components/commands/database/supabase-data-explorer.md +0 -37
  175. package/components/commands/database/supabase-migration-assistant.md +0 -37
  176. package/components/commands/database/supabase-performance-optimizer.md +0 -37
  177. package/components/commands/database/supabase-realtime-monitor.md +0 -37
  178. package/components/commands/database/supabase-schema-sync.md +0 -37
  179. package/components/commands/database/supabase-security-audit.md +0 -37
  180. package/components/commands/database/supabase-type-generator.md +0 -37
  181. package/components/commands/deployment/add-changelog.md +0 -92
  182. package/components/commands/deployment/blue-green-deployment.md +0 -824
  183. package/components/commands/deployment/changelog-demo-command.md +0 -43
  184. package/components/commands/deployment/ci-setup.md +0 -323
  185. package/components/commands/deployment/containerize-application.md +0 -93
  186. package/components/commands/deployment/deployment-monitoring.md +0 -1228
  187. package/components/commands/deployment/hotfix-deploy.md +0 -283
  188. package/components/commands/deployment/prepare-release.md +0 -357
  189. package/components/commands/deployment/rollback-deploy.md +0 -145
  190. package/components/commands/deployment/setup-automated-releases.md +0 -143
  191. package/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  192. package/components/commands/documentation/create-architecture-documentation.md +0 -95
  193. package/components/commands/documentation/create-onboarding-guide.md +0 -93
  194. package/components/commands/documentation/doc-api.md +0 -242
  195. package/components/commands/documentation/docs-maintenance.md +0 -119
  196. package/components/commands/documentation/generate-api-documentation.md +0 -97
  197. package/components/commands/documentation/interactive-documentation.md +0 -133
  198. package/components/commands/documentation/load-llms-txt.md +0 -39
  199. package/components/commands/documentation/migration-guide.md +0 -250
  200. package/components/commands/documentation/troubleshooting-guide.md +0 -370
  201. package/components/commands/documentation/update-docs.md +0 -107
  202. package/components/commands/game-development/game-analytics-integration.md +0 -128
  203. package/components/commands/game-development/game-asset-pipeline.md +0 -108
  204. package/components/commands/game-development/game-performance-profiler.md +0 -78
  205. package/components/commands/game-development/game-testing-framework.md +0 -112
  206. package/components/commands/game-development/unity-project-setup.md +0 -190
  207. package/components/commands/git-workflow/branch-cleanup.md +0 -181
  208. package/components/commands/git-workflow/commit.md +0 -167
  209. package/components/commands/git-workflow/create-pr.md +0 -19
  210. package/components/commands/git-workflow/create-pull-request.md +0 -126
  211. package/components/commands/git-workflow/create-worktrees.md +0 -174
  212. package/components/commands/git-workflow/fix-github-issue.md +0 -13
  213. package/components/commands/git-workflow/git-bisect-helper.md +0 -261
  214. package/components/commands/git-workflow/pr-review.md +0 -76
  215. package/components/commands/git-workflow/update-branch-name.md +0 -9
  216. package/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  217. package/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  218. package/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  219. package/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  220. package/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  221. package/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  222. package/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  223. package/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  224. package/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  225. package/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  226. package/components/commands/orchestration/archive.md +0 -414
  227. package/components/commands/orchestration/commit.md +0 -305
  228. package/components/commands/orchestration/find.md +0 -272
  229. package/components/commands/orchestration/log.md +0 -355
  230. package/components/commands/orchestration/move.md +0 -220
  231. package/components/commands/orchestration/optimize.md +0 -375
  232. package/components/commands/orchestration/remove.md +0 -301
  233. package/components/commands/orchestration/report.md +0 -292
  234. package/components/commands/orchestration/resume.md +0 -256
  235. package/components/commands/orchestration/start.md +0 -169
  236. package/components/commands/orchestration/status.md +0 -219
  237. package/components/commands/orchestration/sync.md +0 -294
  238. package/components/commands/performance/add-performance-monitoring.md +0 -84
  239. package/components/commands/performance/implement-caching-strategy.md +0 -84
  240. package/components/commands/performance/optimize-api-performance.md +0 -119
  241. package/components/commands/performance/optimize-build.md +0 -139
  242. package/components/commands/performance/optimize-bundle-size.md +0 -84
  243. package/components/commands/performance/optimize-database-performance.md +0 -84
  244. package/components/commands/performance/optimize-memory-usage.md +0 -91
  245. package/components/commands/performance/performance-audit.md +0 -89
  246. package/components/commands/performance/setup-cdn-optimization.md +0 -84
  247. package/components/commands/performance/system-behavior-simulator.md +0 -415
  248. package/components/commands/project-management/add-package.md +0 -90
  249. package/components/commands/project-management/add-to-changelog.md +0 -37
  250. package/components/commands/project-management/create-feature.md +0 -130
  251. package/components/commands/project-management/create-jtbd.md +0 -37
  252. package/components/commands/project-management/create-prd.md +0 -36
  253. package/components/commands/project-management/create-prp.md +0 -37
  254. package/components/commands/project-management/init-project.md +0 -80
  255. package/components/commands/project-management/milestone-tracker.md +0 -44
  256. package/components/commands/project-management/pac-configure.md +0 -32
  257. package/components/commands/project-management/pac-create-epic.md +0 -41
  258. package/components/commands/project-management/pac-create-ticket.md +0 -42
  259. package/components/commands/project-management/pac-update-status.md +0 -39
  260. package/components/commands/project-management/pac-validate.md +0 -35
  261. package/components/commands/project-management/project-health-check.md +0 -58
  262. package/components/commands/project-management/project-timeline-simulator.md +0 -37
  263. package/components/commands/project-management/project-to-linear.md +0 -38
  264. package/components/commands/project-management/release.md +0 -31
  265. package/components/commands/project-management/todo.md +0 -62
  266. package/components/commands/security/add-authentication-system.md +0 -34
  267. package/components/commands/security/dependency-audit.md +0 -32
  268. package/components/commands/security/penetration-test.md +0 -40
  269. package/components/commands/security/secrets-scanner.md +0 -39
  270. package/components/commands/security/security-audit.md +0 -82
  271. package/components/commands/security/security-hardening.md +0 -33
  272. package/components/commands/setup/create-database-migrations.md +0 -35
  273. package/components/commands/setup/design-database-schema.md +0 -37
  274. package/components/commands/setup/design-rest-api.md +0 -37
  275. package/components/commands/setup/implement-graphql-api.md +0 -37
  276. package/components/commands/setup/migrate-to-typescript.md +0 -37
  277. package/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  278. package/components/commands/setup/setup-development-environment.md +0 -37
  279. package/components/commands/setup/setup-docker-containers.md +0 -37
  280. package/components/commands/setup/setup-formatting.md +0 -37
  281. package/components/commands/setup/setup-linting.md +0 -37
  282. package/components/commands/setup/setup-monitoring-observability.md +0 -37
  283. package/components/commands/setup/setup-monorepo.md +0 -37
  284. package/components/commands/setup/setup-rate-limiting.md +0 -37
  285. package/components/commands/setup/update-dependencies.md +0 -35
  286. package/components/commands/simulation/business-scenario-explorer.md +0 -37
  287. package/components/commands/simulation/constraint-modeler.md +0 -37
  288. package/components/commands/simulation/decision-tree-explorer.md +0 -37
  289. package/components/commands/simulation/digital-twin-creator.md +0 -37
  290. package/components/commands/simulation/future-scenario-generator.md +0 -37
  291. package/components/commands/simulation/market-response-modeler.md +0 -37
  292. package/components/commands/simulation/monte-carlo-simulator.md +0 -37
  293. package/components/commands/simulation/simulation-calibrator.md +0 -37
  294. package/components/commands/simulation/system-dynamics-modeler.md +0 -37
  295. package/components/commands/simulation/timeline-compressor.md +0 -37
  296. package/components/commands/svelte/svelte:a11y.md +0 -105
  297. package/components/commands/svelte/svelte:component.md +0 -81
  298. package/components/commands/svelte/svelte:debug.md +0 -48
  299. package/components/commands/svelte/svelte:migrate.md +0 -79
  300. package/components/commands/svelte/svelte:optimize.md +0 -99
  301. package/components/commands/svelte/svelte:scaffold.md +0 -89
  302. package/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  303. package/components/commands/svelte/svelte:storybook-mock.md +0 -213
  304. package/components/commands/svelte/svelte:storybook-setup.md +0 -113
  305. package/components/commands/svelte/svelte:storybook-story.md +0 -145
  306. package/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  307. package/components/commands/svelte/svelte:storybook.md +0 -48
  308. package/components/commands/svelte/svelte:test-coverage.md +0 -77
  309. package/components/commands/svelte/svelte:test-fix.md +0 -74
  310. package/components/commands/svelte/svelte:test-setup.md +0 -85
  311. package/components/commands/svelte/svelte:test.md +0 -60
  312. package/components/commands/sync/bidirectional-sync.md +0 -37
  313. package/components/commands/sync/bulk-import-issues.md +0 -37
  314. package/components/commands/sync/cross-reference-manager.md +0 -37
  315. package/components/commands/sync/issue-to-linear-task.md +0 -37
  316. package/components/commands/sync/linear-task-to-issue.md +0 -37
  317. package/components/commands/sync/sync-automation-setup.md +0 -37
  318. package/components/commands/sync/sync-conflict-resolver.md +0 -37
  319. package/components/commands/sync/sync-health-monitor.md +0 -37
  320. package/components/commands/sync/sync-issues-to-linear.md +0 -37
  321. package/components/commands/sync/sync-linear-to-issues.md +0 -37
  322. package/components/commands/sync/sync-migration-assistant.md +0 -37
  323. package/components/commands/sync/sync-pr-to-task.md +0 -37
  324. package/components/commands/sync/sync-status.md +0 -391
  325. package/components/commands/sync/task-from-pr.md +0 -37
  326. package/components/commands/team/architecture-review.md +0 -37
  327. package/components/commands/team/decision-quality-analyzer.md +0 -37
  328. package/components/commands/team/dependency-mapper.md +0 -37
  329. package/components/commands/team/estimate-assistant.md +0 -37
  330. package/components/commands/team/issue-triage.md +0 -37
  331. package/components/commands/team/memory-spring-cleaning.md +0 -37
  332. package/components/commands/team/migration-assistant.md +0 -37
  333. package/components/commands/team/retrospective-analyzer.md +0 -37
  334. package/components/commands/team/session-learning-capture.md +0 -37
  335. package/components/commands/team/sprint-planning.md +0 -189
  336. package/components/commands/team/standup-report.md +0 -37
  337. package/components/commands/team/team-knowledge-mapper.md +0 -37
  338. package/components/commands/team/team-velocity-tracker.md +0 -37
  339. package/components/commands/team/team-workload-balancer.md +0 -37
  340. package/components/commands/testing/add-mutation-testing.md +0 -37
  341. package/components/commands/testing/add-property-based-testing.md +0 -37
  342. package/components/commands/testing/e2e-setup.md +0 -37
  343. package/components/commands/testing/generate-test-cases.md +0 -37
  344. package/components/commands/testing/generate-tests.md +0 -82
  345. package/components/commands/testing/setup-comprehensive-testing.md +0 -37
  346. package/components/commands/testing/setup-load-testing.md +0 -37
  347. package/components/commands/testing/setup-visual-testing.md +0 -37
  348. package/components/commands/testing/test-automation-orchestrator.md +0 -37
  349. package/components/commands/testing/test-changelog-automation.md +0 -37
  350. package/components/commands/testing/test-coverage.md +0 -37
  351. package/components/commands/testing/test-quality-analyzer.md +0 -37
  352. package/components/commands/testing/testing_plan_integration.md +0 -37
  353. package/components/commands/testing/write-tests.md +0 -37
  354. package/components/commands/utilities/all-tools.md +0 -31
  355. package/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  356. package/components/commands/utilities/check-file.md +0 -53
  357. package/components/commands/utilities/clean-branches.md +0 -243
  358. package/components/commands/utilities/clean.md +0 -1
  359. package/components/commands/utilities/code-permutation-tester.md +0 -341
  360. package/components/commands/utilities/code-review.md +0 -70
  361. package/components/commands/utilities/code-to-task.md +0 -583
  362. package/components/commands/utilities/context-prime.md +0 -1
  363. package/components/commands/utilities/debug-error.md +0 -121
  364. package/components/commands/utilities/directory-deep-dive.md +0 -34
  365. package/components/commands/utilities/explain-code.md +0 -194
  366. package/components/commands/utilities/fix-issue.md +0 -85
  367. package/components/commands/utilities/generate-linear-worklog.md +0 -113
  368. package/components/commands/utilities/git-status.md +0 -39
  369. package/components/commands/utilities/initref.md +0 -3
  370. package/components/commands/utilities/prime.md +0 -41
  371. package/components/commands/utilities/refactor-code.md +0 -116
  372. package/components/commands/utilities/ultra-think.md +0 -153
  373. package/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  374. package/components/hooks/automation/build-on-change.json +0 -16
  375. package/components/hooks/automation/dependency-checker.json +0 -16
  376. package/components/hooks/automation/deployment-health-monitor.json +0 -29
  377. package/components/hooks/automation/discord-detailed-notifications.json +0 -26
  378. package/components/hooks/automation/discord-error-notifications.json +0 -37
  379. package/components/hooks/automation/discord-notifications.json +0 -25
  380. package/components/hooks/automation/simple-notifications.json +0 -16
  381. package/components/hooks/automation/slack-detailed-notifications.json +0 -26
  382. package/components/hooks/automation/slack-error-notifications.json +0 -37
  383. package/components/hooks/automation/slack-notifications.json +0 -25
  384. package/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  385. package/components/hooks/automation/telegram-error-notifications.json +0 -37
  386. package/components/hooks/automation/telegram-notifications.json +0 -25
  387. package/components/hooks/automation/vercel-auto-deploy.json +0 -17
  388. package/components/hooks/automation/vercel-environment-sync.json +0 -29
  389. package/components/hooks/development-tools/change-tracker.json +0 -25
  390. package/components/hooks/development-tools/command-logger.json +0 -16
  391. package/components/hooks/development-tools/file-backup.json +0 -16
  392. package/components/hooks/development-tools/lint-on-save.json +0 -16
  393. package/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  394. package/components/hooks/development-tools/smart-formatting.json +0 -16
  395. package/components/hooks/git-workflow/auto-git-add.json +0 -16
  396. package/components/hooks/git-workflow/smart-commit.json +0 -25
  397. package/components/hooks/performance/performance-budget-guard.json +0 -27
  398. package/components/hooks/performance/performance-monitor.json +0 -27
  399. package/components/hooks/post-tool/format-javascript-files.json +0 -16
  400. package/components/hooks/post-tool/format-python-files.json +0 -16
  401. package/components/hooks/post-tool/git-add-changes.json +0 -25
  402. package/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  403. package/components/hooks/pre-tool/backup-before-edit.json +0 -16
  404. package/components/hooks/pre-tool/notify-before-bash.json +0 -16
  405. package/components/hooks/security/file-protection.json +0 -16
  406. package/components/hooks/security/security-scanner.json +0 -16
  407. package/components/hooks/testing/test-runner.json +0 -16
  408. package/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  409. package/components/mcps/browser_automation/browsermcp.json +0 -9
  410. package/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  411. package/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  412. package/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  413. package/components/mcps/browser_automation/playwright-mcp.json +0 -11
  414. package/components/mcps/database/mysql-integration.json +0 -12
  415. package/components/mcps/database/postgresql-integration.json +0 -12
  416. package/components/mcps/database/supabase.json +0 -17
  417. package/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  418. package/components/mcps/deepgraph/deepgraph-react.json +0 -13
  419. package/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  420. package/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  421. package/components/mcps/devtools/circleci.json +0 -13
  422. package/components/mcps/devtools/context7.json +0 -9
  423. package/components/mcps/devtools/firefly-mcp.json +0 -13
  424. package/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  425. package/components/mcps/devtools/just-mcp.json +0 -9
  426. package/components/mcps/devtools/leetcode.json +0 -8
  427. package/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  428. package/components/mcps/devtools/mcp-server-trello.json +0 -12
  429. package/components/mcps/filesystem/filesystem-access.json +0 -13
  430. package/components/mcps/integration/github-integration.json +0 -12
  431. package/components/mcps/integration/memory-integration.json +0 -9
  432. package/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  433. package/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  434. package/components/mcps/web/web-fetch.json +0 -9
  435. package/components/settings/api/bedrock-configuration.json +0 -7
  436. package/components/settings/api/corporate-proxy.json +0 -7
  437. package/components/settings/api/custom-headers.json +0 -6
  438. package/components/settings/api/vertex-configuration.json +0 -8
  439. package/components/settings/authentication/api-key-helper.json +0 -7
  440. package/components/settings/authentication/force-claudeai-login.json +0 -4
  441. package/components/settings/authentication/force-console-login.json +0 -4
  442. package/components/settings/cleanup/retention-7-days.json +0 -4
  443. package/components/settings/cleanup/retention-90-days.json +0 -4
  444. package/components/settings/environment/bash-timeouts.json +0 -8
  445. package/components/settings/environment/development-utils.json +0 -8
  446. package/components/settings/environment/performance-optimization.json +0 -8
  447. package/components/settings/environment/privacy-focused.json +0 -10
  448. package/components/settings/global/aws-credentials.json +0 -5
  449. package/components/settings/global/custom-model.json +0 -7
  450. package/components/settings/global/git-commit-settings.json +0 -4
  451. package/components/settings/mcp/disable-risky-servers.json +0 -8
  452. package/components/settings/mcp/enable-all-project-servers.json +0 -4
  453. package/components/settings/mcp/enable-specific-servers.json +0 -8
  454. package/components/settings/mcp/mcp-timeouts.json +0 -8
  455. package/components/settings/model/use-haiku.json +0 -4
  456. package/components/settings/model/use-sonnet.json +0 -4
  457. package/components/settings/permissions/additional-directories.json +0 -11
  458. package/components/settings/permissions/allow-git-operations.json +0 -14
  459. package/components/settings/permissions/allow-npm-commands.json +0 -11
  460. package/components/settings/permissions/deny-sensitive-files.json +0 -11
  461. package/components/settings/permissions/development-mode.json +0 -31
  462. package/components/settings/permissions/read-only-mode.json +0 -18
  463. package/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  464. package/components/settings/statusline/bug-circus-statusline.json +0 -7
  465. package/components/settings/statusline/code-casino-statusline.json +0 -7
  466. package/components/settings/statusline/code-spaceship-statusline.json +0 -7
  467. package/components/settings/statusline/colorful-statusline.json +0 -7
  468. package/components/settings/statusline/command-statusline.json +0 -8
  469. package/components/settings/statusline/context-monitor.json +0 -7
  470. package/components/settings/statusline/context-monitor.py +0 -236
  471. package/components/settings/statusline/data-ocean-statusline.json +0 -7
  472. package/components/settings/statusline/emotion-theater-statusline.json +0 -7
  473. package/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  474. package/components/settings/statusline/git-branch-statusline.json +0 -7
  475. package/components/settings/statusline/minimal-statusline.json +0 -7
  476. package/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  477. package/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  478. package/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  479. package/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  480. package/components/settings/statusline/project-info-statusline.json +0 -7
  481. package/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  482. package/components/settings/statusline/time-statusline.json +0 -7
  483. package/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  484. package/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  485. package/components/settings/statusline/vercel-error-alert-system.json +0 -7
  486. package/components/settings/statusline/vercel-multi-env-status.json +0 -7
  487. package/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  488. package/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  489. package/components/settings/telemetry/custom-telemetry.json +0 -7
  490. package/components/settings/telemetry/disable-telemetry.json +0 -6
  491. package/components/settings/telemetry/enable-telemetry.json +0 -6
@@ -1,712 +0,0 @@
1
- ---
2
- allowed-tools: Read, Write, Edit
3
- argument-hint: [middleware-type] [--auth] [--rate-limit] [--redirect] [--rewrite]
4
- description: Create optimized Next.js middleware with authentication, rate limiting, and routing logic
5
- model: sonnet
6
- ---
7
-
8
- ## Next.js Middleware Creator
9
-
10
- **Middleware Type**: $ARGUMENTS
11
-
12
- ## Current Project Analysis
13
-
14
- ### Project Structure
15
- - Next.js config: @next.config.js
16
- - Existing middleware: @middleware.ts or @middleware.js (if exists)
17
- - App directory: @app/ (if App Router)
18
- - Auth configuration: @auth.config.ts or @lib/auth/ (if exists)
19
-
20
- ### Framework Detection
21
- - Package.json: @package.json
22
- - TypeScript config: @tsconfig.json (if exists)
23
- - Authentication libraries: Detect NextAuth.js, Auth0, or custom auth
24
-
25
- ## Middleware Implementation Strategy
26
-
27
- ### 1. Middleware File Structure
28
- Create comprehensive middleware at project root:
29
- ```
30
- middleware.ts # Main middleware file
31
- lib/middleware/ # Middleware utilities
32
- ├── auth.ts # Authentication middleware
33
- ├── rateLimit.ts # Rate limiting logic
34
- ├── redirects.ts # Redirect rules
35
- ├── rewrites.ts # URL rewriting
36
- ├── cors.ts # CORS handling
37
- ├── security.ts # Security headers
38
- └── types.ts # TypeScript types
39
- ```
40
-
41
- ### 2. Base Middleware Template
42
- ```typescript
43
- // middleware.ts
44
- import { NextRequest, NextResponse } from 'next/server';
45
- import { authMiddleware } from './lib/middleware/auth';
46
- import { rateLimitMiddleware } from './lib/middleware/rateLimit';
47
- import { securityMiddleware } from './lib/middleware/security';
48
- import { redirectMiddleware } from './lib/middleware/redirects';
49
-
50
- export async function middleware(request: NextRequest) {
51
- const { pathname } = request.nextUrl;
52
-
53
- // Apply security headers first
54
- let response = await securityMiddleware(request);
55
-
56
- // Apply rate limiting
57
- const rateLimitResult = await rateLimitMiddleware(request);
58
- if (rateLimitResult) return rateLimitResult;
59
-
60
- // Handle authentication for protected routes
61
- if (isProtectedRoute(pathname)) {
62
- const authResult = await authMiddleware(request);
63
- if (authResult) return authResult;
64
- }
65
-
66
- // Handle redirects
67
- const redirectResult = await redirectMiddleware(request);
68
- if (redirectResult) return redirectResult;
69
-
70
- // Apply additional headers to response
71
- if (response) {
72
- return response;
73
- }
74
-
75
- return NextResponse.next();
76
- }
77
-
78
- function isProtectedRoute(pathname: string): boolean {
79
- const protectedPaths = ['/dashboard', '/admin', '/api/protected'];
80
- return protectedPaths.some(path => pathname.startsWith(path));
81
- }
82
-
83
- export const config = {
84
- matcher: [
85
- // Match all request paths except static files and images
86
- '/((?!_next/static|_next/image|favicon.ico|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)',
87
- ],
88
- };
89
- ```
90
-
91
- ## Middleware Components
92
-
93
- ### 1. Authentication Middleware
94
- ```typescript
95
- // lib/middleware/auth.ts
96
- import { NextRequest, NextResponse } from 'next/server';
97
- import { jwtVerify } from 'jose';
98
-
99
- const JWT_SECRET = new TextEncoder().encode(
100
- process.env.JWT_SECRET || 'your-secret-key'
101
- );
102
-
103
- export async function authMiddleware(request: NextRequest) {
104
- try {
105
- // Get token from cookies or Authorization header
106
- const token = request.cookies.get('auth-token')?.value ||
107
- request.headers.get('authorization')?.replace('Bearer ', '');
108
-
109
- if (!token) {
110
- return redirectToLogin(request);
111
- }
112
-
113
- // Verify JWT token
114
- const { payload } = await jwtVerify(token, JWT_SECRET);
115
-
116
- // Add user info to headers for downstream use
117
- const response = NextResponse.next();
118
- response.headers.set('x-user-id', payload.sub as string);
119
- response.headers.set('x-user-role', payload.role as string);
120
-
121
- return response;
122
-
123
- } catch (error) {
124
- console.error('Auth middleware error:', error);
125
- return redirectToLogin(request);
126
- }
127
- }
128
-
129
- function redirectToLogin(request: NextRequest) {
130
- const loginUrl = new URL('/login', request.url);
131
- loginUrl.searchParams.set('callbackUrl', request.url);
132
- return NextResponse.redirect(loginUrl);
133
- }
134
-
135
- // Role-based access control
136
- export function requireRole(allowedRoles: string[]) {
137
- return async function roleMiddleware(request: NextRequest) {
138
- const userRole = request.headers.get('x-user-role');
139
-
140
- if (!userRole || !allowedRoles.includes(userRole)) {
141
- return new NextResponse('Forbidden', { status: 403 });
142
- }
143
-
144
- return NextResponse.next();
145
- };
146
- }
147
- ```
148
-
149
- ### 2. Rate Limiting Middleware
150
- ```typescript
151
- // lib/middleware/rateLimit.ts
152
- import { NextRequest, NextResponse } from 'next/server';
153
-
154
- // Simple in-memory store (use Redis in production)
155
- const requestCounts = new Map<string, { count: number; resetTime: number }>();
156
-
157
- interface RateLimitConfig {
158
- windowMs: number; // Time window in milliseconds
159
- maxRequests: number; // Max requests per window
160
- keyGenerator?: (request: NextRequest) => string;
161
- }
162
-
163
- const defaultConfig: RateLimitConfig = {
164
- windowMs: 15 * 60 * 1000, // 15 minutes
165
- maxRequests: 100, // 100 requests per 15 minutes
166
- };
167
-
168
- export async function rateLimitMiddleware(
169
- request: NextRequest,
170
- config: RateLimitConfig = defaultConfig
171
- ) {
172
- const key = config.keyGenerator
173
- ? config.keyGenerator(request)
174
- : getClientIP(request);
175
-
176
- const now = Date.now();
177
- const clientData = requestCounts.get(key);
178
-
179
- // Reset window if expired
180
- if (!clientData || now > clientData.resetTime) {
181
- requestCounts.set(key, {
182
- count: 1,
183
- resetTime: now + config.windowMs
184
- });
185
- return null; // Allow request
186
- }
187
-
188
- // Increment counter
189
- clientData.count++;
190
-
191
- // Check if limit exceeded
192
- if (clientData.count > config.maxRequests) {
193
- const resetTime = Math.ceil((clientData.resetTime - now) / 1000);
194
-
195
- return new NextResponse('Rate limit exceeded', {
196
- status: 429,
197
- headers: {
198
- 'X-RateLimit-Limit': config.maxRequests.toString(),
199
- 'X-RateLimit-Remaining': '0',
200
- 'X-RateLimit-Reset': resetTime.toString(),
201
- 'Retry-After': resetTime.toString(),
202
- },
203
- });
204
- }
205
-
206
- return null; // Allow request
207
- }
208
-
209
- function getClientIP(request: NextRequest): string {
210
- return request.headers.get('x-forwarded-for') ||
211
- request.headers.get('x-real-ip') ||
212
- request.ip ||
213
- 'unknown';
214
- }
215
-
216
- // API-specific rate limiting
217
- export const apiRateLimit = (request: NextRequest) =>
218
- rateLimitMiddleware(request, {
219
- windowMs: 60 * 1000, // 1 minute
220
- maxRequests: 60, // 60 requests per minute
221
- keyGenerator: (req) => `api:${getClientIP(req)}`,
222
- });
223
- ```
224
-
225
- ### 3. Security Headers Middleware
226
- ```typescript
227
- // lib/middleware/security.ts
228
- import { NextRequest, NextResponse } from 'next/server';
229
-
230
- export async function securityMiddleware(request: NextRequest) {
231
- const response = NextResponse.next();
232
-
233
- // Security headers
234
- const securityHeaders = {
235
- // XSS Protection
236
- 'X-XSS-Protection': '1; mode=block',
237
-
238
- // Content Type Options
239
- 'X-Content-Type-Options': 'nosniff',
240
-
241
- // Frame Options
242
- 'X-Frame-Options': 'DENY',
243
-
244
- // HSTS
245
- 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
246
-
247
- // Referrer Policy
248
- 'Referrer-Policy': 'strict-origin-when-cross-origin',
249
-
250
- // Permissions Policy
251
- 'Permissions-Policy': 'camera=(), microphone=(), geolocation=()',
252
-
253
- // Content Security Policy
254
- 'Content-Security-Policy': generateCSP(),
255
- };
256
-
257
- // Apply security headers
258
- Object.entries(securityHeaders).forEach(([key, value]) => {
259
- response.headers.set(key, value);
260
- });
261
-
262
- return response;
263
- }
264
-
265
- function generateCSP(): string {
266
- const csp = [
267
- "default-src 'self'",
268
- "script-src 'self' 'unsafe-eval' 'unsafe-inline'",
269
- "style-src 'self' 'unsafe-inline'",
270
- "img-src 'self' data: https:",
271
- "font-src 'self' data:",
272
- "connect-src 'self'",
273
- "frame-ancestors 'none'",
274
- ];
275
-
276
- return csp.join('; ');
277
- }
278
- ```
279
-
280
- ### 4. CORS Middleware
281
- ```typescript
282
- // lib/middleware/cors.ts
283
- import { NextRequest, NextResponse } from 'next/server';
284
-
285
- interface CorsOptions {
286
- origin: string | string[] | boolean;
287
- methods: string[];
288
- allowedHeaders: string[];
289
- credentials: boolean;
290
- }
291
-
292
- const defaultCorsOptions: CorsOptions = {
293
- origin: true, // Allow all origins in development
294
- methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
295
- allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With'],
296
- credentials: true,
297
- };
298
-
299
- export function corsMiddleware(options: Partial<CorsOptions> = {}) {
300
- const config = { ...defaultCorsOptions, ...options };
301
-
302
- return function cors(request: NextRequest) {
303
- const response = NextResponse.next();
304
- const origin = request.headers.get('origin');
305
-
306
- // Handle preflight requests
307
- if (request.method === 'OPTIONS') {
308
- return handlePreflight(request, config);
309
- }
310
-
311
- // Set CORS headers
312
- if (shouldAllowOrigin(origin, config.origin)) {
313
- response.headers.set('Access-Control-Allow-Origin', origin || '*');
314
- }
315
-
316
- if (config.credentials) {
317
- response.headers.set('Access-Control-Allow-Credentials', 'true');
318
- }
319
-
320
- response.headers.set(
321
- 'Access-Control-Allow-Methods',
322
- config.methods.join(', ')
323
- );
324
-
325
- response.headers.set(
326
- 'Access-Control-Allow-Headers',
327
- config.allowedHeaders.join(', ')
328
- );
329
-
330
- return response;
331
- };
332
- }
333
-
334
- function handlePreflight(request: NextRequest, config: CorsOptions) {
335
- const headers = new Headers();
336
- const origin = request.headers.get('origin');
337
-
338
- if (shouldAllowOrigin(origin, config.origin)) {
339
- headers.set('Access-Control-Allow-Origin', origin || '*');
340
- }
341
-
342
- if (config.credentials) {
343
- headers.set('Access-Control-Allow-Credentials', 'true');
344
- }
345
-
346
- headers.set('Access-Control-Allow-Methods', config.methods.join(', '));
347
- headers.set('Access-Control-Allow-Headers', config.allowedHeaders.join(', '));
348
- headers.set('Access-Control-Max-Age', '86400'); // 24 hours
349
-
350
- return new NextResponse(null, { status: 200, headers });
351
- }
352
-
353
- function shouldAllowOrigin(
354
- origin: string | null,
355
- allowedOrigin: string | string[] | boolean
356
- ): boolean {
357
- if (allowedOrigin === true) return true;
358
- if (allowedOrigin === false) return false;
359
- if (typeof allowedOrigin === 'string') return origin === allowedOrigin;
360
- if (Array.isArray(allowedOrigin)) return allowedOrigin.includes(origin || '');
361
- return false;
362
- }
363
- ```
364
-
365
- ### 5. Redirect and Rewrite Middleware
366
- ```typescript
367
- // lib/middleware/redirects.ts
368
- import { NextRequest, NextResponse } from 'next/server';
369
-
370
- interface RedirectRule {
371
- source: string | RegExp;
372
- destination: string;
373
- permanent?: boolean;
374
- conditions?: (request: NextRequest) => boolean;
375
- }
376
-
377
- const redirectRules: RedirectRule[] = [
378
- // Legacy URL redirects
379
- {
380
- source: '/old-page',
381
- destination: '/new-page',
382
- permanent: true,
383
- },
384
-
385
- // Dynamic redirects
386
- {
387
- source: /^\/user\/(.+)$/,
388
- destination: '/profile/$1',
389
- permanent: false,
390
- },
391
-
392
- // Conditional redirects
393
- {
394
- source: '/admin',
395
- destination: '/admin/dashboard',
396
- conditions: (request) => {
397
- const userRole = request.headers.get('x-user-role');
398
- return userRole === 'admin';
399
- },
400
- },
401
-
402
- // Maintenance mode
403
- {
404
- source: /.*/,
405
- destination: '/maintenance',
406
- conditions: (request) => {
407
- return process.env.MAINTENANCE_MODE === 'true' &&
408
- !request.nextUrl.pathname.startsWith('/maintenance');
409
- },
410
- },
411
- ];
412
-
413
- export async function redirectMiddleware(request: NextRequest) {
414
- const { pathname } = request.nextUrl;
415
-
416
- for (const rule of redirectRules) {
417
- if (shouldApplyRule(rule, pathname, request)) {
418
- const destination = resolveDestination(rule.destination, pathname);
419
- const url = new URL(destination, request.url);
420
-
421
- return NextResponse.redirect(url, {
422
- status: rule.permanent ? 301 : 302,
423
- });
424
- }
425
- }
426
-
427
- return null; // No redirect needed
428
- }
429
-
430
- function shouldApplyRule(
431
- rule: RedirectRule,
432
- pathname: string,
433
- request: NextRequest
434
- ): boolean {
435
- // Check pattern match
436
- const matches = typeof rule.source === 'string'
437
- ? pathname === rule.source
438
- : rule.source.test(pathname);
439
-
440
- if (!matches) return false;
441
-
442
- // Check additional conditions
443
- if (rule.conditions) {
444
- return rule.conditions(request);
445
- }
446
-
447
- return true;
448
- }
449
-
450
- function resolveDestination(destination: string, pathname: string): string {
451
- // Handle dynamic replacements
452
- return destination.replace(/\$(\d+)/g, (match, num) => {
453
- // Extract from regex matches
454
- return pathname; // Simplified - would need actual regex matching
455
- });
456
- }
457
- ```
458
-
459
- ### 6. A/B Testing Middleware
460
- ```typescript
461
- // lib/middleware/abTest.ts
462
- import { NextRequest, NextResponse } from 'next/server';
463
-
464
- interface ABTest {
465
- name: string;
466
- variants: string[];
467
- traffic: number; // Percentage of traffic to include (0-100)
468
- condition?: (request: NextRequest) => boolean;
469
- }
470
-
471
- const activeTests: ABTest[] = [
472
- {
473
- name: 'homepage-design',
474
- variants: ['control', 'variant-a', 'variant-b'],
475
- traffic: 50,
476
- },
477
- {
478
- name: 'checkout-flow',
479
- variants: ['old-checkout', 'new-checkout'],
480
- traffic: 100,
481
- condition: (req) => req.nextUrl.pathname.startsWith('/checkout'),
482
- },
483
- ];
484
-
485
- export function abTestMiddleware(request: NextRequest) {
486
- const response = NextResponse.next();
487
-
488
- for (const test of activeTests) {
489
- // Check if user should be included in test
490
- if (test.condition && !test.condition(request)) continue;
491
-
492
- // Check traffic allocation
493
- const userId = getUserId(request);
494
- const hash = hashString(userId + test.name);
495
- const bucket = hash % 100;
496
-
497
- if (bucket >= test.traffic) continue;
498
-
499
- // Assign variant
500
- const variantIndex = hash % test.variants.length;
501
- const variant = test.variants[variantIndex];
502
-
503
- // Set cookie for consistent experience
504
- response.cookies.set(`ab_${test.name}`, variant, {
505
- maxAge: 30 * 24 * 60 * 60, // 30 days
506
- httpOnly: false, // Allow client-side access
507
- });
508
-
509
- // Set header for server-side use
510
- response.headers.set(`x-ab-${test.name}`, variant);
511
- }
512
-
513
- return response;
514
- }
515
-
516
- function getUserId(request: NextRequest): string {
517
- // Get user ID from cookie, or generate anonymous ID
518
- return request.cookies.get('user-id')?.value ||
519
- request.headers.get('x-forwarded-for') ||
520
- 'anonymous';
521
- }
522
-
523
- function hashString(str: string): number {
524
- let hash = 0;
525
- for (let i = 0; i < str.length; i++) {
526
- const char = str.charCodeAt(i);
527
- hash = ((hash << 5) - hash) + char;
528
- hash = hash & hash; // Convert to 32-bit integer
529
- }
530
- return Math.abs(hash);
531
- }
532
- ```
533
-
534
- ## Advanced Middleware Patterns
535
-
536
- ### 1. Middleware Composition
537
- ```typescript
538
- // lib/middleware/compose.ts
539
- import { NextRequest, NextResponse } from 'next/server';
540
-
541
- type MiddlewareFunction = (
542
- request: NextRequest,
543
- response?: NextResponse
544
- ) => NextResponse | Promise<NextResponse> | null;
545
-
546
- export function composeMiddleware(...middlewares: MiddlewareFunction[]) {
547
- return async function composedMiddleware(request: NextRequest) {
548
- let response: NextResponse | null = null;
549
-
550
- for (const middleware of middlewares) {
551
- const result = await middleware(request, response || undefined);
552
-
553
- if (result && result.status >= 300 && result.status < 400) {
554
- // Handle redirects immediately
555
- return result;
556
- }
557
-
558
- if (result && result.status >= 400) {
559
- // Handle errors immediately
560
- return result;
561
- }
562
-
563
- if (result) {
564
- response = result;
565
- }
566
- }
567
-
568
- return response || NextResponse.next();
569
- };
570
- }
571
- ```
572
-
573
- ### 2. Feature Flag Middleware
574
- ```typescript
575
- // lib/middleware/featureFlags.ts
576
- import { NextRequest, NextResponse } from 'next/server';
577
-
578
- interface FeatureFlag {
579
- name: string;
580
- enabled: boolean;
581
- percentage?: number;
582
- userGroups?: string[];
583
- geoRegions?: string[];
584
- }
585
-
586
- const featureFlags: FeatureFlag[] = [
587
- {
588
- name: 'new-dashboard',
589
- enabled: true,
590
- percentage: 25,
591
- },
592
- {
593
- name: 'premium-features',
594
- enabled: true,
595
- userGroups: ['premium', 'admin'],
596
- },
597
- ];
598
-
599
- export function featureFlagMiddleware(request: NextRequest) {
600
- const response = NextResponse.next();
601
- const activeFlags: Record<string, boolean> = {};
602
-
603
- for (const flag of featureFlags) {
604
- if (!flag.enabled) {
605
- activeFlags[flag.name] = false;
606
- continue;
607
- }
608
-
609
- // Check percentage rollout
610
- if (flag.percentage) {
611
- const userId = getUserId(request);
612
- const hash = hashString(userId + flag.name) % 100;
613
- if (hash >= flag.percentage) {
614
- activeFlags[flag.name] = false;
615
- continue;
616
- }
617
- }
618
-
619
- // Check user groups
620
- if (flag.userGroups) {
621
- const userRole = request.headers.get('x-user-role');
622
- if (!userRole || !flag.userGroups.includes(userRole)) {
623
- activeFlags[flag.name] = false;
624
- continue;
625
- }
626
- }
627
-
628
- activeFlags[flag.name] = true;
629
- }
630
-
631
- // Set feature flags in headers
632
- response.headers.set('x-feature-flags', JSON.stringify(activeFlags));
633
-
634
- return response;
635
- }
636
- ```
637
-
638
- ## Middleware Testing
639
-
640
- ### 1. Unit Tests
641
- ```typescript
642
- // __tests__/middleware.test.ts
643
- import { NextRequest } from 'next/server';
644
- import { middleware } from '../middleware';
645
-
646
- describe('Middleware', () => {
647
- it('should add security headers', async () => {
648
- const request = new NextRequest('http://localhost:3000/');
649
- const response = await middleware(request);
650
-
651
- expect(response.headers.get('X-Frame-Options')).toBe('DENY');
652
- expect(response.headers.get('X-Content-Type-Options')).toBe('nosniff');
653
- });
654
-
655
- it('should redirect unauthenticated users from protected routes', async () => {
656
- const request = new NextRequest('http://localhost:3000/dashboard');
657
- const response = await middleware(request);
658
-
659
- expect(response.status).toBe(302);
660
- expect(response.headers.get('location')).toContain('/login');
661
- });
662
- });
663
- ```
664
-
665
- ### 2. Integration Tests
666
- ```typescript
667
- // __tests__/middleware.integration.test.ts
668
- describe('Middleware Integration', () => {
669
- it('should handle complete authentication flow', async () => {
670
- // Test login -> dashboard -> logout flow
671
- });
672
-
673
- it('should respect rate limiting', async () => {
674
- // Test multiple requests hitting rate limit
675
- });
676
- });
677
- ```
678
-
679
- ## Deployment and Monitoring
680
-
681
- ### 1. Performance Monitoring
682
- ```typescript
683
- // lib/middleware/monitoring.ts
684
- export function monitoringMiddleware(request: NextRequest) {
685
- const start = Date.now();
686
-
687
- return new Response(JSON.stringify({}), {
688
- status: 200,
689
- headers: {
690
- 'x-response-time': `${Date.now() - start}ms`,
691
- },
692
- });
693
- }
694
- ```
695
-
696
- ### 2. Error Handling
697
- ```typescript
698
- // lib/middleware/errorHandler.ts
699
- export function errorHandlerMiddleware(
700
- error: Error,
701
- request: NextRequest
702
- ): NextResponse {
703
- console.error('Middleware error:', error);
704
-
705
- // Log to monitoring service
706
- // logError(error, request);
707
-
708
- return new NextResponse('Internal Server Error', { status: 500 });
709
- }
710
- ```
711
-
712
- Generate comprehensive middleware implementation with all requested features, proper TypeScript types, and production-ready patterns.