claude-code-templates 1.21.1 → 1.21.2

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 (743) hide show
  1. package/README.md +79 -77
  2. package/package.json +86 -19
  3. package/.claude/agents/agent-expert.md +0 -477
  4. package/.claude/agents/cli-ui-designer.md +0 -405
  5. package/.claude/agents/command-expert.md +0 -421
  6. package/.claude/agents/docusaurus-expert.md +0 -51
  7. package/.claude/agents/mcp-expert.md +0 -258
  8. package/.claude/commands/lint.md +0 -111
  9. package/.claude/commands/test.md +0 -73
  10. package/.claude/settings.local.json +0 -34
  11. package/.github/WORKFLOWS_REFERENCE.md +0 -88
  12. package/.github/workflows/deploy-docusaurus.yml +0 -31
  13. package/.github/workflows/deploy.yml +0 -33
  14. package/.github/workflows/publish-package.yml +0 -125
  15. package/.mcp.json +0 -4
  16. package/CLAUDE.md +0 -482
  17. package/CODE_OF_CONDUCT.md +0 -82
  18. package/CONTRIBUTING.md +0 -505
  19. package/DEPLOYMENT.md +0 -60
  20. package/LICENSE +0 -21
  21. package/ROADMAP.md +0 -278
  22. package/SECURITY.md +0 -65
  23. package/api/index.html +0 -1
  24. package/api/package.json +0 -7
  25. package/api/track-download-supabase.js +0 -150
  26. package/cli-tool/Makefile +0 -102
  27. package/cli-tool/README.md +0 -126
  28. package/cli-tool/TESTING.md +0 -262
  29. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  30. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  31. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
  32. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
  33. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
  34. package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
  35. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  36. package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
  37. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  38. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  39. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  40. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  41. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  42. package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
  43. package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
  44. package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
  45. package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
  46. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  47. package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
  48. package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
  49. package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
  50. package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
  51. package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
  52. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
  53. package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
  54. package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
  55. package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
  56. package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
  57. package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
  58. package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
  59. package/cli-tool/components/agents/database/database-admin.md +0 -33
  60. package/cli-tool/components/agents/database/database-architect.md +0 -590
  61. package/cli-tool/components/agents/database/database-optimization.md +0 -33
  62. package/cli-tool/components/agents/database/database-optimizer.md +0 -33
  63. package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
  64. package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
  65. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
  66. package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
  67. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  68. package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
  69. package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
  70. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
  71. package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
  72. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
  73. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
  74. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
  75. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
  76. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
  77. package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
  78. package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
  79. package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
  80. package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
  81. package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
  82. package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
  83. package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
  84. package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
  85. package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
  86. package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
  87. package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
  88. package/cli-tool/components/agents/development-tools/debugger.md +0 -31
  89. package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
  90. package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
  91. package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
  92. package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
  93. package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
  94. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  95. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  96. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  97. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  98. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
  99. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
  100. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  101. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  102. package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
  103. package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
  104. package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -52
  105. package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
  106. package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -477
  107. package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
  108. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
  109. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
  110. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  111. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  112. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  113. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  114. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  115. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  116. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  117. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  118. package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
  119. package/cli-tool/components/agents/game-development/game-designer.md +0 -37
  120. package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
  121. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
  122. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  123. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  124. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  125. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  126. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  127. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  128. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  129. package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
  130. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
  131. package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
  132. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  133. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  134. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  135. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  136. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  137. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  138. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  139. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  140. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  141. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  142. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  143. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
  144. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  145. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  146. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
  147. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  148. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  149. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  150. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  151. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  152. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  153. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  154. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  155. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  156. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
  157. package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
  158. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
  159. package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
  160. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  161. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  162. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  163. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  164. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  165. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  166. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  167. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  168. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  169. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  170. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  171. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  172. package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
  173. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
  174. package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
  175. package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
  176. package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
  177. package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
  178. package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
  179. package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
  180. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  181. package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
  182. package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
  183. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  184. package/cli-tool/components/agents/security/api-security-audit.md +0 -93
  185. package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
  186. package/cli-tool/components/agents/security/incident-responder.md +0 -75
  187. package/cli-tool/components/agents/security/penetration-tester.md +0 -37
  188. package/cli-tool/components/agents/security/security-auditor.md +0 -33
  189. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  190. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
  191. package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
  192. package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
  193. package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
  194. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
  195. package/cli-tool/components/commands/automation/act.md +0 -57
  196. package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
  197. package/cli-tool/components/commands/automation/husky.md +0 -130
  198. package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
  199. package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
  200. package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
  201. package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
  202. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
  203. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
  204. package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
  205. package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
  206. package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
  207. package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
  208. package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
  209. package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
  210. package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
  211. package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
  212. package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
  213. package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
  214. package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
  215. package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
  216. package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
  217. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  218. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
  219. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
  220. package/cli-tool/components/commands/documentation/doc-api.md +0 -242
  221. package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
  222. package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
  223. package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
  224. package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
  225. package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
  226. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
  227. package/cli-tool/components/commands/documentation/update-docs.md +0 -107
  228. package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
  229. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
  230. package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
  231. package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
  232. package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
  233. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
  234. package/cli-tool/components/commands/git-workflow/commit.md +0 -167
  235. package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
  236. package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
  237. package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
  238. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
  239. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
  240. package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
  241. package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
  242. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  243. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  244. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  245. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  246. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  247. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  248. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  249. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  250. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  251. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  252. package/cli-tool/components/commands/orchestration/archive.md +0 -414
  253. package/cli-tool/components/commands/orchestration/commit.md +0 -305
  254. package/cli-tool/components/commands/orchestration/find.md +0 -272
  255. package/cli-tool/components/commands/orchestration/log.md +0 -355
  256. package/cli-tool/components/commands/orchestration/move.md +0 -220
  257. package/cli-tool/components/commands/orchestration/optimize.md +0 -375
  258. package/cli-tool/components/commands/orchestration/remove.md +0 -301
  259. package/cli-tool/components/commands/orchestration/report.md +0 -292
  260. package/cli-tool/components/commands/orchestration/resume.md +0 -256
  261. package/cli-tool/components/commands/orchestration/start.md +0 -169
  262. package/cli-tool/components/commands/orchestration/status.md +0 -219
  263. package/cli-tool/components/commands/orchestration/sync.md +0 -294
  264. package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
  265. package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
  266. package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
  267. package/cli-tool/components/commands/performance/optimize-build.md +0 -139
  268. package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
  269. package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
  270. package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
  271. package/cli-tool/components/commands/performance/performance-audit.md +0 -89
  272. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
  273. package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
  274. package/cli-tool/components/commands/project-management/add-package.md +0 -90
  275. package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
  276. package/cli-tool/components/commands/project-management/create-feature.md +0 -130
  277. package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
  278. package/cli-tool/components/commands/project-management/create-prd.md +0 -36
  279. package/cli-tool/components/commands/project-management/create-prp.md +0 -37
  280. package/cli-tool/components/commands/project-management/init-project.md +0 -80
  281. package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
  282. package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
  283. package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
  284. package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
  285. package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
  286. package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
  287. package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
  288. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
  289. package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
  290. package/cli-tool/components/commands/project-management/release.md +0 -31
  291. package/cli-tool/components/commands/project-management/todo.md +0 -62
  292. package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
  293. package/cli-tool/components/commands/security/dependency-audit.md +0 -32
  294. package/cli-tool/components/commands/security/penetration-test.md +0 -40
  295. package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
  296. package/cli-tool/components/commands/security/security-audit.md +0 -82
  297. package/cli-tool/components/commands/security/security-hardening.md +0 -33
  298. package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
  299. package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
  300. package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
  301. package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
  302. package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
  303. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  304. package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
  305. package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
  306. package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
  307. package/cli-tool/components/commands/setup/setup-linting.md +0 -37
  308. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
  309. package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
  310. package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
  311. package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
  312. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
  313. package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
  314. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
  315. package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
  316. package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
  317. package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
  318. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
  319. package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
  320. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
  321. package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
  322. package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
  323. package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
  324. package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
  325. package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
  326. package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
  327. package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
  328. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  329. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
  330. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
  331. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
  332. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  333. package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
  334. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
  335. package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
  336. package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
  337. package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
  338. package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
  339. package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
  340. package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
  341. package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
  342. package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
  343. package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
  344. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
  345. package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
  346. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
  347. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
  348. package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
  349. package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
  350. package/cli-tool/components/commands/sync/sync-status.md +0 -391
  351. package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
  352. package/cli-tool/components/commands/team/architecture-review.md +0 -37
  353. package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
  354. package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
  355. package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
  356. package/cli-tool/components/commands/team/issue-triage.md +0 -37
  357. package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
  358. package/cli-tool/components/commands/team/migration-assistant.md +0 -37
  359. package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
  360. package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
  361. package/cli-tool/components/commands/team/sprint-planning.md +0 -189
  362. package/cli-tool/components/commands/team/standup-report.md +0 -37
  363. package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
  364. package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
  365. package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
  366. package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
  367. package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
  368. package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
  369. package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
  370. package/cli-tool/components/commands/testing/generate-tests.md +0 -82
  371. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
  372. package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
  373. package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
  374. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
  375. package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
  376. package/cli-tool/components/commands/testing/test-coverage.md +0 -37
  377. package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
  378. package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
  379. package/cli-tool/components/commands/testing/write-tests.md +0 -37
  380. package/cli-tool/components/commands/utilities/all-tools.md +0 -31
  381. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  382. package/cli-tool/components/commands/utilities/check-file.md +0 -53
  383. package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
  384. package/cli-tool/components/commands/utilities/clean.md +0 -1
  385. package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
  386. package/cli-tool/components/commands/utilities/code-review.md +0 -70
  387. package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
  388. package/cli-tool/components/commands/utilities/context-prime.md +0 -1
  389. package/cli-tool/components/commands/utilities/debug-error.md +0 -121
  390. package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
  391. package/cli-tool/components/commands/utilities/explain-code.md +0 -194
  392. package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
  393. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
  394. package/cli-tool/components/commands/utilities/git-status.md +0 -39
  395. package/cli-tool/components/commands/utilities/initref.md +0 -3
  396. package/cli-tool/components/commands/utilities/prime.md +0 -41
  397. package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
  398. package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
  399. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  400. package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
  401. package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
  402. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
  403. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
  404. package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
  405. package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
  406. package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
  407. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
  408. package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
  409. package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
  410. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  411. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
  412. package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
  413. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
  414. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
  415. package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
  416. package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
  417. package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
  418. package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
  419. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  420. package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
  421. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
  422. package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
  423. package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
  424. package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
  425. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
  426. package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
  427. package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
  428. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  429. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
  430. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
  431. package/cli-tool/components/hooks/security/file-protection.json +0 -16
  432. package/cli-tool/components/hooks/security/security-scanner.json +0 -16
  433. package/cli-tool/components/hooks/testing/test-runner.json +0 -16
  434. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  435. package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
  436. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  437. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  438. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  439. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
  440. package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
  441. package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
  442. package/cli-tool/components/mcps/database/supabase.json +0 -17
  443. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  444. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
  445. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  446. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  447. package/cli-tool/components/mcps/devtools/circleci.json +0 -13
  448. package/cli-tool/components/mcps/devtools/context7.json +0 -9
  449. package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
  450. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  451. package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
  452. package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
  453. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  454. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
  455. package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
  456. package/cli-tool/components/mcps/integration/github-integration.json +0 -12
  457. package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
  458. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  459. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  460. package/cli-tool/components/mcps/web/web-fetch.json +0 -9
  461. package/cli-tool/components/sandbox/README.md +0 -169
  462. package/cli-tool/components/sandbox/e2b/.env.example +0 -10
  463. package/cli-tool/components/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -203
  464. package/cli-tool/components/sandbox/e2b/claude-code-sandbox.md +0 -110
  465. package/cli-tool/components/sandbox/e2b/e2b-launcher.py +0 -355
  466. package/cli-tool/components/sandbox/e2b/e2b-monitor.py +0 -229
  467. package/cli-tool/components/sandbox/e2b/requirements.txt +0 -1
  468. package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
  469. package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
  470. package/cli-tool/components/settings/api/custom-headers.json +0 -6
  471. package/cli-tool/components/settings/api/vertex-configuration.json +0 -8
  472. package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
  473. package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
  474. package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
  475. package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
  476. package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
  477. package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
  478. package/cli-tool/components/settings/environment/development-utils.json +0 -8
  479. package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
  480. package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
  481. package/cli-tool/components/settings/global/aws-credentials.json +0 -5
  482. package/cli-tool/components/settings/global/custom-model.json +0 -7
  483. package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
  484. package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
  485. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
  486. package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
  487. package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
  488. package/cli-tool/components/settings/model/use-haiku.json +0 -4
  489. package/cli-tool/components/settings/model/use-sonnet.json +0 -4
  490. package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
  491. package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
  492. package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
  493. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
  494. package/cli-tool/components/settings/permissions/development-mode.json +0 -31
  495. package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
  496. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  497. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
  498. package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
  499. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
  500. package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
  501. package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
  502. package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
  503. package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
  504. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
  505. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
  506. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  507. package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
  508. package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
  509. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  510. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  511. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  512. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  513. package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
  514. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  515. package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
  516. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  517. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  518. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
  519. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
  520. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  521. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  522. package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
  523. package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
  524. package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
  525. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
  526. package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
  527. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
  528. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
  529. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -909
  530. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
  531. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
  532. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
  533. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
  534. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
  535. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
  536. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
  537. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
  538. package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
  539. package/cli-tool/jest.config.js +0 -84
  540. package/cli-tool/package-lock.json +0 -5471
  541. package/cli-tool/package.json +0 -95
  542. package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
  543. package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
  544. package/cli-tool/templates/common/.mcp.json +0 -41
  545. package/cli-tool/templates/common/CLAUDE.md +0 -109
  546. package/cli-tool/templates/common/README.md +0 -96
  547. package/cli-tool/templates/go/.mcp.json +0 -78
  548. package/cli-tool/templates/go/README.md +0 -25
  549. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
  550. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
  551. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
  552. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
  553. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
  554. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
  555. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
  556. package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
  557. package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
  558. package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
  559. package/cli-tool/templates/javascript-typescript/README.md +0 -259
  560. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
  561. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
  562. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
  563. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
  564. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
  565. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
  566. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
  567. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
  568. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
  569. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
  570. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
  571. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
  572. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
  573. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
  574. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
  575. package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
  576. package/cli-tool/templates/python/.claude/commands/test.md +0 -73
  577. package/cli-tool/templates/python/.claude/settings.json +0 -153
  578. package/cli-tool/templates/python/.mcp.json +0 -78
  579. package/cli-tool/templates/python/CLAUDE.md +0 -276
  580. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
  581. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
  582. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
  583. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
  584. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
  585. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
  586. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
  587. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
  588. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
  589. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
  590. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
  591. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
  592. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
  593. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
  594. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
  595. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
  596. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
  597. package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
  598. package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
  599. package/cli-tool/templates/ruby/.claude/settings.json +0 -146
  600. package/cli-tool/templates/ruby/.mcp.json +0 -83
  601. package/cli-tool/templates/ruby/CLAUDE.md +0 -284
  602. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
  603. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
  604. package/cli-tool/templates/rust/.mcp.json +0 -78
  605. package/cli-tool/templates/rust/README.md +0 -26
  606. package/cli-tool/test-commands.sh +0 -85
  607. package/cli-tool/test-detailed.sh +0 -267
  608. package/docs/CNAME +0 -1
  609. package/docs/README.md +0 -49
  610. package/docs/_config.yml +0 -43
  611. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  612. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  613. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  614. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  615. package/docs/blog/e2b-claude-code-sandbox/index.html +0 -1061
  616. package/docs/blog/index.html +0 -239
  617. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1021
  618. package/docs/blog/supabase-claude-code-integration/index.html +0 -837
  619. package/docs/components-metadata.json +0 -303
  620. package/docs/components.json +0 -4072
  621. package/docs/css/blog.css +0 -821
  622. package/docs/css/stack-page.css +0 -776
  623. package/docs/css/styles.css +0 -4480
  624. package/docs/css/trending.css +0 -971
  625. package/docs/css/workflows-modal.css +0 -739
  626. package/docs/css/workflows.css +0 -1234
  627. package/docs/download-stats.html +0 -514
  628. package/docs/index.html +0 -634
  629. package/docs/js/carousel.js +0 -177
  630. package/docs/js/cart-manager.js +0 -529
  631. package/docs/js/data-loader.js +0 -626
  632. package/docs/js/generate-search-data.js +0 -82
  633. package/docs/js/index-events.js +0 -1707
  634. package/docs/js/modal-helpers.js +0 -334
  635. package/docs/js/script.js +0 -2167
  636. package/docs/js/search-functionality.js +0 -992
  637. package/docs/js/stack-router.js +0 -561
  638. package/docs/js/trending.js +0 -493
  639. package/docs/js/utils.js +0 -43
  640. package/docs/js/workflows-events.js +0 -1146
  641. package/docs/js/workflows.js +0 -627
  642. package/docs/sandbox-interface.html +0 -1406
  643. package/docs/static/img/logo.svg +0 -23
  644. package/docs/trending-data.json +0 -579
  645. package/docs/trending.html +0 -179
  646. package/docs/workflows.html +0 -379
  647. package/docu/README.md +0 -41
  648. package/docu/docs/analytics/agent-chats-manager.md +0 -33
  649. package/docu/docs/analytics/analysis-tools.md +0 -54
  650. package/docu/docs/analytics/overview.md +0 -48
  651. package/docu/docs/analytics/real-time-monitoring.md +0 -16
  652. package/docu/docs/cli-options.md +0 -90
  653. package/docu/docs/components/agents.md +0 -296
  654. package/docu/docs/components/commands.md +0 -426
  655. package/docu/docs/components/discord-notifications.md +0 -59
  656. package/docu/docs/components/hooks.md +0 -381
  657. package/docu/docs/components/mcps.md +0 -510
  658. package/docu/docs/components/overview.md +0 -287
  659. package/docu/docs/components/settings.md +0 -223
  660. package/docu/docs/components/slack-notifications.md +0 -67
  661. package/docu/docs/components/telegram-notifications.md +0 -73
  662. package/docu/docs/contributing.md +0 -11
  663. package/docu/docs/health-check/overview.md +0 -33
  664. package/docu/docs/intro.md +0 -109
  665. package/docu/docs/project-setup/automation-hooks.md +0 -14
  666. package/docu/docs/project-setup/framework-specific-setup.md +0 -86
  667. package/docu/docs/project-setup/interactive-setup.md +0 -59
  668. package/docu/docs/project-setup/mcp-integration.md +0 -17
  669. package/docu/docs/project-setup/supported-languages-frameworks.md +0 -15
  670. package/docu/docs/project-setup/what-gets-installed.md +0 -176
  671. package/docu/docs/safety-features.md +0 -13
  672. package/docu/docs/support.md +0 -13
  673. package/docu/docs/usage-examples/advanced-options.md +0 -87
  674. package/docu/docs/usage-examples/alternative-commands.md +0 -31
  675. package/docu/docs/usage-examples/framework-specific-quick-setup.md +0 -47
  676. package/docu/docs/usage-examples/interactive-setup.md +0 -16
  677. package/docu/docusaurus.config.ts +0 -163
  678. package/docu/package-lock.json +0 -16185
  679. package/docu/package.json +0 -47
  680. package/docu/sidebars.ts +0 -85
  681. package/docu/src/components/HomepageFeatures/index.tsx +0 -82
  682. package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
  683. package/docu/src/css/custom.css +0 -475
  684. package/docu/src/pages/index.module.css +0 -109
  685. package/docu/src/pages/index.tsx +0 -65
  686. package/docu/src/pages/markdown-page.md +0 -7
  687. package/docu/static/img/favicon.ico +0 -0
  688. package/docu/static/img/logo.svg +0 -23
  689. package/docu/tsconfig.json +0 -8
  690. package/generate_components_json.py +0 -199
  691. package/social-preview.png +0 -0
  692. package/vercel.json +0 -75
  693. /package/{cli-tool/bin → bin}/create-claude-config.js +0 -0
  694. /package/{cli-tool/src → src}/agents.js +0 -0
  695. /package/{cli-tool/src → src}/analytics/core/AgentAnalyzer.js +0 -0
  696. /package/{cli-tool/src → src}/analytics/core/ConversationAnalyzer.js +0 -0
  697. /package/{cli-tool/src → src}/analytics/core/FileWatcher.js +0 -0
  698. /package/{cli-tool/src → src}/analytics/core/ProcessDetector.js +0 -0
  699. /package/{cli-tool/src → src}/analytics/core/SessionAnalyzer.js +0 -0
  700. /package/{cli-tool/src → src}/analytics/core/StateCalculator.js +0 -0
  701. /package/{cli-tool/src → src}/analytics/data/DataCache.js +0 -0
  702. /package/{cli-tool/src → src}/analytics/notifications/NotificationManager.js +0 -0
  703. /package/{cli-tool/src → src}/analytics/notifications/WebSocketServer.js +0 -0
  704. /package/{cli-tool/src → src}/analytics/utils/PerformanceMonitor.js +0 -0
  705. /package/{cli-tool/src → src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  706. /package/{cli-tool/src → src}/analytics-web/assets/js/main.js.deprecated +0 -0
  707. /package/{cli-tool/src → src}/analytics-web/chats_mobile.html +0 -0
  708. /package/{cli-tool/src → src}/analytics-web/components/ActivityHeatmap.js +0 -0
  709. /package/{cli-tool/src → src}/analytics-web/components/AgentAnalytics.js +0 -0
  710. /package/{cli-tool/src → src}/analytics-web/components/App.js +0 -0
  711. /package/{cli-tool/src → src}/analytics-web/components/Charts.js +0 -0
  712. /package/{cli-tool/src → src}/analytics-web/components/ConversationTable.js +0 -0
  713. /package/{cli-tool/src → src}/analytics-web/components/DashboardPage.js +0 -0
  714. /package/{cli-tool/src → src}/analytics-web/components/HeaderComponent.js +0 -0
  715. /package/{cli-tool/src → src}/analytics-web/components/SessionTimer.js +0 -0
  716. /package/{cli-tool/src → src}/analytics-web/components/Sidebar.js +0 -0
  717. /package/{cli-tool/src → src}/analytics-web/components/ToolDisplay.js +0 -0
  718. /package/{cli-tool/src → src}/analytics-web/index.html +0 -0
  719. /package/{cli-tool/src → src}/analytics-web/index.html.original +0 -0
  720. /package/{cli-tool/src → src}/analytics-web/services/DataService.js +0 -0
  721. /package/{cli-tool/src → src}/analytics-web/services/StateService.js +0 -0
  722. /package/{cli-tool/src → src}/analytics-web/services/WebSocketService.js +0 -0
  723. /package/{cli-tool/src → src}/analytics.js +0 -0
  724. /package/{docu/static/.nojekyll → src/analytics.log} +0 -0
  725. /package/{cli-tool/src → src}/chats-mobile.js +0 -0
  726. /package/{cli-tool/src → src}/claude-api-proxy.js +0 -0
  727. /package/{cli-tool/src → src}/command-scanner.js +0 -0
  728. /package/{cli-tool/src → src}/command-stats.js +0 -0
  729. /package/{cli-tool/src → src}/console-bridge.js +0 -0
  730. /package/{cli-tool/src → src}/file-operations.js +0 -0
  731. /package/{cli-tool/src → src}/health-check.js +0 -0
  732. /package/{cli-tool/src → src}/hook-scanner.js +0 -0
  733. /package/{cli-tool/src → src}/hook-stats.js +0 -0
  734. /package/{cli-tool/src → src}/index.js +0 -0
  735. /package/{cli-tool/src → src}/mcp-stats.js +0 -0
  736. /package/{cli-tool/src → src}/prompts.js +0 -0
  737. /package/{cli-tool/src → src}/sandbox-server.js +0 -0
  738. /package/{cli-tool/src → src}/sdk/global-agent-manager.js +0 -0
  739. /package/{cli-tool/src → src}/templates.js +0 -0
  740. /package/{cli-tool/src → src}/test-activity-data.json +0 -0
  741. /package/{cli-tool/src → src}/test-console-bridge.js +0 -0
  742. /package/{cli-tool/src → src}/tracking-service.js +0 -0
  743. /package/{cli-tool/src → src}/utils.js +0 -0
@@ -1,775 +0,0 @@
1
- # FastAPI Authentication & Authorization
2
-
3
- Complete authentication system with JWT tokens, OAuth2, and role-based access control.
4
-
5
- ## Usage
6
-
7
- ```bash
8
- # Install auth dependencies
9
- pip install python-jose[cryptography] passlib[bcrypt] python-multipart
10
-
11
- # Generate secret key
12
- openssl rand -hex 32
13
- ```
14
-
15
- ## JWT Configuration
16
-
17
- ```python
18
- # app/core/security.py
19
- from datetime import datetime, timedelta
20
- from typing import Optional, Union, Any
21
- from jose import JWTError, jwt
22
- from passlib.context import CryptContext
23
- from app.core.config import settings
24
-
25
- # Password hashing
26
- pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
27
-
28
- # JWT settings
29
- SECRET_KEY = settings.SECRET_KEY
30
- ALGORITHM = "HS256"
31
- ACCESS_TOKEN_EXPIRE_MINUTES = 30
32
- REFRESH_TOKEN_EXPIRE_DAYS = 7
33
-
34
- def create_access_token(
35
- subject: Union[str, Any],
36
- expires_delta: Optional[timedelta] = None
37
- ) -> str:
38
- """Create JWT access token."""
39
- if expires_delta:
40
- expire = datetime.utcnow() + expires_delta
41
- else:
42
- expire = datetime.utcnow() + timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
43
-
44
- to_encode = {"exp": expire, "sub": str(subject), "type": "access"}
45
- encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
46
- return encoded_jwt
47
-
48
- def create_refresh_token(subject: Union[str, Any]) -> str:
49
- """Create JWT refresh token."""
50
- expire = datetime.utcnow() + timedelta(days=REFRESH_TOKEN_EXPIRE_DAYS)
51
- to_encode = {"exp": expire, "sub": str(subject), "type": "refresh"}
52
- encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
53
- return encoded_jwt
54
-
55
- def verify_password(plain_password: str, hashed_password: str) -> bool:
56
- """Verify password against hash."""
57
- return pwd_context.verify(plain_password, hashed_password)
58
-
59
- def get_password_hash(password: str) -> str:
60
- """Generate password hash."""
61
- return pwd_context.hash(password)
62
-
63
- def decode_token(token: str) -> Optional[dict]:
64
- """Decode and verify JWT token."""
65
- try:
66
- payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
67
- return payload
68
- except JWTError:
69
- return None
70
- ```
71
-
72
- ## Authentication Dependencies
73
-
74
- ```python
75
- # app/api/dependencies/auth.py
76
- from typing import Optional
77
- from fastapi import Depends, HTTPException, status
78
- from fastapi.security import OAuth2PasswordBearer, HTTPBearer, HTTPAuthorizationCredentials
79
- from sqlalchemy.ext.asyncio import AsyncSession
80
- from app.core.security import decode_token
81
- from app.db.database import get_db
82
- from app.models.user import User
83
- from app.repositories.user import UserRepository
84
-
85
- # OAuth2 scheme
86
- oauth2_scheme = OAuth2PasswordBearer(
87
- tokenUrl="/api/v1/auth/login",
88
- scheme_name="JWT"
89
- )
90
-
91
- # Bearer token scheme
92
- security = HTTPBearer()
93
-
94
- async def get_current_user(
95
- token: str = Depends(oauth2_scheme),
96
- db: AsyncSession = Depends(get_db)
97
- ) -> User:
98
- """Get current authenticated user."""
99
- credentials_exception = HTTPException(
100
- status_code=status.HTTP_401_UNAUTHORIZED,
101
- detail="Could not validate credentials",
102
- headers={"WWW-Authenticate": "Bearer"},
103
- )
104
-
105
- payload = decode_token(token)
106
- if payload is None:
107
- raise credentials_exception
108
-
109
- user_id: str = payload.get("sub")
110
- token_type: str = payload.get("type")
111
-
112
- if user_id is None or token_type != "access":
113
- raise credentials_exception
114
-
115
- user_repo = UserRepository(User, db)
116
- user = await user_repo.get(int(user_id))
117
-
118
- if user is None:
119
- raise credentials_exception
120
-
121
- if not user.is_active:
122
- raise HTTPException(
123
- status_code=status.HTTP_400_BAD_REQUEST,
124
- detail="Inactive user"
125
- )
126
-
127
- return user
128
-
129
- async def get_current_active_user(
130
- current_user: User = Depends(get_current_user)
131
- ) -> User:
132
- """Get current active user."""
133
- if not current_user.is_active:
134
- raise HTTPException(
135
- status_code=status.HTTP_400_BAD_REQUEST,
136
- detail="Inactive user"
137
- )
138
- return current_user
139
-
140
- async def get_current_superuser(
141
- current_user: User = Depends(get_current_user)
142
- ) -> User:
143
- """Get current superuser."""
144
- if not current_user.is_superuser:
145
- raise HTTPException(
146
- status_code=status.HTTP_403_FORBIDDEN,
147
- detail="Not enough permissions"
148
- )
149
- return current_user
150
-
151
- def require_permissions(*permissions: str):
152
- """Decorator for permission-based access control."""
153
- async def permission_checker(
154
- current_user: User = Depends(get_current_active_user)
155
- ) -> User:
156
- # Check if user has required permissions
157
- user_permissions = set(current_user.permissions or [])
158
- required_permissions = set(permissions)
159
-
160
- if not required_permissions.issubset(user_permissions) and not current_user.is_superuser:
161
- raise HTTPException(
162
- status_code=status.HTTP_403_FORBIDDEN,
163
- detail="Insufficient permissions"
164
- )
165
-
166
- return current_user
167
-
168
- return permission_checker
169
-
170
- def require_roles(*roles: str):
171
- """Decorator for role-based access control."""
172
- async def role_checker(
173
- current_user: User = Depends(get_current_active_user)
174
- ) -> User:
175
- user_roles = set(role.name for role in current_user.roles or [])
176
- required_roles = set(roles)
177
-
178
- if not required_roles.issubset(user_roles) and not current_user.is_superuser:
179
- raise HTTPException(
180
- status_code=status.HTTP_403_FORBIDDEN,
181
- detail="Insufficient role permissions"
182
- )
183
-
184
- return current_user
185
-
186
- return role_checker
187
- ```
188
-
189
- ## Authentication Schemas
190
-
191
- ```python
192
- # app/schemas/auth.py
193
- from pydantic import BaseModel, EmailStr
194
- from typing import Optional
195
-
196
- class Token(BaseModel):
197
- """Token response schema."""
198
- access_token: str
199
- refresh_token: str
200
- token_type: str = "bearer"
201
- expires_in: int
202
-
203
- class TokenPayload(BaseModel):
204
- """Token payload schema."""
205
- sub: Optional[int] = None
206
- exp: Optional[int] = None
207
- type: Optional[str] = None
208
-
209
- class UserLogin(BaseModel):
210
- """User login schema."""
211
- username: str
212
- password: str
213
-
214
- class UserRegister(BaseModel):
215
- """User registration schema."""
216
- username: str
217
- email: EmailStr
218
- password: str
219
- first_name: str
220
- last_name: str
221
-
222
- class PasswordReset(BaseModel):
223
- """Password reset schema."""
224
- email: EmailStr
225
-
226
- class PasswordResetConfirm(BaseModel):
227
- """Password reset confirmation schema."""
228
- token: str
229
- new_password: str
230
-
231
- class ChangePassword(BaseModel):
232
- """Change password schema."""
233
- current_password: str
234
- new_password: str
235
-
236
- class RefreshToken(BaseModel):
237
- """Refresh token schema."""
238
- refresh_token: str
239
- ```
240
-
241
- ## Authentication Endpoints
242
-
243
- ```python
244
- # app/api/v1/auth.py
245
- from datetime import timedelta
246
- from typing import Any
247
- from fastapi import APIRouter, Depends, HTTPException, status, BackgroundTasks
248
- from fastapi.security import OAuth2PasswordRequestForm
249
- from sqlalchemy.ext.asyncio import AsyncSession
250
- from app.db.database import get_db
251
- from app.models.user import User
252
- from app.repositories.user import UserRepository
253
- from app.schemas.auth import (
254
- Token, UserLogin, UserRegister, PasswordReset,
255
- PasswordResetConfirm, ChangePassword, RefreshToken
256
- )
257
- from app.schemas.user import UserCreate, UserResponse
258
- from app.core.security import (
259
- create_access_token, create_refresh_token, verify_password,
260
- decode_token, ACCESS_TOKEN_EXPIRE_MINUTES
261
- )
262
- from app.api.dependencies.auth import get_current_user, get_current_active_user
263
- from app.services.email import send_password_reset_email
264
- from app.services.auth import AuthService
265
-
266
- router = APIRouter()
267
-
268
- @router.post("/register", response_model=UserResponse, status_code=status.HTTP_201_CREATED)
269
- async def register(
270
- user_data: UserRegister,
271
- db: AsyncSession = Depends(get_db)
272
- ) -> Any:
273
- """Register new user."""
274
- user_repo = UserRepository(User, db)
275
- auth_service = AuthService(user_repo)
276
-
277
- # Check if user already exists
278
- if await user_repo.get_by_email(user_data.email):
279
- raise HTTPException(
280
- status_code=status.HTTP_400_BAD_REQUEST,
281
- detail="Email already registered"
282
- )
283
-
284
- if await user_repo.get_by_username(user_data.username):
285
- raise HTTPException(
286
- status_code=status.HTTP_400_BAD_REQUEST,
287
- detail="Username already taken"
288
- )
289
-
290
- # Create user
291
- user = await auth_service.create_user(user_data.dict())
292
- return user
293
-
294
- @router.post("/login", response_model=Token)
295
- async def login(
296
- form_data: OAuth2PasswordRequestForm = Depends(),
297
- db: AsyncSession = Depends(get_db)
298
- ) -> Any:
299
- """OAuth2 compatible token login."""
300
- user_repo = UserRepository(User, db)
301
- auth_service = AuthService(user_repo)
302
-
303
- user = await auth_service.authenticate_user(
304
- form_data.username,
305
- form_data.password
306
- )
307
-
308
- if not user:
309
- raise HTTPException(
310
- status_code=status.HTTP_401_UNAUTHORIZED,
311
- detail="Incorrect username or password",
312
- headers={"WWW-Authenticate": "Bearer"},
313
- )
314
-
315
- if not user.is_active:
316
- raise HTTPException(
317
- status_code=status.HTTP_400_BAD_REQUEST,
318
- detail="Inactive user"
319
- )
320
-
321
- # Create tokens
322
- access_token = create_access_token(subject=user.id)
323
- refresh_token = create_refresh_token(subject=user.id)
324
-
325
- return {
326
- "access_token": access_token,
327
- "refresh_token": refresh_token,
328
- "token_type": "bearer",
329
- "expires_in": ACCESS_TOKEN_EXPIRE_MINUTES * 60
330
- }
331
-
332
- @router.post("/refresh", response_model=Token)
333
- async def refresh_token(
334
- refresh_data: RefreshToken,
335
- db: AsyncSession = Depends(get_db)
336
- ) -> Any:
337
- """Refresh access token."""
338
- payload = decode_token(refresh_data.refresh_token)
339
-
340
- if payload is None or payload.get("type") != "refresh":
341
- raise HTTPException(
342
- status_code=status.HTTP_401_UNAUTHORIZED,
343
- detail="Invalid refresh token"
344
- )
345
-
346
- user_id = payload.get("sub")
347
- if user_id is None:
348
- raise HTTPException(
349
- status_code=status.HTTP_401_UNAUTHORIZED,
350
- detail="Invalid refresh token"
351
- )
352
-
353
- user_repo = UserRepository(User, db)
354
- user = await user_repo.get(int(user_id))
355
-
356
- if user is None or not user.is_active:
357
- raise HTTPException(
358
- status_code=status.HTTP_401_UNAUTHORIZED,
359
- detail="Invalid refresh token"
360
- )
361
-
362
- # Create new tokens
363
- access_token = create_access_token(subject=user.id)
364
- new_refresh_token = create_refresh_token(subject=user.id)
365
-
366
- return {
367
- "access_token": access_token,
368
- "refresh_token": new_refresh_token,
369
- "token_type": "bearer",
370
- "expires_in": ACCESS_TOKEN_EXPIRE_MINUTES * 60
371
- }
372
-
373
- @router.get("/me", response_model=UserResponse)
374
- async def read_users_me(
375
- current_user: User = Depends(get_current_active_user)
376
- ) -> Any:
377
- """Get current user."""
378
- return current_user
379
-
380
- @router.post("/change-password", status_code=status.HTTP_200_OK)
381
- async def change_password(
382
- password_data: ChangePassword,
383
- current_user: User = Depends(get_current_active_user),
384
- db: AsyncSession = Depends(get_db)
385
- ) -> Any:
386
- """Change user password."""
387
- if not verify_password(password_data.current_password, current_user.hashed_password):
388
- raise HTTPException(
389
- status_code=status.HTTP_400_BAD_REQUEST,
390
- detail="Incorrect current password"
391
- )
392
-
393
- user_repo = UserRepository(User, db)
394
- auth_service = AuthService(user_repo)
395
-
396
- await auth_service.change_password(current_user.id, password_data.new_password)
397
-
398
- return {"message": "Password changed successfully"}
399
-
400
- @router.post("/password-reset", status_code=status.HTTP_200_OK)
401
- async def password_reset(
402
- reset_data: PasswordReset,
403
- background_tasks: BackgroundTasks,
404
- db: AsyncSession = Depends(get_db)
405
- ) -> Any:
406
- """Request password reset."""
407
- user_repo = UserRepository(User, db)
408
- user = await user_repo.get_by_email(reset_data.email)
409
-
410
- if user:
411
- # Generate reset token
412
- reset_token = create_access_token(
413
- subject=user.id,
414
- expires_delta=timedelta(hours=1) # 1 hour expiry
415
- )
416
-
417
- # Send email with reset token
418
- background_tasks.add_task(
419
- send_password_reset_email,
420
- email=user.email,
421
- username=user.username,
422
- token=reset_token
423
- )
424
-
425
- # Always return success to prevent email enumeration
426
- return {"message": "Password reset email sent if account exists"}
427
-
428
- @router.post("/password-reset-confirm", status_code=status.HTTP_200_OK)
429
- async def password_reset_confirm(
430
- reset_data: PasswordResetConfirm,
431
- db: AsyncSession = Depends(get_db)
432
- ) -> Any:
433
- """Confirm password reset."""
434
- payload = decode_token(reset_data.token)
435
-
436
- if payload is None:
437
- raise HTTPException(
438
- status_code=status.HTTP_400_BAD_REQUEST,
439
- detail="Invalid or expired reset token"
440
- )
441
-
442
- user_id = payload.get("sub")
443
- if user_id is None:
444
- raise HTTPException(
445
- status_code=status.HTTP_400_BAD_REQUEST,
446
- detail="Invalid reset token"
447
- )
448
-
449
- user_repo = UserRepository(User, db)
450
- auth_service = AuthService(user_repo)
451
-
452
- user = await user_repo.get(int(user_id))
453
- if user is None:
454
- raise HTTPException(
455
- status_code=status.HTTP_400_BAD_REQUEST,
456
- detail="Invalid reset token"
457
- )
458
-
459
- await auth_service.change_password(user.id, reset_data.new_password)
460
-
461
- return {"message": "Password reset successful"}
462
-
463
- @router.post("/logout", status_code=status.HTTP_200_OK)
464
- async def logout(
465
- current_user: User = Depends(get_current_user)
466
- ) -> Any:
467
- """Logout user (invalidate token on client side)."""
468
- # In a more sophisticated setup, you might want to blacklist the token
469
- return {"message": "Successfully logged out"}
470
- ```
471
-
472
- ## Authentication Service
473
-
474
- ```python
475
- # app/services/auth.py
476
- from typing import Optional
477
- from app.models.user import User
478
- from app.repositories.user import UserRepository
479
- from app.core.security import verify_password, get_password_hash
480
-
481
- class AuthService:
482
- """Authentication service."""
483
-
484
- def __init__(self, user_repository: UserRepository):
485
- self.user_repo = user_repository
486
-
487
- async def authenticate_user(
488
- self,
489
- username_or_email: str,
490
- password: str
491
- ) -> Optional[User]:
492
- """Authenticate user by username/email and password."""
493
- # Try to get user by username first, then by email
494
- user = await self.user_repo.get_by_username(username_or_email)
495
- if not user:
496
- user = await self.user_repo.get_by_email(username_or_email)
497
-
498
- if not user:
499
- return None
500
-
501
- if not verify_password(password, user.hashed_password):
502
- return None
503
-
504
- return user
505
-
506
- async def create_user(self, user_data: dict) -> User:
507
- """Create new user."""
508
- # Hash password
509
- password = user_data.pop('password')
510
- hashed_password = get_password_hash(password)
511
-
512
- # Create user data
513
- user_create_data = {
514
- **user_data,
515
- 'hashed_password': hashed_password,
516
- 'is_active': True,
517
- 'is_superuser': False
518
- }
519
-
520
- return await self.user_repo.create(user_create_data)
521
-
522
- async def change_password(self, user_id: int, new_password: str) -> bool:
523
- """Change user password."""
524
- hashed_password = get_password_hash(new_password)
525
-
526
- result = await self.user_repo.update(user_id, {
527
- 'hashed_password': hashed_password
528
- })
529
-
530
- return result is not None
531
-
532
- async def activate_user(self, user_id: int) -> bool:
533
- """Activate user account."""
534
- result = await self.user_repo.update(user_id, {'is_active': True})
535
- return result is not None
536
-
537
- async def deactivate_user(self, user_id: int) -> bool:
538
- """Deactivate user account."""
539
- result = await self.user_repo.update(user_id, {'is_active': False})
540
- return result is not None
541
- ```
542
-
543
- ## Role-Based Access Control
544
-
545
- ```python
546
- # app/models/rbac.py
547
- from sqlalchemy import Column, String, Text, ForeignKey, Table
548
- from sqlalchemy.orm import relationship
549
- from app.models.base import BaseModel
550
-
551
- # Association tables for many-to-many relationships
552
- user_roles = Table(
553
- 'user_roles',
554
- Base.metadata,
555
- Column('user_id', Integer, ForeignKey('users.id')),
556
- Column('role_id', Integer, ForeignKey('roles.id'))
557
- )
558
-
559
- role_permissions = Table(
560
- 'role_permissions',
561
- Base.metadata,
562
- Column('role_id', Integer, ForeignKey('roles.id')),
563
- Column('permission_id', Integer, ForeignKey('permissions.id'))
564
- )
565
-
566
- class Role(BaseModel):
567
- """Role model for RBAC."""
568
- __tablename__ = "roles"
569
-
570
- name = Column(String(50), unique=True, nullable=False, index=True)
571
- description = Column(Text)
572
-
573
- # Relationships
574
- users = relationship("User", secondary=user_roles, back_populates="roles")
575
- permissions = relationship("Permission", secondary=role_permissions, back_populates="roles")
576
-
577
- class Permission(BaseModel):
578
- """Permission model for RBAC."""
579
- __tablename__ = "permissions"
580
-
581
- name = Column(String(100), unique=True, nullable=False, index=True)
582
- description = Column(Text)
583
- resource = Column(String(50), nullable=False) # e.g., 'users', 'posts'
584
- action = Column(String(50), nullable=False) # e.g., 'create', 'read', 'update', 'delete'
585
-
586
- # Relationships
587
- roles = relationship("Role", secondary=role_permissions, back_populates="permissions")
588
-
589
- # Update User model to include roles
590
- class User(BaseModel):
591
- # ... existing fields ...
592
-
593
- # Relationships
594
- roles = relationship("Role", secondary=user_roles, back_populates="users")
595
-
596
- @property
597
- def permissions(self) -> list[str]:
598
- """Get all permissions for user."""
599
- perms = set()
600
- for role in self.roles:
601
- for permission in role.permissions:
602
- perms.add(f"{permission.resource}:{permission.action}")
603
- return list(perms)
604
- ```
605
-
606
- ## OAuth2 Integration
607
-
608
- ```python
609
- # app/api/v1/oauth.py
610
- from fastapi import APIRouter, Depends, HTTPException, status
611
- from fastapi.security.utils import get_authorization_scheme_param
612
- from starlette.requests import Request
613
- from authlib.integrations.starlette_client import OAuth
614
- from app.core.config import settings
615
-
616
- router = APIRouter()
617
-
618
- # OAuth configuration
619
- oauth = OAuth()
620
-
621
- # Google OAuth
622
- google = oauth.register(
623
- name='google',
624
- client_id=settings.GOOGLE_CLIENT_ID,
625
- client_secret=settings.GOOGLE_CLIENT_SECRET,
626
- server_metadata_url='https://accounts.google.com/.well-known/openid_configuration',
627
- client_kwargs={
628
- 'scope': 'openid email profile'
629
- }
630
- )
631
-
632
- # GitHub OAuth
633
- github = oauth.register(
634
- name='github',
635
- client_id=settings.GITHUB_CLIENT_ID,
636
- client_secret=settings.GITHUB_CLIENT_SECRET,
637
- access_token_url='https://github.com/login/oauth/access_token',
638
- access_token_params=None,
639
- authorize_url='https://github.com/login/oauth/authorize',
640
- authorize_params=None,
641
- api_base_url='https://api.github.com/',
642
- client_kwargs={'scope': 'user:email'},
643
- )
644
-
645
- @router.get('/google')
646
- async def google_login(request: Request):
647
- """Initiate Google OAuth login."""
648
- redirect_uri = request.url_for('google_callback')
649
- return await google.authorize_redirect(request, redirect_uri)
650
-
651
- @router.get('/google/callback')
652
- async def google_callback(request: Request):
653
- """Handle Google OAuth callback."""
654
- token = await google.authorize_access_token(request)
655
- user_info = token.get('userinfo')
656
-
657
- if user_info:
658
- # Create or get user
659
- # Generate JWT token
660
- # Return token
661
- pass
662
-
663
- raise HTTPException(
664
- status_code=status.HTTP_400_BAD_REQUEST,
665
- detail="OAuth authentication failed"
666
- )
667
- ```
668
-
669
- ## API Key Authentication
670
-
671
- ```python
672
- # app/models/api_key.py
673
- from sqlalchemy import Column, String, Boolean, ForeignKey, DateTime
674
- from sqlalchemy.orm import relationship
675
- from app.models.base import BaseModel
676
- import secrets
677
-
678
- class APIKey(BaseModel):
679
- """API Key model."""
680
- __tablename__ = "api_keys"
681
-
682
- name = Column(String(100), nullable=False)
683
- key_hash = Column(String(255), unique=True, nullable=False, index=True)
684
- prefix = Column(String(10), nullable=False, index=True)
685
- is_active = Column(Boolean, default=True, nullable=False)
686
- expires_at = Column(DateTime)
687
- last_used_at = Column(DateTime)
688
-
689
- # Foreign key
690
- user_id = Column(Integer, ForeignKey("users.id"), nullable=False)
691
-
692
- # Relationships
693
- user = relationship("User", back_populates="api_keys")
694
-
695
- @classmethod
696
- def generate_key(cls) -> tuple[str, str]:
697
- """Generate API key and return (key, hash)."""
698
- key = secrets.token_urlsafe(32)
699
- prefix = key[:8]
700
- key_hash = get_password_hash(key)
701
- return key, prefix, key_hash
702
-
703
- def verify_key(self, key: str) -> bool:
704
- """Verify API key."""
705
- return verify_password(key, self.key_hash)
706
-
707
- # Add to User model
708
- class User(BaseModel):
709
- # ... existing fields ...
710
-
711
- # Relationships
712
- api_keys = relationship("APIKey", back_populates="user", cascade="all, delete-orphan")
713
- ```
714
-
715
- ## Testing Authentication
716
-
717
- ```python
718
- # tests/test_auth.py
719
- import pytest
720
- from httpx import AsyncClient
721
- from app.core.security import create_access_token
722
-
723
- @pytest.mark.asyncio
724
- async def test_register_user(client: AsyncClient):
725
- """Test user registration."""
726
- user_data = {
727
- "username": "testuser",
728
- "email": "test@example.com",
729
- "password": "testpass123",
730
- "first_name": "Test",
731
- "last_name": "User"
732
- }
733
-
734
- response = await client.post("/api/v1/auth/register", json=user_data)
735
- assert response.status_code == 201
736
-
737
- data = response.json()
738
- assert data["username"] == user_data["username"]
739
- assert data["email"] == user_data["email"]
740
- assert "hashed_password" not in data
741
-
742
- @pytest.mark.asyncio
743
- async def test_login_user(client: AsyncClient, test_user):
744
- """Test user login."""
745
- login_data = {
746
- "username": test_user.username,
747
- "password": "testpass123"
748
- }
749
-
750
- response = await client.post(
751
- "/api/v1/auth/login",
752
- data=login_data,
753
- headers={"Content-Type": "application/x-www-form-urlencoded"}
754
- )
755
-
756
- assert response.status_code == 200
757
-
758
- data = response.json()
759
- assert "access_token" in data
760
- assert "refresh_token" in data
761
- assert data["token_type"] == "bearer"
762
-
763
- @pytest.mark.asyncio
764
- async def test_get_current_user(client: AsyncClient, test_user):
765
- """Test get current user endpoint."""
766
- token = create_access_token(subject=test_user.id)
767
- headers = {"Authorization": f"Bearer {token}"}
768
-
769
- response = await client.get("/api/v1/auth/me", headers=headers)
770
- assert response.status_code == 200
771
-
772
- data = response.json()
773
- assert data["username"] == test_user.username
774
- assert data["email"] == test_user.email
775
- ```