claude-code-templates 1.21.1 → 1.21.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/README.md +79 -77
  2. package/package.json +86 -19
  3. package/{cli-tool/src → src}/index.js +19 -2
  4. package/.claude/agents/agent-expert.md +0 -477
  5. package/.claude/agents/cli-ui-designer.md +0 -405
  6. package/.claude/agents/command-expert.md +0 -421
  7. package/.claude/agents/docusaurus-expert.md +0 -51
  8. package/.claude/agents/mcp-expert.md +0 -258
  9. package/.claude/commands/lint.md +0 -111
  10. package/.claude/commands/test.md +0 -73
  11. package/.claude/settings.local.json +0 -34
  12. package/.github/WORKFLOWS_REFERENCE.md +0 -88
  13. package/.github/workflows/deploy-docusaurus.yml +0 -31
  14. package/.github/workflows/deploy.yml +0 -33
  15. package/.github/workflows/publish-package.yml +0 -125
  16. package/.mcp.json +0 -4
  17. package/CLAUDE.md +0 -482
  18. package/CODE_OF_CONDUCT.md +0 -82
  19. package/CONTRIBUTING.md +0 -505
  20. package/DEPLOYMENT.md +0 -60
  21. package/LICENSE +0 -21
  22. package/ROADMAP.md +0 -278
  23. package/SECURITY.md +0 -65
  24. package/api/index.html +0 -1
  25. package/api/package.json +0 -7
  26. package/api/track-download-supabase.js +0 -150
  27. package/cli-tool/Makefile +0 -102
  28. package/cli-tool/README.md +0 -126
  29. package/cli-tool/TESTING.md +0 -262
  30. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  31. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  32. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
  33. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
  34. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
  35. package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
  36. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  37. package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
  38. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  39. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  40. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  41. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  42. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  43. package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
  44. package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
  45. package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
  46. package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
  47. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  48. package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
  49. package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
  50. package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
  51. package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
  52. package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
  53. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
  54. package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
  55. package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
  56. package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
  57. package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
  58. package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
  59. package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
  60. package/cli-tool/components/agents/database/database-admin.md +0 -33
  61. package/cli-tool/components/agents/database/database-architect.md +0 -590
  62. package/cli-tool/components/agents/database/database-optimization.md +0 -33
  63. package/cli-tool/components/agents/database/database-optimizer.md +0 -33
  64. package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
  65. package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
  66. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
  67. package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
  68. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  69. package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
  70. package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
  71. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
  72. package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
  73. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
  74. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
  75. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
  76. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
  77. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
  78. package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
  79. package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
  80. package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
  81. package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
  82. package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
  83. package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
  84. package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
  85. package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
  86. package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
  87. package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
  88. package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
  89. package/cli-tool/components/agents/development-tools/debugger.md +0 -31
  90. package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
  91. package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
  92. package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
  93. package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
  94. package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
  95. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  96. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  97. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  98. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  99. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
  100. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
  101. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  102. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  103. package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
  104. package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
  105. package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -52
  106. package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
  107. package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -477
  108. package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
  109. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
  110. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
  111. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  112. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  113. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  114. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  115. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  116. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  117. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  118. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  119. package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
  120. package/cli-tool/components/agents/game-development/game-designer.md +0 -37
  121. package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
  122. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
  123. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  124. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  125. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  126. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  127. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  128. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  129. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  130. package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
  131. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
  132. package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
  133. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  134. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  135. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  136. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  137. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  138. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  139. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  140. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  141. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  142. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  143. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  144. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
  145. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  146. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  147. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
  148. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  149. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  150. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  151. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  152. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  153. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  154. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  155. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  156. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  157. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
  158. package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
  159. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
  160. package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
  161. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  162. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  163. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  164. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  165. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  166. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  167. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  168. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  169. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  170. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  171. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  172. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  173. package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
  174. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
  175. package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
  176. package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
  177. package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
  178. package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
  179. package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
  180. package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
  181. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  182. package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
  183. package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
  184. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  185. package/cli-tool/components/agents/security/api-security-audit.md +0 -93
  186. package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
  187. package/cli-tool/components/agents/security/incident-responder.md +0 -75
  188. package/cli-tool/components/agents/security/penetration-tester.md +0 -37
  189. package/cli-tool/components/agents/security/security-auditor.md +0 -33
  190. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  191. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
  192. package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
  193. package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
  194. package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
  195. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
  196. package/cli-tool/components/commands/automation/act.md +0 -57
  197. package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
  198. package/cli-tool/components/commands/automation/husky.md +0 -130
  199. package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
  200. package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
  201. package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
  202. package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
  203. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
  204. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
  205. package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
  206. package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
  207. package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
  208. package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
  209. package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
  210. package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
  211. package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
  212. package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
  213. package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
  214. package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
  215. package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
  216. package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
  217. package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
  218. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  219. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
  220. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
  221. package/cli-tool/components/commands/documentation/doc-api.md +0 -242
  222. package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
  223. package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
  224. package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
  225. package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
  226. package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
  227. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
  228. package/cli-tool/components/commands/documentation/update-docs.md +0 -107
  229. package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
  230. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
  231. package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
  232. package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
  233. package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
  234. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
  235. package/cli-tool/components/commands/git-workflow/commit.md +0 -167
  236. package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
  237. package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
  238. package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
  239. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
  240. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
  241. package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
  242. package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
  243. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  244. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  245. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  246. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  247. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  248. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  249. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  250. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  251. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  252. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  253. package/cli-tool/components/commands/orchestration/archive.md +0 -414
  254. package/cli-tool/components/commands/orchestration/commit.md +0 -305
  255. package/cli-tool/components/commands/orchestration/find.md +0 -272
  256. package/cli-tool/components/commands/orchestration/log.md +0 -355
  257. package/cli-tool/components/commands/orchestration/move.md +0 -220
  258. package/cli-tool/components/commands/orchestration/optimize.md +0 -375
  259. package/cli-tool/components/commands/orchestration/remove.md +0 -301
  260. package/cli-tool/components/commands/orchestration/report.md +0 -292
  261. package/cli-tool/components/commands/orchestration/resume.md +0 -256
  262. package/cli-tool/components/commands/orchestration/start.md +0 -169
  263. package/cli-tool/components/commands/orchestration/status.md +0 -219
  264. package/cli-tool/components/commands/orchestration/sync.md +0 -294
  265. package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
  266. package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
  267. package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
  268. package/cli-tool/components/commands/performance/optimize-build.md +0 -139
  269. package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
  270. package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
  271. package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
  272. package/cli-tool/components/commands/performance/performance-audit.md +0 -89
  273. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
  274. package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
  275. package/cli-tool/components/commands/project-management/add-package.md +0 -90
  276. package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
  277. package/cli-tool/components/commands/project-management/create-feature.md +0 -130
  278. package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
  279. package/cli-tool/components/commands/project-management/create-prd.md +0 -36
  280. package/cli-tool/components/commands/project-management/create-prp.md +0 -37
  281. package/cli-tool/components/commands/project-management/init-project.md +0 -80
  282. package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
  283. package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
  284. package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
  285. package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
  286. package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
  287. package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
  288. package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
  289. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
  290. package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
  291. package/cli-tool/components/commands/project-management/release.md +0 -31
  292. package/cli-tool/components/commands/project-management/todo.md +0 -62
  293. package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
  294. package/cli-tool/components/commands/security/dependency-audit.md +0 -32
  295. package/cli-tool/components/commands/security/penetration-test.md +0 -40
  296. package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
  297. package/cli-tool/components/commands/security/security-audit.md +0 -82
  298. package/cli-tool/components/commands/security/security-hardening.md +0 -33
  299. package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
  300. package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
  301. package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
  302. package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
  303. package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
  304. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  305. package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
  306. package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
  307. package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
  308. package/cli-tool/components/commands/setup/setup-linting.md +0 -37
  309. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
  310. package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
  311. package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
  312. package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
  313. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
  314. package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
  315. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
  316. package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
  317. package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
  318. package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
  319. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
  320. package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
  321. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
  322. package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
  323. package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
  324. package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
  325. package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
  326. package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
  327. package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
  328. package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
  329. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  330. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
  331. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
  332. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
  333. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  334. package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
  335. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
  336. package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
  337. package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
  338. package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
  339. package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
  340. package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
  341. package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
  342. package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
  343. package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
  344. package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
  345. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
  346. package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
  347. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
  348. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
  349. package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
  350. package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
  351. package/cli-tool/components/commands/sync/sync-status.md +0 -391
  352. package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
  353. package/cli-tool/components/commands/team/architecture-review.md +0 -37
  354. package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
  355. package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
  356. package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
  357. package/cli-tool/components/commands/team/issue-triage.md +0 -37
  358. package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
  359. package/cli-tool/components/commands/team/migration-assistant.md +0 -37
  360. package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
  361. package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
  362. package/cli-tool/components/commands/team/sprint-planning.md +0 -189
  363. package/cli-tool/components/commands/team/standup-report.md +0 -37
  364. package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
  365. package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
  366. package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
  367. package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
  368. package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
  369. package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
  370. package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
  371. package/cli-tool/components/commands/testing/generate-tests.md +0 -82
  372. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
  373. package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
  374. package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
  375. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
  376. package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
  377. package/cli-tool/components/commands/testing/test-coverage.md +0 -37
  378. package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
  379. package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
  380. package/cli-tool/components/commands/testing/write-tests.md +0 -37
  381. package/cli-tool/components/commands/utilities/all-tools.md +0 -31
  382. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  383. package/cli-tool/components/commands/utilities/check-file.md +0 -53
  384. package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
  385. package/cli-tool/components/commands/utilities/clean.md +0 -1
  386. package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
  387. package/cli-tool/components/commands/utilities/code-review.md +0 -70
  388. package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
  389. package/cli-tool/components/commands/utilities/context-prime.md +0 -1
  390. package/cli-tool/components/commands/utilities/debug-error.md +0 -121
  391. package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
  392. package/cli-tool/components/commands/utilities/explain-code.md +0 -194
  393. package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
  394. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
  395. package/cli-tool/components/commands/utilities/git-status.md +0 -39
  396. package/cli-tool/components/commands/utilities/initref.md +0 -3
  397. package/cli-tool/components/commands/utilities/prime.md +0 -41
  398. package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
  399. package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
  400. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  401. package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
  402. package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
  403. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
  404. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
  405. package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
  406. package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
  407. package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
  408. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
  409. package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
  410. package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
  411. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  412. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
  413. package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
  414. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
  415. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
  416. package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
  417. package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
  418. package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
  419. package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
  420. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  421. package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
  422. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
  423. package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
  424. package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
  425. package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
  426. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
  427. package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
  428. package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
  429. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  430. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
  431. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
  432. package/cli-tool/components/hooks/security/file-protection.json +0 -16
  433. package/cli-tool/components/hooks/security/security-scanner.json +0 -16
  434. package/cli-tool/components/hooks/testing/test-runner.json +0 -16
  435. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  436. package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
  437. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  438. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  439. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  440. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
  441. package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
  442. package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
  443. package/cli-tool/components/mcps/database/supabase.json +0 -17
  444. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  445. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
  446. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  447. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  448. package/cli-tool/components/mcps/devtools/circleci.json +0 -13
  449. package/cli-tool/components/mcps/devtools/context7.json +0 -9
  450. package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
  451. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  452. package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
  453. package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
  454. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  455. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
  456. package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
  457. package/cli-tool/components/mcps/integration/github-integration.json +0 -12
  458. package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
  459. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  460. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  461. package/cli-tool/components/mcps/web/web-fetch.json +0 -9
  462. package/cli-tool/components/sandbox/README.md +0 -169
  463. package/cli-tool/components/sandbox/e2b/.env.example +0 -10
  464. package/cli-tool/components/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -203
  465. package/cli-tool/components/sandbox/e2b/claude-code-sandbox.md +0 -110
  466. package/cli-tool/components/sandbox/e2b/e2b-launcher.py +0 -355
  467. package/cli-tool/components/sandbox/e2b/e2b-monitor.py +0 -229
  468. package/cli-tool/components/sandbox/e2b/requirements.txt +0 -1
  469. package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
  470. package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
  471. package/cli-tool/components/settings/api/custom-headers.json +0 -6
  472. package/cli-tool/components/settings/api/vertex-configuration.json +0 -8
  473. package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
  474. package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
  475. package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
  476. package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
  477. package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
  478. package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
  479. package/cli-tool/components/settings/environment/development-utils.json +0 -8
  480. package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
  481. package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
  482. package/cli-tool/components/settings/global/aws-credentials.json +0 -5
  483. package/cli-tool/components/settings/global/custom-model.json +0 -7
  484. package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
  485. package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
  486. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
  487. package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
  488. package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
  489. package/cli-tool/components/settings/model/use-haiku.json +0 -4
  490. package/cli-tool/components/settings/model/use-sonnet.json +0 -4
  491. package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
  492. package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
  493. package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
  494. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
  495. package/cli-tool/components/settings/permissions/development-mode.json +0 -31
  496. package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
  497. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  498. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
  499. package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
  500. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
  501. package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
  502. package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
  503. package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
  504. package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
  505. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
  506. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
  507. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  508. package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
  509. package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
  510. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  511. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  512. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  513. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  514. package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
  515. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  516. package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
  517. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  518. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  519. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
  520. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
  521. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  522. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  523. package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
  524. package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
  525. package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
  526. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
  527. package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
  528. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
  529. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
  530. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -909
  531. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
  532. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
  533. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
  534. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
  535. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
  536. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
  537. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
  538. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
  539. package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
  540. package/cli-tool/jest.config.js +0 -84
  541. package/cli-tool/package-lock.json +0 -5471
  542. package/cli-tool/package.json +0 -95
  543. package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
  544. package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
  545. package/cli-tool/templates/common/.mcp.json +0 -41
  546. package/cli-tool/templates/common/CLAUDE.md +0 -109
  547. package/cli-tool/templates/common/README.md +0 -96
  548. package/cli-tool/templates/go/.mcp.json +0 -78
  549. package/cli-tool/templates/go/README.md +0 -25
  550. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
  551. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
  552. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
  553. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
  554. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
  555. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
  556. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
  557. package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
  558. package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
  559. package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
  560. package/cli-tool/templates/javascript-typescript/README.md +0 -259
  561. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
  562. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
  563. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
  564. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
  565. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
  566. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
  567. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
  568. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
  569. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
  570. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
  571. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
  572. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
  573. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
  574. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
  575. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
  576. package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
  577. package/cli-tool/templates/python/.claude/commands/test.md +0 -73
  578. package/cli-tool/templates/python/.claude/settings.json +0 -153
  579. package/cli-tool/templates/python/.mcp.json +0 -78
  580. package/cli-tool/templates/python/CLAUDE.md +0 -276
  581. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
  582. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
  583. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
  584. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
  585. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
  586. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
  587. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
  588. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
  589. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
  590. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
  591. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
  592. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
  593. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
  594. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
  595. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
  596. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
  597. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
  598. package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
  599. package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
  600. package/cli-tool/templates/ruby/.claude/settings.json +0 -146
  601. package/cli-tool/templates/ruby/.mcp.json +0 -83
  602. package/cli-tool/templates/ruby/CLAUDE.md +0 -284
  603. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
  604. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
  605. package/cli-tool/templates/rust/.mcp.json +0 -78
  606. package/cli-tool/templates/rust/README.md +0 -26
  607. package/cli-tool/test-commands.sh +0 -85
  608. package/cli-tool/test-detailed.sh +0 -267
  609. package/docs/CNAME +0 -1
  610. package/docs/README.md +0 -49
  611. package/docs/_config.yml +0 -43
  612. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  613. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  614. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  615. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  616. package/docs/blog/e2b-claude-code-sandbox/index.html +0 -1061
  617. package/docs/blog/index.html +0 -239
  618. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1021
  619. package/docs/blog/supabase-claude-code-integration/index.html +0 -837
  620. package/docs/components-metadata.json +0 -303
  621. package/docs/components.json +0 -4072
  622. package/docs/css/blog.css +0 -821
  623. package/docs/css/stack-page.css +0 -776
  624. package/docs/css/styles.css +0 -4480
  625. package/docs/css/trending.css +0 -971
  626. package/docs/css/workflows-modal.css +0 -739
  627. package/docs/css/workflows.css +0 -1234
  628. package/docs/download-stats.html +0 -514
  629. package/docs/index.html +0 -634
  630. package/docs/js/carousel.js +0 -177
  631. package/docs/js/cart-manager.js +0 -529
  632. package/docs/js/data-loader.js +0 -626
  633. package/docs/js/generate-search-data.js +0 -82
  634. package/docs/js/index-events.js +0 -1707
  635. package/docs/js/modal-helpers.js +0 -334
  636. package/docs/js/script.js +0 -2167
  637. package/docs/js/search-functionality.js +0 -992
  638. package/docs/js/stack-router.js +0 -561
  639. package/docs/js/trending.js +0 -493
  640. package/docs/js/utils.js +0 -43
  641. package/docs/js/workflows-events.js +0 -1146
  642. package/docs/js/workflows.js +0 -627
  643. package/docs/sandbox-interface.html +0 -1406
  644. package/docs/static/img/logo.svg +0 -23
  645. package/docs/trending-data.json +0 -579
  646. package/docs/trending.html +0 -179
  647. package/docs/workflows.html +0 -379
  648. package/docu/README.md +0 -41
  649. package/docu/docs/analytics/agent-chats-manager.md +0 -33
  650. package/docu/docs/analytics/analysis-tools.md +0 -54
  651. package/docu/docs/analytics/overview.md +0 -48
  652. package/docu/docs/analytics/real-time-monitoring.md +0 -16
  653. package/docu/docs/cli-options.md +0 -90
  654. package/docu/docs/components/agents.md +0 -296
  655. package/docu/docs/components/commands.md +0 -426
  656. package/docu/docs/components/discord-notifications.md +0 -59
  657. package/docu/docs/components/hooks.md +0 -381
  658. package/docu/docs/components/mcps.md +0 -510
  659. package/docu/docs/components/overview.md +0 -287
  660. package/docu/docs/components/settings.md +0 -223
  661. package/docu/docs/components/slack-notifications.md +0 -67
  662. package/docu/docs/components/telegram-notifications.md +0 -73
  663. package/docu/docs/contributing.md +0 -11
  664. package/docu/docs/health-check/overview.md +0 -33
  665. package/docu/docs/intro.md +0 -109
  666. package/docu/docs/project-setup/automation-hooks.md +0 -14
  667. package/docu/docs/project-setup/framework-specific-setup.md +0 -86
  668. package/docu/docs/project-setup/interactive-setup.md +0 -59
  669. package/docu/docs/project-setup/mcp-integration.md +0 -17
  670. package/docu/docs/project-setup/supported-languages-frameworks.md +0 -15
  671. package/docu/docs/project-setup/what-gets-installed.md +0 -176
  672. package/docu/docs/safety-features.md +0 -13
  673. package/docu/docs/support.md +0 -13
  674. package/docu/docs/usage-examples/advanced-options.md +0 -87
  675. package/docu/docs/usage-examples/alternative-commands.md +0 -31
  676. package/docu/docs/usage-examples/framework-specific-quick-setup.md +0 -47
  677. package/docu/docs/usage-examples/interactive-setup.md +0 -16
  678. package/docu/docusaurus.config.ts +0 -163
  679. package/docu/package-lock.json +0 -16185
  680. package/docu/package.json +0 -47
  681. package/docu/sidebars.ts +0 -85
  682. package/docu/src/components/HomepageFeatures/index.tsx +0 -82
  683. package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
  684. package/docu/src/css/custom.css +0 -475
  685. package/docu/src/pages/index.module.css +0 -109
  686. package/docu/src/pages/index.tsx +0 -65
  687. package/docu/src/pages/markdown-page.md +0 -7
  688. package/docu/static/img/favicon.ico +0 -0
  689. package/docu/static/img/logo.svg +0 -23
  690. package/docu/tsconfig.json +0 -8
  691. package/generate_components_json.py +0 -199
  692. package/social-preview.png +0 -0
  693. package/vercel.json +0 -75
  694. /package/{cli-tool/bin → bin}/create-claude-config.js +0 -0
  695. /package/{cli-tool/src → src}/agents.js +0 -0
  696. /package/{cli-tool/src → src}/analytics/core/AgentAnalyzer.js +0 -0
  697. /package/{cli-tool/src → src}/analytics/core/ConversationAnalyzer.js +0 -0
  698. /package/{cli-tool/src → src}/analytics/core/FileWatcher.js +0 -0
  699. /package/{cli-tool/src → src}/analytics/core/ProcessDetector.js +0 -0
  700. /package/{cli-tool/src → src}/analytics/core/SessionAnalyzer.js +0 -0
  701. /package/{cli-tool/src → src}/analytics/core/StateCalculator.js +0 -0
  702. /package/{cli-tool/src → src}/analytics/data/DataCache.js +0 -0
  703. /package/{cli-tool/src → src}/analytics/notifications/NotificationManager.js +0 -0
  704. /package/{cli-tool/src → src}/analytics/notifications/WebSocketServer.js +0 -0
  705. /package/{cli-tool/src → src}/analytics/utils/PerformanceMonitor.js +0 -0
  706. /package/{cli-tool/src → src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  707. /package/{cli-tool/src → src}/analytics-web/assets/js/main.js.deprecated +0 -0
  708. /package/{cli-tool/src → src}/analytics-web/chats_mobile.html +0 -0
  709. /package/{cli-tool/src → src}/analytics-web/components/ActivityHeatmap.js +0 -0
  710. /package/{cli-tool/src → src}/analytics-web/components/AgentAnalytics.js +0 -0
  711. /package/{cli-tool/src → src}/analytics-web/components/App.js +0 -0
  712. /package/{cli-tool/src → src}/analytics-web/components/Charts.js +0 -0
  713. /package/{cli-tool/src → src}/analytics-web/components/ConversationTable.js +0 -0
  714. /package/{cli-tool/src → src}/analytics-web/components/DashboardPage.js +0 -0
  715. /package/{cli-tool/src → src}/analytics-web/components/HeaderComponent.js +0 -0
  716. /package/{cli-tool/src → src}/analytics-web/components/SessionTimer.js +0 -0
  717. /package/{cli-tool/src → src}/analytics-web/components/Sidebar.js +0 -0
  718. /package/{cli-tool/src → src}/analytics-web/components/ToolDisplay.js +0 -0
  719. /package/{cli-tool/src → src}/analytics-web/index.html +0 -0
  720. /package/{cli-tool/src → src}/analytics-web/index.html.original +0 -0
  721. /package/{cli-tool/src → src}/analytics-web/services/DataService.js +0 -0
  722. /package/{cli-tool/src → src}/analytics-web/services/StateService.js +0 -0
  723. /package/{cli-tool/src → src}/analytics-web/services/WebSocketService.js +0 -0
  724. /package/{cli-tool/src → src}/analytics.js +0 -0
  725. /package/{docu/static/.nojekyll → src/analytics.log} +0 -0
  726. /package/{cli-tool/src → src}/chats-mobile.js +0 -0
  727. /package/{cli-tool/src → src}/claude-api-proxy.js +0 -0
  728. /package/{cli-tool/src → src}/command-scanner.js +0 -0
  729. /package/{cli-tool/src → src}/command-stats.js +0 -0
  730. /package/{cli-tool/src → src}/console-bridge.js +0 -0
  731. /package/{cli-tool/src → src}/file-operations.js +0 -0
  732. /package/{cli-tool/src → src}/health-check.js +0 -0
  733. /package/{cli-tool/src → src}/hook-scanner.js +0 -0
  734. /package/{cli-tool/src → src}/hook-stats.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
- ```