claude-code-templates 1.21.13 → 1.22.0

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