claude-code-templates 1.21.1 → 1.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/README.md +79 -77
  2. package/package.json +86 -19
  3. package/.claude/agents/agent-expert.md +0 -477
  4. package/.claude/agents/cli-ui-designer.md +0 -405
  5. package/.claude/agents/command-expert.md +0 -421
  6. package/.claude/agents/docusaurus-expert.md +0 -51
  7. package/.claude/agents/mcp-expert.md +0 -258
  8. package/.claude/commands/lint.md +0 -111
  9. package/.claude/commands/test.md +0 -73
  10. package/.claude/settings.local.json +0 -34
  11. package/.github/WORKFLOWS_REFERENCE.md +0 -88
  12. package/.github/workflows/deploy-docusaurus.yml +0 -31
  13. package/.github/workflows/deploy.yml +0 -33
  14. package/.github/workflows/publish-package.yml +0 -125
  15. package/.mcp.json +0 -4
  16. package/CLAUDE.md +0 -482
  17. package/CODE_OF_CONDUCT.md +0 -82
  18. package/CONTRIBUTING.md +0 -505
  19. package/DEPLOYMENT.md +0 -60
  20. package/LICENSE +0 -21
  21. package/ROADMAP.md +0 -278
  22. package/SECURITY.md +0 -65
  23. package/api/index.html +0 -1
  24. package/api/package.json +0 -7
  25. package/api/track-download-supabase.js +0 -150
  26. package/cli-tool/Makefile +0 -102
  27. package/cli-tool/README.md +0 -126
  28. package/cli-tool/TESTING.md +0 -262
  29. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  30. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  31. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
  32. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
  33. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
  34. package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
  35. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  36. package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
  37. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  38. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  39. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  40. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  41. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  42. package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
  43. package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
  44. package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
  45. package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
  46. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  47. package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
  48. package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
  49. package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
  50. package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
  51. package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
  52. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
  53. package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
  54. package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
  55. package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
  56. package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
  57. package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
  58. package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
  59. package/cli-tool/components/agents/database/database-admin.md +0 -33
  60. package/cli-tool/components/agents/database/database-architect.md +0 -590
  61. package/cli-tool/components/agents/database/database-optimization.md +0 -33
  62. package/cli-tool/components/agents/database/database-optimizer.md +0 -33
  63. package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
  64. package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
  65. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
  66. package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
  67. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  68. package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
  69. package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
  70. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
  71. package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
  72. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
  73. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
  74. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
  75. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
  76. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
  77. package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
  78. package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
  79. package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
  80. package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
  81. package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
  82. package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
  83. package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
  84. package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
  85. package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
  86. package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
  87. package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
  88. package/cli-tool/components/agents/development-tools/debugger.md +0 -31
  89. package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
  90. package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
  91. package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
  92. package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
  93. package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
  94. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  95. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  96. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  97. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  98. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
  99. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
  100. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  101. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  102. package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
  103. package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
  104. package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -52
  105. package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
  106. package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -477
  107. package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
  108. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
  109. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
  110. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  111. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  112. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  113. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  114. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  115. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  116. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  117. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  118. package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
  119. package/cli-tool/components/agents/game-development/game-designer.md +0 -37
  120. package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
  121. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
  122. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  123. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  124. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  125. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  126. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  127. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  128. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  129. package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
  130. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
  131. package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
  132. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  133. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  134. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  135. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  136. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  137. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  138. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  139. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  140. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  141. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  142. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  143. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
  144. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  145. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  146. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
  147. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  148. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  149. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  150. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  151. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  152. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  153. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  154. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  155. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  156. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
  157. package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
  158. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
  159. package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
  160. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  161. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  162. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  163. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  164. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  165. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  166. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  167. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  168. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  169. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  170. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  171. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  172. package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
  173. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
  174. package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
  175. package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
  176. package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
  177. package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
  178. package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
  179. package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
  180. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  181. package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
  182. package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
  183. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  184. package/cli-tool/components/agents/security/api-security-audit.md +0 -93
  185. package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
  186. package/cli-tool/components/agents/security/incident-responder.md +0 -75
  187. package/cli-tool/components/agents/security/penetration-tester.md +0 -37
  188. package/cli-tool/components/agents/security/security-auditor.md +0 -33
  189. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  190. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
  191. package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
  192. package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
  193. package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
  194. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
  195. package/cli-tool/components/commands/automation/act.md +0 -57
  196. package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
  197. package/cli-tool/components/commands/automation/husky.md +0 -130
  198. package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
  199. package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
  200. package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
  201. package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
  202. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
  203. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
  204. package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
  205. package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
  206. package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
  207. package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
  208. package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
  209. package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
  210. package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
  211. package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
  212. package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
  213. package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
  214. package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
  215. package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
  216. package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
  217. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  218. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
  219. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
  220. package/cli-tool/components/commands/documentation/doc-api.md +0 -242
  221. package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
  222. package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
  223. package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
  224. package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
  225. package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
  226. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
  227. package/cli-tool/components/commands/documentation/update-docs.md +0 -107
  228. package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
  229. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
  230. package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
  231. package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
  232. package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
  233. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
  234. package/cli-tool/components/commands/git-workflow/commit.md +0 -167
  235. package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
  236. package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
  237. package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
  238. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
  239. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
  240. package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
  241. package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
  242. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  243. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  244. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  245. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  246. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  247. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  248. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  249. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  250. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  251. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  252. package/cli-tool/components/commands/orchestration/archive.md +0 -414
  253. package/cli-tool/components/commands/orchestration/commit.md +0 -305
  254. package/cli-tool/components/commands/orchestration/find.md +0 -272
  255. package/cli-tool/components/commands/orchestration/log.md +0 -355
  256. package/cli-tool/components/commands/orchestration/move.md +0 -220
  257. package/cli-tool/components/commands/orchestration/optimize.md +0 -375
  258. package/cli-tool/components/commands/orchestration/remove.md +0 -301
  259. package/cli-tool/components/commands/orchestration/report.md +0 -292
  260. package/cli-tool/components/commands/orchestration/resume.md +0 -256
  261. package/cli-tool/components/commands/orchestration/start.md +0 -169
  262. package/cli-tool/components/commands/orchestration/status.md +0 -219
  263. package/cli-tool/components/commands/orchestration/sync.md +0 -294
  264. package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
  265. package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
  266. package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
  267. package/cli-tool/components/commands/performance/optimize-build.md +0 -139
  268. package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
  269. package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
  270. package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
  271. package/cli-tool/components/commands/performance/performance-audit.md +0 -89
  272. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
  273. package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
  274. package/cli-tool/components/commands/project-management/add-package.md +0 -90
  275. package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
  276. package/cli-tool/components/commands/project-management/create-feature.md +0 -130
  277. package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
  278. package/cli-tool/components/commands/project-management/create-prd.md +0 -36
  279. package/cli-tool/components/commands/project-management/create-prp.md +0 -37
  280. package/cli-tool/components/commands/project-management/init-project.md +0 -80
  281. package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
  282. package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
  283. package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
  284. package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
  285. package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
  286. package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
  287. package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
  288. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
  289. package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
  290. package/cli-tool/components/commands/project-management/release.md +0 -31
  291. package/cli-tool/components/commands/project-management/todo.md +0 -62
  292. package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
  293. package/cli-tool/components/commands/security/dependency-audit.md +0 -32
  294. package/cli-tool/components/commands/security/penetration-test.md +0 -40
  295. package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
  296. package/cli-tool/components/commands/security/security-audit.md +0 -82
  297. package/cli-tool/components/commands/security/security-hardening.md +0 -33
  298. package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
  299. package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
  300. package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
  301. package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
  302. package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
  303. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  304. package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
  305. package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
  306. package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
  307. package/cli-tool/components/commands/setup/setup-linting.md +0 -37
  308. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
  309. package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
  310. package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
  311. package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
  312. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
  313. package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
  314. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
  315. package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
  316. package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
  317. package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
  318. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
  319. package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
  320. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
  321. package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
  322. package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
  323. package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
  324. package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
  325. package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
  326. package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
  327. package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
  328. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  329. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
  330. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
  331. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
  332. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  333. package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
  334. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
  335. package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
  336. package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
  337. package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
  338. package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
  339. package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
  340. package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
  341. package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
  342. package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
  343. package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
  344. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
  345. package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
  346. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
  347. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
  348. package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
  349. package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
  350. package/cli-tool/components/commands/sync/sync-status.md +0 -391
  351. package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
  352. package/cli-tool/components/commands/team/architecture-review.md +0 -37
  353. package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
  354. package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
  355. package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
  356. package/cli-tool/components/commands/team/issue-triage.md +0 -37
  357. package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
  358. package/cli-tool/components/commands/team/migration-assistant.md +0 -37
  359. package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
  360. package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
  361. package/cli-tool/components/commands/team/sprint-planning.md +0 -189
  362. package/cli-tool/components/commands/team/standup-report.md +0 -37
  363. package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
  364. package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
  365. package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
  366. package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
  367. package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
  368. package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
  369. package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
  370. package/cli-tool/components/commands/testing/generate-tests.md +0 -82
  371. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
  372. package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
  373. package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
  374. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
  375. package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
  376. package/cli-tool/components/commands/testing/test-coverage.md +0 -37
  377. package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
  378. package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
  379. package/cli-tool/components/commands/testing/write-tests.md +0 -37
  380. package/cli-tool/components/commands/utilities/all-tools.md +0 -31
  381. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  382. package/cli-tool/components/commands/utilities/check-file.md +0 -53
  383. package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
  384. package/cli-tool/components/commands/utilities/clean.md +0 -1
  385. package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
  386. package/cli-tool/components/commands/utilities/code-review.md +0 -70
  387. package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
  388. package/cli-tool/components/commands/utilities/context-prime.md +0 -1
  389. package/cli-tool/components/commands/utilities/debug-error.md +0 -121
  390. package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
  391. package/cli-tool/components/commands/utilities/explain-code.md +0 -194
  392. package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
  393. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
  394. package/cli-tool/components/commands/utilities/git-status.md +0 -39
  395. package/cli-tool/components/commands/utilities/initref.md +0 -3
  396. package/cli-tool/components/commands/utilities/prime.md +0 -41
  397. package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
  398. package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
  399. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  400. package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
  401. package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
  402. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
  403. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
  404. package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
  405. package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
  406. package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
  407. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
  408. package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
  409. package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
  410. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  411. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
  412. package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
  413. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
  414. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
  415. package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
  416. package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
  417. package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
  418. package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
  419. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  420. package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
  421. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
  422. package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
  423. package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
  424. package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
  425. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
  426. package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
  427. package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
  428. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  429. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
  430. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
  431. package/cli-tool/components/hooks/security/file-protection.json +0 -16
  432. package/cli-tool/components/hooks/security/security-scanner.json +0 -16
  433. package/cli-tool/components/hooks/testing/test-runner.json +0 -16
  434. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  435. package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
  436. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  437. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  438. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  439. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
  440. package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
  441. package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
  442. package/cli-tool/components/mcps/database/supabase.json +0 -17
  443. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  444. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
  445. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  446. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  447. package/cli-tool/components/mcps/devtools/circleci.json +0 -13
  448. package/cli-tool/components/mcps/devtools/context7.json +0 -9
  449. package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
  450. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  451. package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
  452. package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
  453. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  454. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
  455. package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
  456. package/cli-tool/components/mcps/integration/github-integration.json +0 -12
  457. package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
  458. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  459. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  460. package/cli-tool/components/mcps/web/web-fetch.json +0 -9
  461. package/cli-tool/components/sandbox/README.md +0 -169
  462. package/cli-tool/components/sandbox/e2b/.env.example +0 -10
  463. package/cli-tool/components/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -203
  464. package/cli-tool/components/sandbox/e2b/claude-code-sandbox.md +0 -110
  465. package/cli-tool/components/sandbox/e2b/e2b-launcher.py +0 -355
  466. package/cli-tool/components/sandbox/e2b/e2b-monitor.py +0 -229
  467. package/cli-tool/components/sandbox/e2b/requirements.txt +0 -1
  468. package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
  469. package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
  470. package/cli-tool/components/settings/api/custom-headers.json +0 -6
  471. package/cli-tool/components/settings/api/vertex-configuration.json +0 -8
  472. package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
  473. package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
  474. package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
  475. package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
  476. package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
  477. package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
  478. package/cli-tool/components/settings/environment/development-utils.json +0 -8
  479. package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
  480. package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
  481. package/cli-tool/components/settings/global/aws-credentials.json +0 -5
  482. package/cli-tool/components/settings/global/custom-model.json +0 -7
  483. package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
  484. package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
  485. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
  486. package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
  487. package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
  488. package/cli-tool/components/settings/model/use-haiku.json +0 -4
  489. package/cli-tool/components/settings/model/use-sonnet.json +0 -4
  490. package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
  491. package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
  492. package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
  493. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
  494. package/cli-tool/components/settings/permissions/development-mode.json +0 -31
  495. package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
  496. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  497. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
  498. package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
  499. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
  500. package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
  501. package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
  502. package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
  503. package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
  504. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
  505. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
  506. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  507. package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
  508. package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
  509. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  510. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  511. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  512. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  513. package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
  514. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  515. package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
  516. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  517. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  518. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
  519. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
  520. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  521. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  522. package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
  523. package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
  524. package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
  525. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
  526. package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
  527. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
  528. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
  529. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -909
  530. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
  531. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
  532. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
  533. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
  534. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
  535. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
  536. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
  537. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
  538. package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
  539. package/cli-tool/jest.config.js +0 -84
  540. package/cli-tool/package-lock.json +0 -5471
  541. package/cli-tool/package.json +0 -95
  542. package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
  543. package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
  544. package/cli-tool/templates/common/.mcp.json +0 -41
  545. package/cli-tool/templates/common/CLAUDE.md +0 -109
  546. package/cli-tool/templates/common/README.md +0 -96
  547. package/cli-tool/templates/go/.mcp.json +0 -78
  548. package/cli-tool/templates/go/README.md +0 -25
  549. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
  550. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
  551. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
  552. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
  553. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
  554. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
  555. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
  556. package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
  557. package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
  558. package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
  559. package/cli-tool/templates/javascript-typescript/README.md +0 -259
  560. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
  561. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
  562. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
  563. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
  564. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
  565. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
  566. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
  567. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
  568. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
  569. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
  570. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
  571. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
  572. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
  573. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
  574. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
  575. package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
  576. package/cli-tool/templates/python/.claude/commands/test.md +0 -73
  577. package/cli-tool/templates/python/.claude/settings.json +0 -153
  578. package/cli-tool/templates/python/.mcp.json +0 -78
  579. package/cli-tool/templates/python/CLAUDE.md +0 -276
  580. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
  581. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
  582. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
  583. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
  584. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
  585. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
  586. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
  587. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
  588. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
  589. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
  590. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
  591. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
  592. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
  593. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
  594. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
  595. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
  596. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
  597. package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
  598. package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
  599. package/cli-tool/templates/ruby/.claude/settings.json +0 -146
  600. package/cli-tool/templates/ruby/.mcp.json +0 -83
  601. package/cli-tool/templates/ruby/CLAUDE.md +0 -284
  602. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
  603. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
  604. package/cli-tool/templates/rust/.mcp.json +0 -78
  605. package/cli-tool/templates/rust/README.md +0 -26
  606. package/cli-tool/test-commands.sh +0 -85
  607. package/cli-tool/test-detailed.sh +0 -267
  608. package/docs/CNAME +0 -1
  609. package/docs/README.md +0 -49
  610. package/docs/_config.yml +0 -43
  611. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  612. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  613. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  614. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  615. package/docs/blog/e2b-claude-code-sandbox/index.html +0 -1061
  616. package/docs/blog/index.html +0 -239
  617. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1021
  618. package/docs/blog/supabase-claude-code-integration/index.html +0 -837
  619. package/docs/components-metadata.json +0 -303
  620. package/docs/components.json +0 -4072
  621. package/docs/css/blog.css +0 -821
  622. package/docs/css/stack-page.css +0 -776
  623. package/docs/css/styles.css +0 -4480
  624. package/docs/css/trending.css +0 -971
  625. package/docs/css/workflows-modal.css +0 -739
  626. package/docs/css/workflows.css +0 -1234
  627. package/docs/download-stats.html +0 -514
  628. package/docs/index.html +0 -634
  629. package/docs/js/carousel.js +0 -177
  630. package/docs/js/cart-manager.js +0 -529
  631. package/docs/js/data-loader.js +0 -626
  632. package/docs/js/generate-search-data.js +0 -82
  633. package/docs/js/index-events.js +0 -1707
  634. package/docs/js/modal-helpers.js +0 -334
  635. package/docs/js/script.js +0 -2167
  636. package/docs/js/search-functionality.js +0 -992
  637. package/docs/js/stack-router.js +0 -561
  638. package/docs/js/trending.js +0 -493
  639. package/docs/js/utils.js +0 -43
  640. package/docs/js/workflows-events.js +0 -1146
  641. package/docs/js/workflows.js +0 -627
  642. package/docs/sandbox-interface.html +0 -1406
  643. package/docs/static/img/logo.svg +0 -23
  644. package/docs/trending-data.json +0 -579
  645. package/docs/trending.html +0 -179
  646. package/docs/workflows.html +0 -379
  647. package/docu/README.md +0 -41
  648. package/docu/docs/analytics/agent-chats-manager.md +0 -33
  649. package/docu/docs/analytics/analysis-tools.md +0 -54
  650. package/docu/docs/analytics/overview.md +0 -48
  651. package/docu/docs/analytics/real-time-monitoring.md +0 -16
  652. package/docu/docs/cli-options.md +0 -90
  653. package/docu/docs/components/agents.md +0 -296
  654. package/docu/docs/components/commands.md +0 -426
  655. package/docu/docs/components/discord-notifications.md +0 -59
  656. package/docu/docs/components/hooks.md +0 -381
  657. package/docu/docs/components/mcps.md +0 -510
  658. package/docu/docs/components/overview.md +0 -287
  659. package/docu/docs/components/settings.md +0 -223
  660. package/docu/docs/components/slack-notifications.md +0 -67
  661. package/docu/docs/components/telegram-notifications.md +0 -73
  662. package/docu/docs/contributing.md +0 -11
  663. package/docu/docs/health-check/overview.md +0 -33
  664. package/docu/docs/intro.md +0 -109
  665. package/docu/docs/project-setup/automation-hooks.md +0 -14
  666. package/docu/docs/project-setup/framework-specific-setup.md +0 -86
  667. package/docu/docs/project-setup/interactive-setup.md +0 -59
  668. package/docu/docs/project-setup/mcp-integration.md +0 -17
  669. package/docu/docs/project-setup/supported-languages-frameworks.md +0 -15
  670. package/docu/docs/project-setup/what-gets-installed.md +0 -176
  671. package/docu/docs/safety-features.md +0 -13
  672. package/docu/docs/support.md +0 -13
  673. package/docu/docs/usage-examples/advanced-options.md +0 -87
  674. package/docu/docs/usage-examples/alternative-commands.md +0 -31
  675. package/docu/docs/usage-examples/framework-specific-quick-setup.md +0 -47
  676. package/docu/docs/usage-examples/interactive-setup.md +0 -16
  677. package/docu/docusaurus.config.ts +0 -163
  678. package/docu/package-lock.json +0 -16185
  679. package/docu/package.json +0 -47
  680. package/docu/sidebars.ts +0 -85
  681. package/docu/src/components/HomepageFeatures/index.tsx +0 -82
  682. package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
  683. package/docu/src/css/custom.css +0 -475
  684. package/docu/src/pages/index.module.css +0 -109
  685. package/docu/src/pages/index.tsx +0 -65
  686. package/docu/src/pages/markdown-page.md +0 -7
  687. package/docu/static/img/favicon.ico +0 -0
  688. package/docu/static/img/logo.svg +0 -23
  689. package/docu/tsconfig.json +0 -8
  690. package/generate_components_json.py +0 -199
  691. package/social-preview.png +0 -0
  692. package/vercel.json +0 -75
  693. /package/{cli-tool/bin → bin}/create-claude-config.js +0 -0
  694. /package/{cli-tool/src → src}/agents.js +0 -0
  695. /package/{cli-tool/src → src}/analytics/core/AgentAnalyzer.js +0 -0
  696. /package/{cli-tool/src → src}/analytics/core/ConversationAnalyzer.js +0 -0
  697. /package/{cli-tool/src → src}/analytics/core/FileWatcher.js +0 -0
  698. /package/{cli-tool/src → src}/analytics/core/ProcessDetector.js +0 -0
  699. /package/{cli-tool/src → src}/analytics/core/SessionAnalyzer.js +0 -0
  700. /package/{cli-tool/src → src}/analytics/core/StateCalculator.js +0 -0
  701. /package/{cli-tool/src → src}/analytics/data/DataCache.js +0 -0
  702. /package/{cli-tool/src → src}/analytics/notifications/NotificationManager.js +0 -0
  703. /package/{cli-tool/src → src}/analytics/notifications/WebSocketServer.js +0 -0
  704. /package/{cli-tool/src → src}/analytics/utils/PerformanceMonitor.js +0 -0
  705. /package/{cli-tool/src → src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  706. /package/{cli-tool/src → src}/analytics-web/assets/js/main.js.deprecated +0 -0
  707. /package/{cli-tool/src → src}/analytics-web/chats_mobile.html +0 -0
  708. /package/{cli-tool/src → src}/analytics-web/components/ActivityHeatmap.js +0 -0
  709. /package/{cli-tool/src → src}/analytics-web/components/AgentAnalytics.js +0 -0
  710. /package/{cli-tool/src → src}/analytics-web/components/App.js +0 -0
  711. /package/{cli-tool/src → src}/analytics-web/components/Charts.js +0 -0
  712. /package/{cli-tool/src → src}/analytics-web/components/ConversationTable.js +0 -0
  713. /package/{cli-tool/src → src}/analytics-web/components/DashboardPage.js +0 -0
  714. /package/{cli-tool/src → src}/analytics-web/components/HeaderComponent.js +0 -0
  715. /package/{cli-tool/src → src}/analytics-web/components/SessionTimer.js +0 -0
  716. /package/{cli-tool/src → src}/analytics-web/components/Sidebar.js +0 -0
  717. /package/{cli-tool/src → src}/analytics-web/components/ToolDisplay.js +0 -0
  718. /package/{cli-tool/src → src}/analytics-web/index.html +0 -0
  719. /package/{cli-tool/src → src}/analytics-web/index.html.original +0 -0
  720. /package/{cli-tool/src → src}/analytics-web/services/DataService.js +0 -0
  721. /package/{cli-tool/src → src}/analytics-web/services/StateService.js +0 -0
  722. /package/{cli-tool/src → src}/analytics-web/services/WebSocketService.js +0 -0
  723. /package/{cli-tool/src → src}/analytics.js +0 -0
  724. /package/{docu/static/.nojekyll → src/analytics.log} +0 -0
  725. /package/{cli-tool/src → src}/chats-mobile.js +0 -0
  726. /package/{cli-tool/src → src}/claude-api-proxy.js +0 -0
  727. /package/{cli-tool/src → src}/command-scanner.js +0 -0
  728. /package/{cli-tool/src → src}/command-stats.js +0 -0
  729. /package/{cli-tool/src → src}/console-bridge.js +0 -0
  730. /package/{cli-tool/src → src}/file-operations.js +0 -0
  731. /package/{cli-tool/src → src}/health-check.js +0 -0
  732. /package/{cli-tool/src → src}/hook-scanner.js +0 -0
  733. /package/{cli-tool/src → src}/hook-stats.js +0 -0
  734. /package/{cli-tool/src → src}/index.js +0 -0
  735. /package/{cli-tool/src → src}/mcp-stats.js +0 -0
  736. /package/{cli-tool/src → src}/prompts.js +0 -0
  737. /package/{cli-tool/src → src}/sandbox-server.js +0 -0
  738. /package/{cli-tool/src → src}/sdk/global-agent-manager.js +0 -0
  739. /package/{cli-tool/src → src}/templates.js +0 -0
  740. /package/{cli-tool/src → src}/test-activity-data.json +0 -0
  741. /package/{cli-tool/src → src}/test-console-bridge.js +0 -0
  742. /package/{cli-tool/src → src}/tracking-service.js +0 -0
  743. /package/{cli-tool/src → src}/utils.js +0 -0
@@ -1,1205 +0,0 @@
1
- ---
2
- name: fullstack-developer
3
- description: Full-stack development specialist covering frontend, backend, and database technologies. Use PROACTIVELY for end-to-end application development, API integration, database design, and complete feature implementation.
4
- tools: Read, Write, Edit, Bash
5
- model: opus
6
- ---
7
-
8
- You are a full-stack developer with expertise across the entire application stack, from user interfaces to databases and deployment.
9
-
10
- ## Core Technology Stack
11
-
12
- ### Frontend Technologies
13
- - **React/Next.js**: Modern component-based UI development with SSR/SSG
14
- - **TypeScript**: Type-safe JavaScript development and API contracts
15
- - **State Management**: Redux Toolkit, Zustand, React Query for server state
16
- - **Styling**: Tailwind CSS, Styled Components, CSS Modules
17
- - **Testing**: Jest, React Testing Library, Playwright for E2E
18
-
19
- ### Backend Technologies
20
- - **Node.js/Express**: RESTful APIs and middleware architecture
21
- - **Python/FastAPI**: High-performance APIs with automatic documentation
22
- - **Database Integration**: PostgreSQL, MongoDB, Redis for caching
23
- - **Authentication**: JWT, OAuth 2.0, Auth0, NextAuth.js
24
- - **API Design**: OpenAPI/Swagger, GraphQL, tRPC for type safety
25
-
26
- ### Development Tools
27
- - **Version Control**: Git workflows, branching strategies, code review
28
- - **Build Tools**: Vite, Webpack, esbuild for optimization
29
- - **Package Management**: npm, yarn, pnpm dependency management
30
- - **Code Quality**: ESLint, Prettier, Husky pre-commit hooks
31
-
32
- ## Technical Implementation
33
-
34
- ### 1. Complete Full-Stack Application Architecture
35
- ```typescript
36
- // types/api.ts - Shared type definitions
37
- export interface User {
38
- id: string;
39
- email: string;
40
- name: string;
41
- role: 'admin' | 'user';
42
- createdAt: string;
43
- updatedAt: string;
44
- }
45
-
46
- export interface CreateUserRequest {
47
- email: string;
48
- name: string;
49
- password: string;
50
- }
51
-
52
- export interface LoginRequest {
53
- email: string;
54
- password: string;
55
- }
56
-
57
- export interface AuthResponse {
58
- user: User;
59
- token: string;
60
- refreshToken: string;
61
- }
62
-
63
- export interface ApiResponse<T> {
64
- success: boolean;
65
- data?: T;
66
- error?: string;
67
- message?: string;
68
- }
69
-
70
- export interface PaginatedResponse<T> {
71
- data: T[];
72
- pagination: {
73
- page: number;
74
- limit: number;
75
- total: number;
76
- totalPages: number;
77
- };
78
- }
79
-
80
- // Database Models
81
- export interface CreatePostRequest {
82
- title: string;
83
- content: string;
84
- tags: string[];
85
- published: boolean;
86
- }
87
-
88
- export interface Post {
89
- id: string;
90
- title: string;
91
- content: string;
92
- slug: string;
93
- tags: string[];
94
- published: boolean;
95
- authorId: string;
96
- author: User;
97
- createdAt: string;
98
- updatedAt: string;
99
- viewCount: number;
100
- likeCount: number;
101
- }
102
- ```
103
-
104
- ### 2. Backend API Implementation with Express.js
105
- ```typescript
106
- // server/app.ts - Express application setup
107
- import express from 'express';
108
- import cors from 'cors';
109
- import helmet from 'helmet';
110
- import rateLimit from 'express-rate-limit';
111
- import compression from 'compression';
112
- import { authRouter } from './routes/auth';
113
- import { userRouter } from './routes/users';
114
- import { postRouter } from './routes/posts';
115
- import { errorHandler } from './middleware/errorHandler';
116
- import { authMiddleware } from './middleware/auth';
117
- import { logger } from './utils/logger';
118
-
119
- const app = express();
120
-
121
- // Security middleware
122
- app.use(helmet());
123
- app.use(cors({
124
- origin: process.env.FRONTEND_URL,
125
- credentials: true
126
- }));
127
-
128
- // Rate limiting
129
- const limiter = rateLimit({
130
- windowMs: 15 * 60 * 1000, // 15 minutes
131
- max: 100, // limit each IP to 100 requests per windowMs
132
- message: 'Too many requests from this IP'
133
- });
134
- app.use('/api/', limiter);
135
-
136
- // Parsing middleware
137
- app.use(express.json({ limit: '10mb' }));
138
- app.use(express.urlencoded({ extended: true }));
139
- app.use(compression());
140
-
141
- // Logging middleware
142
- app.use((req, res, next) => {
143
- logger.info(`${req.method} ${req.path}`, {
144
- ip: req.ip,
145
- userAgent: req.get('User-Agent')
146
- });
147
- next();
148
- });
149
-
150
- // Health check endpoint
151
- app.get('/health', (req, res) => {
152
- res.json({
153
- status: 'healthy',
154
- timestamp: new Date().toISOString(),
155
- uptime: process.uptime()
156
- });
157
- });
158
-
159
- // API routes
160
- app.use('/api/auth', authRouter);
161
- app.use('/api/users', authMiddleware, userRouter);
162
- app.use('/api/posts', postRouter);
163
-
164
- // Error handling middleware
165
- app.use(errorHandler);
166
-
167
- // 404 handler
168
- app.use('*', (req, res) => {
169
- res.status(404).json({
170
- success: false,
171
- error: 'Route not found'
172
- });
173
- });
174
-
175
- export { app };
176
-
177
- // server/routes/auth.ts - Authentication routes
178
- import { Router } from 'express';
179
- import bcrypt from 'bcryptjs';
180
- import jwt from 'jsonwebtoken';
181
- import { z } from 'zod';
182
- import { User } from '../models/User';
183
- import { validateRequest } from '../middleware/validation';
184
- import { logger } from '../utils/logger';
185
- import type { LoginRequest, CreateUserRequest, AuthResponse } from '../../types/api';
186
-
187
- const router = Router();
188
-
189
- const loginSchema = z.object({
190
- email: z.string().email(),
191
- password: z.string().min(6)
192
- });
193
-
194
- const registerSchema = z.object({
195
- email: z.string().email(),
196
- name: z.string().min(2).max(50),
197
- password: z.string().min(8).regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/)
198
- });
199
-
200
- router.post('/register', validateRequest(registerSchema), async (req, res, next) => {
201
- try {
202
- const { email, name, password }: CreateUserRequest = req.body;
203
-
204
- // Check if user already exists
205
- const existingUser = await User.findOne({ email });
206
- if (existingUser) {
207
- return res.status(400).json({
208
- success: false,
209
- error: 'User already exists with this email'
210
- });
211
- }
212
-
213
- // Hash password
214
- const saltRounds = 12;
215
- const hashedPassword = await bcrypt.hash(password, saltRounds);
216
-
217
- // Create user
218
- const user = new User({
219
- email,
220
- name,
221
- password: hashedPassword,
222
- role: 'user'
223
- });
224
-
225
- await user.save();
226
-
227
- // Generate tokens
228
- const token = jwt.sign(
229
- { userId: user._id, email: user.email, role: user.role },
230
- process.env.JWT_SECRET!,
231
- { expiresIn: '1h' }
232
- );
233
-
234
- const refreshToken = jwt.sign(
235
- { userId: user._id },
236
- process.env.JWT_REFRESH_SECRET!,
237
- { expiresIn: '7d' }
238
- );
239
-
240
- logger.info('User registered successfully', { userId: user._id, email });
241
-
242
- const response: AuthResponse = {
243
- user: {
244
- id: user._id.toString(),
245
- email: user.email,
246
- name: user.name,
247
- role: user.role,
248
- createdAt: user.createdAt.toISOString(),
249
- updatedAt: user.updatedAt.toISOString()
250
- },
251
- token,
252
- refreshToken
253
- };
254
-
255
- res.status(201).json({
256
- success: true,
257
- data: response,
258
- message: 'User registered successfully'
259
- });
260
- } catch (error) {
261
- next(error);
262
- }
263
- });
264
-
265
- router.post('/login', validateRequest(loginSchema), async (req, res, next) => {
266
- try {
267
- const { email, password }: LoginRequest = req.body;
268
-
269
- // Find user
270
- const user = await User.findOne({ email });
271
- if (!user) {
272
- return res.status(401).json({
273
- success: false,
274
- error: 'Invalid credentials'
275
- });
276
- }
277
-
278
- // Verify password
279
- const isValidPassword = await bcrypt.compare(password, user.password);
280
- if (!isValidPassword) {
281
- return res.status(401).json({
282
- success: false,
283
- error: 'Invalid credentials'
284
- });
285
- }
286
-
287
- // Generate tokens
288
- const token = jwt.sign(
289
- { userId: user._id, email: user.email, role: user.role },
290
- process.env.JWT_SECRET!,
291
- { expiresIn: '1h' }
292
- );
293
-
294
- const refreshToken = jwt.sign(
295
- { userId: user._id },
296
- process.env.JWT_REFRESH_SECRET!,
297
- { expiresIn: '7d' }
298
- );
299
-
300
- logger.info('User logged in successfully', { userId: user._id, email });
301
-
302
- const response: AuthResponse = {
303
- user: {
304
- id: user._id.toString(),
305
- email: user.email,
306
- name: user.name,
307
- role: user.role,
308
- createdAt: user.createdAt.toISOString(),
309
- updatedAt: user.updatedAt.toISOString()
310
- },
311
- token,
312
- refreshToken
313
- };
314
-
315
- res.json({
316
- success: true,
317
- data: response,
318
- message: 'Login successful'
319
- });
320
- } catch (error) {
321
- next(error);
322
- }
323
- });
324
-
325
- router.post('/refresh', async (req, res, next) => {
326
- try {
327
- const { refreshToken } = req.body;
328
-
329
- if (!refreshToken) {
330
- return res.status(401).json({
331
- success: false,
332
- error: 'Refresh token required'
333
- });
334
- }
335
-
336
- const decoded = jwt.verify(refreshToken, process.env.JWT_REFRESH_SECRET!) as { userId: string };
337
- const user = await User.findById(decoded.userId);
338
-
339
- if (!user) {
340
- return res.status(401).json({
341
- success: false,
342
- error: 'Invalid refresh token'
343
- });
344
- }
345
-
346
- const newToken = jwt.sign(
347
- { userId: user._id, email: user.email, role: user.role },
348
- process.env.JWT_SECRET!,
349
- { expiresIn: '1h' }
350
- );
351
-
352
- res.json({
353
- success: true,
354
- data: { token: newToken },
355
- message: 'Token refreshed successfully'
356
- });
357
- } catch (error) {
358
- next(error);
359
- }
360
- });
361
-
362
- export { router as authRouter };
363
- ```
364
-
365
- ### 3. Database Models with Mongoose
366
- ```typescript
367
- // server/models/User.ts
368
- import mongoose, { Document, Schema } from 'mongoose';
369
-
370
- export interface IUser extends Document {
371
- email: string;
372
- name: string;
373
- password: string;
374
- role: 'admin' | 'user';
375
- emailVerified: boolean;
376
- lastLogin: Date;
377
- createdAt: Date;
378
- updatedAt: Date;
379
- }
380
-
381
- const userSchema = new Schema<IUser>({
382
- email: {
383
- type: String,
384
- required: true,
385
- unique: true,
386
- lowercase: true,
387
- trim: true,
388
- index: true
389
- },
390
- name: {
391
- type: String,
392
- required: true,
393
- trim: true,
394
- maxlength: 50
395
- },
396
- password: {
397
- type: String,
398
- required: true,
399
- minlength: 8
400
- },
401
- role: {
402
- type: String,
403
- enum: ['admin', 'user'],
404
- default: 'user'
405
- },
406
- emailVerified: {
407
- type: Boolean,
408
- default: false
409
- },
410
- lastLogin: {
411
- type: Date,
412
- default: Date.now
413
- }
414
- }, {
415
- timestamps: true,
416
- toJSON: {
417
- transform: function(doc, ret) {
418
- delete ret.password;
419
- return ret;
420
- }
421
- }
422
- });
423
-
424
- // Indexes for performance
425
- userSchema.index({ email: 1 });
426
- userSchema.index({ role: 1 });
427
- userSchema.index({ createdAt: -1 });
428
-
429
- export const User = mongoose.model<IUser>('User', userSchema);
430
-
431
- // server/models/Post.ts
432
- import mongoose, { Document, Schema } from 'mongoose';
433
-
434
- export interface IPost extends Document {
435
- title: string;
436
- content: string;
437
- slug: string;
438
- tags: string[];
439
- published: boolean;
440
- authorId: mongoose.Types.ObjectId;
441
- viewCount: number;
442
- likeCount: number;
443
- createdAt: Date;
444
- updatedAt: Date;
445
- }
446
-
447
- const postSchema = new Schema<IPost>({
448
- title: {
449
- type: String,
450
- required: true,
451
- trim: true,
452
- maxlength: 200
453
- },
454
- content: {
455
- type: String,
456
- required: true
457
- },
458
- slug: {
459
- type: String,
460
- required: true,
461
- unique: true,
462
- lowercase: true,
463
- index: true
464
- },
465
- tags: [{
466
- type: String,
467
- trim: true,
468
- lowercase: true
469
- }],
470
- published: {
471
- type: Boolean,
472
- default: false
473
- },
474
- authorId: {
475
- type: Schema.Types.ObjectId,
476
- ref: 'User',
477
- required: true,
478
- index: true
479
- },
480
- viewCount: {
481
- type: Number,
482
- default: 0
483
- },
484
- likeCount: {
485
- type: Number,
486
- default: 0
487
- }
488
- }, {
489
- timestamps: true
490
- });
491
-
492
- // Compound indexes for complex queries
493
- postSchema.index({ published: 1, createdAt: -1 });
494
- postSchema.index({ authorId: 1, published: 1 });
495
- postSchema.index({ tags: 1, published: 1 });
496
- postSchema.index({ title: 'text', content: 'text' });
497
-
498
- // Virtual populate for author
499
- postSchema.virtual('author', {
500
- ref: 'User',
501
- localField: 'authorId',
502
- foreignField: '_id',
503
- justOne: true
504
- });
505
-
506
- export const Post = mongoose.model<IPost>('Post', postSchema);
507
- ```
508
-
509
- ### 4. Frontend React Application
510
- ```tsx
511
- // frontend/src/App.tsx - Main application component
512
- import React from 'react';
513
- import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
514
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
515
- import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
516
- import { Toaster } from 'react-hot-toast';
517
- import { AuthProvider } from './contexts/AuthContext';
518
- import { ProtectedRoute } from './components/ProtectedRoute';
519
- import { Layout } from './components/Layout';
520
- import { HomePage } from './pages/HomePage';
521
- import { LoginPage } from './pages/LoginPage';
522
- import { RegisterPage } from './pages/RegisterPage';
523
- import { DashboardPage } from './pages/DashboardPage';
524
- import { PostsPage } from './pages/PostsPage';
525
- import { CreatePostPage } from './pages/CreatePostPage';
526
- import { ProfilePage } from './pages/ProfilePage';
527
- import { ErrorBoundary } from './components/ErrorBoundary';
528
-
529
- const queryClient = new QueryClient({
530
- defaultOptions: {
531
- queries: {
532
- retry: (failureCount, error: any) => {
533
- if (error?.status === 401) return false;
534
- return failureCount < 3;
535
- },
536
- staleTime: 5 * 60 * 1000, // 5 minutes
537
- cacheTime: 10 * 60 * 1000, // 10 minutes
538
- },
539
- mutations: {
540
- retry: false,
541
- },
542
- },
543
- });
544
-
545
- function App() {
546
- return (
547
- <ErrorBoundary>
548
- <QueryClientProvider client={queryClient}>
549
- <AuthProvider>
550
- <Router>
551
- <div className="min-h-screen bg-gray-50">
552
- <Layout>
553
- <Routes>
554
- <Route path="/" element={<HomePage />} />
555
- <Route path="/login" element={<LoginPage />} />
556
- <Route path="/register" element={<RegisterPage />} />
557
- <Route path="/posts" element={<PostsPage />} />
558
-
559
- {/* Protected routes */}
560
- <Route path="/dashboard" element={
561
- <ProtectedRoute>
562
- <DashboardPage />
563
- </ProtectedRoute>
564
- } />
565
- <Route path="/posts/create" element={
566
- <ProtectedRoute>
567
- <CreatePostPage />
568
- </ProtectedRoute>
569
- } />
570
- <Route path="/profile" element={
571
- <ProtectedRoute>
572
- <ProfilePage />
573
- </ProtectedRoute>
574
- } />
575
- </Routes>
576
- </Layout>
577
- </div>
578
- </Router>
579
- </AuthProvider>
580
- <Toaster position="top-right" />
581
- <ReactQueryDevtools initialIsOpen={false} />
582
- </QueryClientProvider>
583
- </ErrorBoundary>
584
- );
585
- }
586
-
587
- export default App;
588
-
589
- // frontend/src/contexts/AuthContext.tsx - Authentication context
590
- import React, { createContext, useContext, useReducer, useEffect } from 'react';
591
- import { User, AuthResponse } from '../types/api';
592
- import { authAPI } from '../services/api';
593
-
594
- interface AuthState {
595
- user: User | null;
596
- token: string | null;
597
- isLoading: boolean;
598
- isAuthenticated: boolean;
599
- }
600
-
601
- type AuthAction =
602
- | { type: 'LOGIN_START' }
603
- | { type: 'LOGIN_SUCCESS'; payload: AuthResponse }
604
- | { type: 'LOGIN_FAILURE' }
605
- | { type: 'LOGOUT' }
606
- | { type: 'SET_LOADING'; payload: boolean };
607
-
608
- const initialState: AuthState = {
609
- user: null,
610
- token: localStorage.getItem('auth_token'),
611
- isLoading: true,
612
- isAuthenticated: false,
613
- };
614
-
615
- function authReducer(state: AuthState, action: AuthAction): AuthState {
616
- switch (action.type) {
617
- case 'LOGIN_START':
618
- return { ...state, isLoading: true };
619
-
620
- case 'LOGIN_SUCCESS':
621
- localStorage.setItem('auth_token', action.payload.token);
622
- localStorage.setItem('refresh_token', action.payload.refreshToken);
623
- return {
624
- ...state,
625
- user: action.payload.user,
626
- token: action.payload.token,
627
- isLoading: false,
628
- isAuthenticated: true,
629
- };
630
-
631
- case 'LOGIN_FAILURE':
632
- localStorage.removeItem('auth_token');
633
- localStorage.removeItem('refresh_token');
634
- return {
635
- ...state,
636
- user: null,
637
- token: null,
638
- isLoading: false,
639
- isAuthenticated: false,
640
- };
641
-
642
- case 'LOGOUT':
643
- localStorage.removeItem('auth_token');
644
- localStorage.removeItem('refresh_token');
645
- return {
646
- ...state,
647
- user: null,
648
- token: null,
649
- isAuthenticated: false,
650
- };
651
-
652
- case 'SET_LOADING':
653
- return { ...state, isLoading: action.payload };
654
-
655
- default:
656
- return state;
657
- }
658
- }
659
-
660
- interface AuthContextType extends AuthState {
661
- login: (email: string, password: string) => Promise<void>;
662
- register: (email: string, name: string, password: string) => Promise<void>;
663
- logout: () => void;
664
- }
665
-
666
- const AuthContext = createContext<AuthContextType | undefined>(undefined);
667
-
668
- export function AuthProvider({ children }: { children: React.ReactNode }) {
669
- const [state, dispatch] = useReducer(authReducer, initialState);
670
-
671
- useEffect(() => {
672
- const token = localStorage.getItem('auth_token');
673
- if (token) {
674
- // Verify token with backend
675
- authAPI.verifyToken(token)
676
- .then((user) => {
677
- dispatch({
678
- type: 'LOGIN_SUCCESS',
679
- payload: {
680
- user,
681
- token,
682
- refreshToken: localStorage.getItem('refresh_token') || '',
683
- },
684
- });
685
- })
686
- .catch(() => {
687
- dispatch({ type: 'LOGIN_FAILURE' });
688
- });
689
- } else {
690
- dispatch({ type: 'SET_LOADING', payload: false });
691
- }
692
- }, []);
693
-
694
- const login = async (email: string, password: string) => {
695
- dispatch({ type: 'LOGIN_START' });
696
- try {
697
- const response = await authAPI.login({ email, password });
698
- dispatch({ type: 'LOGIN_SUCCESS', payload: response });
699
- } catch (error) {
700
- dispatch({ type: 'LOGIN_FAILURE' });
701
- throw error;
702
- }
703
- };
704
-
705
- const register = async (email: string, name: string, password: string) => {
706
- dispatch({ type: 'LOGIN_START' });
707
- try {
708
- const response = await authAPI.register({ email, name, password });
709
- dispatch({ type: 'LOGIN_SUCCESS', payload: response });
710
- } catch (error) {
711
- dispatch({ type: 'LOGIN_FAILURE' });
712
- throw error;
713
- }
714
- };
715
-
716
- const logout = () => {
717
- dispatch({ type: 'LOGOUT' });
718
- };
719
-
720
- return (
721
- <AuthContext.Provider
722
- value={{
723
- ...state,
724
- login,
725
- register,
726
- logout,
727
- }}
728
- >
729
- {children}
730
- </AuthContext.Provider>
731
- );
732
- }
733
-
734
- export function useAuth() {
735
- const context = useContext(AuthContext);
736
- if (context === undefined) {
737
- throw new Error('useAuth must be used within an AuthProvider');
738
- }
739
- return context;
740
- }
741
- ```
742
-
743
- ### 5. API Integration and State Management
744
- ```typescript
745
- // frontend/src/services/api.ts - API client
746
- import axios, { AxiosError } from 'axios';
747
- import toast from 'react-hot-toast';
748
- import {
749
- User,
750
- Post,
751
- AuthResponse,
752
- LoginRequest,
753
- CreateUserRequest,
754
- CreatePostRequest,
755
- PaginatedResponse,
756
- ApiResponse
757
- } from '../types/api';
758
-
759
- const API_BASE_URL = process.env.REACT_APP_API_URL || 'http://localhost:3001/api';
760
-
761
- // Create axios instance
762
- const api = axios.create({
763
- baseURL: API_BASE_URL,
764
- timeout: 10000,
765
- headers: {
766
- 'Content-Type': 'application/json',
767
- },
768
- });
769
-
770
- // Request interceptor to add auth token
771
- api.interceptors.request.use(
772
- (config) => {
773
- const token = localStorage.getItem('auth_token');
774
- if (token) {
775
- config.headers.Authorization = `Bearer ${token}`;
776
- }
777
- return config;
778
- },
779
- (error) => Promise.reject(error)
780
- );
781
-
782
- // Response interceptor for token refresh and error handling
783
- api.interceptors.response.use(
784
- (response) => response,
785
- async (error: AxiosError) => {
786
- const originalRequest = error.config as any;
787
-
788
- if (error.response?.status === 401 && !originalRequest._retry) {
789
- originalRequest._retry = true;
790
-
791
- try {
792
- const refreshToken = localStorage.getItem('refresh_token');
793
- if (refreshToken) {
794
- const response = await axios.post(`${API_BASE_URL}/auth/refresh`, {
795
- refreshToken,
796
- });
797
-
798
- const newToken = response.data.data.token;
799
- localStorage.setItem('auth_token', newToken);
800
-
801
- // Retry original request with new token
802
- originalRequest.headers.Authorization = `Bearer ${newToken}`;
803
- return api(originalRequest);
804
- }
805
- } catch (refreshError) {
806
- // Refresh failed, redirect to login
807
- localStorage.removeItem('auth_token');
808
- localStorage.removeItem('refresh_token');
809
- window.location.href = '/login';
810
- return Promise.reject(refreshError);
811
- }
812
- }
813
-
814
- // Handle other errors
815
- if (error.response?.data?.error) {
816
- toast.error(error.response.data.error);
817
- } else {
818
- toast.error('An unexpected error occurred');
819
- }
820
-
821
- return Promise.reject(error);
822
- }
823
- );
824
-
825
- // Authentication API
826
- export const authAPI = {
827
- login: async (credentials: LoginRequest): Promise<AuthResponse> => {
828
- const response = await api.post<ApiResponse<AuthResponse>>('/auth/login', credentials);
829
- return response.data.data!;
830
- },
831
-
832
- register: async (userData: CreateUserRequest): Promise<AuthResponse> => {
833
- const response = await api.post<ApiResponse<AuthResponse>>('/auth/register', userData);
834
- return response.data.data!;
835
- },
836
-
837
- verifyToken: async (token: string): Promise<User> => {
838
- const response = await api.get<ApiResponse<User>>('/auth/verify', {
839
- headers: { Authorization: `Bearer ${token}` },
840
- });
841
- return response.data.data!;
842
- },
843
- };
844
-
845
- // Posts API
846
- export const postsAPI = {
847
- getPosts: async (page = 1, limit = 10): Promise<PaginatedResponse<Post>> => {
848
- const response = await api.get<ApiResponse<PaginatedResponse<Post>>>(
849
- `/posts?page=${page}&limit=${limit}`
850
- );
851
- return response.data.data!;
852
- },
853
-
854
- getPost: async (id: string): Promise<Post> => {
855
- const response = await api.get<ApiResponse<Post>>(`/posts/${id}`);
856
- return response.data.data!;
857
- },
858
-
859
- createPost: async (postData: CreatePostRequest): Promise<Post> => {
860
- const response = await api.post<ApiResponse<Post>>('/posts', postData);
861
- return response.data.data!;
862
- },
863
-
864
- updatePost: async (id: string, postData: Partial<CreatePostRequest>): Promise<Post> => {
865
- const response = await api.put<ApiResponse<Post>>(`/posts/${id}`, postData);
866
- return response.data.data!;
867
- },
868
-
869
- deletePost: async (id: string): Promise<void> => {
870
- await api.delete(`/posts/${id}`);
871
- },
872
-
873
- likePost: async (id: string): Promise<Post> => {
874
- const response = await api.post<ApiResponse<Post>>(`/posts/${id}/like`);
875
- return response.data.data!;
876
- },
877
- };
878
-
879
- // Users API
880
- export const usersAPI = {
881
- getProfile: async (): Promise<User> => {
882
- const response = await api.get<ApiResponse<User>>('/users/profile');
883
- return response.data.data!;
884
- },
885
-
886
- updateProfile: async (userData: Partial<User>): Promise<User> => {
887
- const response = await api.put<ApiResponse<User>>('/users/profile', userData);
888
- return response.data.data!;
889
- },
890
- };
891
-
892
- export default api;
893
- ```
894
-
895
- ### 6. Reusable UI Components
896
- ```tsx
897
- // frontend/src/components/PostCard.tsx - Reusable post component
898
- import React from 'react';
899
- import { Link } from 'react-router-dom';
900
- import { useMutation, useQueryClient } from '@tanstack/react-query';
901
- import { Heart, Eye, Calendar, User } from 'lucide-react';
902
- import { Post } from '../types/api';
903
- import { postsAPI } from '../services/api';
904
- import { useAuth } from '../contexts/AuthContext';
905
- import { formatDate } from '../utils/dateUtils';
906
- import toast from 'react-hot-toast';
907
-
908
- interface PostCardProps {
909
- post: Post;
910
- showActions?: boolean;
911
- className?: string;
912
- }
913
-
914
- export function PostCard({ post, showActions = true, className = '' }: PostCardProps) {
915
- const { user } = useAuth();
916
- const queryClient = useQueryClient();
917
-
918
- const likeMutation = useMutation({
919
- mutationFn: postsAPI.likePost,
920
- onSuccess: (updatedPost) => {
921
- // Update the post in the cache
922
- queryClient.setQueryData(['posts'], (oldData: any) => {
923
- if (!oldData) return oldData;
924
- return {
925
- ...oldData,
926
- data: oldData.data.map((p: Post) =>
927
- p.id === updatedPost.id ? updatedPost : p
928
- ),
929
- };
930
- });
931
- toast.success('Post liked!');
932
- },
933
- onError: () => {
934
- toast.error('Failed to like post');
935
- },
936
- });
937
-
938
- const handleLike = () => {
939
- if (!user) {
940
- toast.error('Please login to like posts');
941
- return;
942
- }
943
- likeMutation.mutate(post.id);
944
- };
945
-
946
- return (
947
- <article className={`bg-white rounded-lg shadow-md overflow-hidden hover:shadow-lg transition-shadow ${className}`}>
948
- <div className="p-6">
949
- <div className="flex items-center justify-between mb-4">
950
- <div className="flex items-center space-x-2 text-sm text-gray-600">
951
- <User className="w-4 h-4" />
952
- <span>{post.author.name}</span>
953
- <Calendar className="w-4 h-4 ml-4" />
954
- <span>{formatDate(post.createdAt)}</span>
955
- </div>
956
- {!post.published && (
957
- <span className="px-2 py-1 text-xs bg-yellow-100 text-yellow-800 rounded-full">
958
- Draft
959
- </span>
960
- )}
961
- </div>
962
-
963
- <h3 className="text-xl font-semibold text-gray-900 mb-3">
964
- <Link
965
- to={`/posts/${post.id}`}
966
- className="hover:text-blue-600 transition-colors"
967
- >
968
- {post.title}
969
- </Link>
970
- </h3>
971
-
972
- <p className="text-gray-600 mb-4 line-clamp-3">
973
- {post.content.substring(0, 200)}...
974
- </p>
975
-
976
- <div className="flex flex-wrap gap-2 mb-4">
977
- {post.tags.map((tag) => (
978
- <span
979
- key={tag}
980
- className="px-2 py-1 text-xs bg-blue-100 text-blue-800 rounded-full"
981
- >
982
- #{tag}
983
- </span>
984
- ))}
985
- </div>
986
-
987
- {showActions && (
988
- <div className="flex items-center justify-between pt-4 border-t border-gray-200">
989
- <div className="flex items-center space-x-4 text-sm text-gray-600">
990
- <div className="flex items-center space-x-1">
991
- <Eye className="w-4 h-4" />
992
- <span>{post.viewCount}</span>
993
- </div>
994
- <div className="flex items-center space-x-1">
995
- <Heart className="w-4 h-4" />
996
- <span>{post.likeCount}</span>
997
- </div>
998
- </div>
999
-
1000
- <button
1001
- onClick={handleLike}
1002
- disabled={likeMutation.isLoading}
1003
- className="flex items-center space-x-2 px-3 py-1 text-sm text-blue-600 hover:bg-blue-50 rounded-md transition-colors disabled:opacity-50"
1004
- >
1005
- <Heart className={`w-4 h-4 ${likeMutation.isLoading ? 'animate-pulse' : ''}`} />
1006
- <span>Like</span>
1007
- </button>
1008
- </div>
1009
- )}
1010
- </div>
1011
- </article>
1012
- );
1013
- }
1014
-
1015
- // frontend/src/components/LoadingSpinner.tsx - Loading component
1016
- import React from 'react';
1017
-
1018
- interface LoadingSpinnerProps {
1019
- size?: 'sm' | 'md' | 'lg';
1020
- className?: string;
1021
- }
1022
-
1023
- export function LoadingSpinner({ size = 'md', className = '' }: LoadingSpinnerProps) {
1024
- const sizeClasses = {
1025
- sm: 'w-4 h-4',
1026
- md: 'w-8 h-8',
1027
- lg: 'w-12 h-12',
1028
- };
1029
-
1030
- return (
1031
- <div className={`flex justify-center items-center ${className}`}>
1032
- <div
1033
- className={`${sizeClasses[size]} border-2 border-gray-300 border-t-blue-600 rounded-full animate-spin`}
1034
- />
1035
- </div>
1036
- );
1037
- }
1038
-
1039
- // frontend/src/components/ErrorBoundary.tsx - Error boundary component
1040
- import React, { Component, ErrorInfo, ReactNode } from 'react';
1041
-
1042
- interface Props {
1043
- children: ReactNode;
1044
- }
1045
-
1046
- interface State {
1047
- hasError: boolean;
1048
- error?: Error;
1049
- }
1050
-
1051
- export class ErrorBoundary extends Component<Props, State> {
1052
- public state: State = {
1053
- hasError: false,
1054
- };
1055
-
1056
- public static getDerivedStateFromError(error: Error): State {
1057
- return { hasError: true, error };
1058
- }
1059
-
1060
- public componentDidCatch(error: Error, errorInfo: ErrorInfo) {
1061
- console.error('Uncaught error:', error, errorInfo);
1062
- }
1063
-
1064
- public render() {
1065
- if (this.state.hasError) {
1066
- return (
1067
- <div className="min-h-screen flex items-center justify-center bg-gray-50">
1068
- <div className="max-w-md w-full bg-white rounded-lg shadow-md p-6 text-center">
1069
- <h2 className="text-2xl font-bold text-gray-900 mb-4">
1070
- Something went wrong
1071
- </h2>
1072
- <p className="text-gray-600 mb-6">
1073
- We're sorry, but something unexpected happened. Please try refreshing the page.
1074
- </p>
1075
- <button
1076
- onClick={() => window.location.reload()}
1077
- className="px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors"
1078
- >
1079
- Refresh Page
1080
- </button>
1081
- </div>
1082
- </div>
1083
- );
1084
- }
1085
-
1086
- return this.props.children;
1087
- }
1088
- }
1089
- ```
1090
-
1091
- ## Development Best Practices
1092
-
1093
- ### Code Quality and Testing
1094
- ```typescript
1095
- // Testing example with Jest and React Testing Library
1096
- // frontend/src/components/__tests__/PostCard.test.tsx
1097
- import React from 'react';
1098
- import { render, screen, fireEvent, waitFor } from '@testing-library/react';
1099
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
1100
- import { BrowserRouter } from 'react-router-dom';
1101
- import { PostCard } from '../PostCard';
1102
- import { AuthProvider } from '../../contexts/AuthContext';
1103
- import { mockPost, mockUser } from '../../__mocks__/data';
1104
-
1105
- const createWrapper = () => {
1106
- const queryClient = new QueryClient({
1107
- defaultOptions: { queries: { retry: false } },
1108
- });
1109
-
1110
- return ({ children }: { children: React.ReactNode }) => (
1111
- <QueryClientProvider client={queryClient}>
1112
- <BrowserRouter>
1113
- <AuthProvider>
1114
- {children}
1115
- </AuthProvider>
1116
- </BrowserRouter>
1117
- </QueryClientProvider>
1118
- );
1119
- };
1120
-
1121
- describe('PostCard', () => {
1122
- it('renders post information correctly', () => {
1123
- render(<PostCard post={mockPost} />, { wrapper: createWrapper() });
1124
-
1125
- expect(screen.getByText(mockPost.title)).toBeInTheDocument();
1126
- expect(screen.getByText(mockPost.author.name)).toBeInTheDocument();
1127
- expect(screen.getByText(`${mockPost.viewCount}`)).toBeInTheDocument();
1128
- expect(screen.getByText(`${mockPost.likeCount}`)).toBeInTheDocument();
1129
- });
1130
-
1131
- it('handles like button click', async () => {
1132
- const user = userEvent.setup();
1133
- render(<PostCard post={mockPost} />, { wrapper: createWrapper() });
1134
-
1135
- const likeButton = screen.getByRole('button', { name: /like/i });
1136
- await user.click(likeButton);
1137
-
1138
- await waitFor(() => {
1139
- expect(screen.getByText('Post liked!')).toBeInTheDocument();
1140
- });
1141
- });
1142
- });
1143
- ```
1144
-
1145
- ### Performance Optimization
1146
- ```typescript
1147
- // frontend/src/hooks/useInfiniteScroll.ts - Custom hook for pagination
1148
- import { useInfiniteQuery } from '@tanstack/react-query';
1149
- import { useEffect } from 'react';
1150
- import { postsAPI } from '../services/api';
1151
-
1152
- export function useInfiniteScroll() {
1153
- const {
1154
- data,
1155
- fetchNextPage,
1156
- hasNextPage,
1157
- isFetchingNextPage,
1158
- isLoading,
1159
- error,
1160
- } = useInfiniteQuery({
1161
- queryKey: ['posts'],
1162
- queryFn: ({ pageParam = 1 }) => postsAPI.getPosts(pageParam),
1163
- getNextPageParam: (lastPage, allPages) => {
1164
- return lastPage.pagination.page < lastPage.pagination.totalPages
1165
- ? lastPage.pagination.page + 1
1166
- : undefined;
1167
- },
1168
- });
1169
-
1170
- useEffect(() => {
1171
- const handleScroll = () => {
1172
- if (
1173
- window.innerHeight + document.documentElement.scrollTop >=
1174
- document.documentElement.offsetHeight - 1000
1175
- ) {
1176
- if (hasNextPage && !isFetchingNextPage) {
1177
- fetchNextPage();
1178
- }
1179
- }
1180
- };
1181
-
1182
- window.addEventListener('scroll', handleScroll);
1183
- return () => window.removeEventListener('scroll', handleScroll);
1184
- }, [fetchNextPage, hasNextPage, isFetchingNextPage]);
1185
-
1186
- const posts = data?.pages.flatMap(page => page.data) ?? [];
1187
-
1188
- return {
1189
- posts,
1190
- isLoading,
1191
- isFetchingNextPage,
1192
- hasNextPage,
1193
- error,
1194
- };
1195
- }
1196
- ```
1197
-
1198
- Your full-stack implementations should prioritize:
1199
- 1. **Type Safety** - End-to-end TypeScript for robust development
1200
- 2. **Performance** - Optimization at every layer from database to UI
1201
- 3. **Security** - Authentication, authorization, and data validation
1202
- 4. **Testing** - Comprehensive test coverage across the stack
1203
- 5. **Developer Experience** - Clear code organization and modern tooling
1204
-
1205
- Always include error handling, loading states, accessibility features, and comprehensive documentation for maintainable applications.