claude-code-templates 1.21.13 → 1.22.1

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 (811) hide show
  1. package/README.md +79 -77
  2. package/{cli-tool/bin → bin}/create-claude-config.js +2 -0
  3. package/package.json +79 -21
  4. package/{cli-tool/src → src}/analytics-web/chats_mobile.html +17 -16
  5. package/{cli-tool/src → src}/console-bridge.js +3 -3
  6. package/{cli-tool/src → src}/index.js +130 -10
  7. package/src/plugin-dashboard-web/app.js +806 -0
  8. package/src/plugin-dashboard-web/index.html +292 -0
  9. package/src/plugin-dashboard-web/styles.css +1781 -0
  10. package/src/plugin-dashboard.js +689 -0
  11. package/src/security-audit.js +164 -0
  12. package/src/validation/ARCHITECTURE.md +309 -0
  13. package/src/validation/BaseValidator.js +152 -0
  14. package/src/validation/README.md +543 -0
  15. package/src/validation/ValidationOrchestrator.js +305 -0
  16. package/src/validation/validators/IntegrityValidator.js +338 -0
  17. package/src/validation/validators/ProvenanceValidator.js +399 -0
  18. package/src/validation/validators/ReferenceValidator.js +373 -0
  19. package/src/validation/validators/SemanticValidator.js +449 -0
  20. package/src/validation/validators/StructuralValidator.js +376 -0
  21. package/.claude/agents/agent-expert.md +0 -477
  22. package/.claude/agents/cli-ui-designer.md +0 -405
  23. package/.claude/agents/command-expert.md +0 -421
  24. package/.claude/agents/docusaurus-expert.md +0 -173
  25. package/.claude/agents/frontend-developer.md +0 -32
  26. package/.claude/agents/mcp-expert.md +0 -258
  27. package/.claude/commands/lint.md +0 -111
  28. package/.claude/commands/test.md +0 -73
  29. package/.claude/settings.local.json +0 -56
  30. package/.env.example +0 -26
  31. package/.github/WORKFLOWS_REFERENCE.md +0 -88
  32. package/.github/workflows/deploy-docusaurus.yml +0 -31
  33. package/.github/workflows/deploy.yml +0 -33
  34. package/.github/workflows/publish-package.yml +0 -125
  35. package/.mcp.json +0 -4
  36. package/AGENTS.md +0 -4
  37. package/CLAUDE.md +0 -482
  38. package/CLAUDE_JOBS_README.md +0 -148
  39. package/CODE_OF_CONDUCT.md +0 -82
  40. package/CONTRIBUTING.md +0 -505
  41. package/DEPLOYMENT.md +0 -60
  42. package/LICENSE +0 -21
  43. package/ROADMAP.md +0 -278
  44. package/SECURITY.md +0 -65
  45. package/api/index.html +0 -1
  46. package/api/package.json +0 -7
  47. package/api/track-download-supabase.js +0 -150
  48. package/cli-tool/Makefile +0 -102
  49. package/cli-tool/README.md +0 -126
  50. package/cli-tool/TESTING.md +0 -262
  51. package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
  52. package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
  53. package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
  54. package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
  55. package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
  56. package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
  57. package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
  58. package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
  59. package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
  60. package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
  61. package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
  62. package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
  63. package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
  64. package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
  65. package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
  66. package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
  67. package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
  68. package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
  69. package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
  70. package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
  71. package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
  72. package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
  73. package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
  74. package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
  75. package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
  76. package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
  77. package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
  78. package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
  79. package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
  80. package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
  81. package/cli-tool/components/agents/database/database-admin.md +0 -33
  82. package/cli-tool/components/agents/database/database-architect.md +0 -590
  83. package/cli-tool/components/agents/database/database-optimization.md +0 -33
  84. package/cli-tool/components/agents/database/database-optimizer.md +0 -33
  85. package/cli-tool/components/agents/database/neon-auth-specialist.md +0 -175
  86. package/cli-tool/components/agents/database/neon-database-architect.md +0 -141
  87. package/cli-tool/components/agents/database/neon-expert.md +0 -846
  88. package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
  89. package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
  90. package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
  91. package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
  92. package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
  93. package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
  94. package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
  95. package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
  96. package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
  97. package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
  98. package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
  99. package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
  100. package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
  101. package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
  102. package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
  103. package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
  104. package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
  105. package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
  106. package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
  107. package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
  108. package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
  109. package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
  110. package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
  111. package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
  112. package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
  113. package/cli-tool/components/agents/development-tools/debugger.md +0 -31
  114. package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
  115. package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
  116. package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
  117. package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
  118. package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
  119. package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
  120. package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
  121. package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
  122. package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
  123. package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
  124. package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
  125. package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
  126. package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
  127. package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
  128. package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
  129. package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -175
  130. package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
  131. package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -491
  132. package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
  133. package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
  134. package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
  135. package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
  136. package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
  137. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
  138. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
  139. package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
  140. package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
  141. package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
  142. package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
  143. package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
  144. package/cli-tool/components/agents/game-development/game-designer.md +0 -37
  145. package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
  146. package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
  147. package/cli-tool/components/agents/git/git-flow-manager.md +0 -329
  148. package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
  149. package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
  150. package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
  151. package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
  152. package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
  153. package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
  154. package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
  155. package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
  156. package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
  157. package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
  158. package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
  159. package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
  160. package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
  161. package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
  162. package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
  163. package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
  164. package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
  165. package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
  166. package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
  167. package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
  168. package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
  169. package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
  170. package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
  171. package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
  172. package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
  173. package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
  174. package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
  175. package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
  176. package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
  177. package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
  178. package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
  179. package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
  180. package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
  181. package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
  182. package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
  183. package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
  184. package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
  185. package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
  186. package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
  187. package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
  188. package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
  189. package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
  190. package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
  191. package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
  192. package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
  193. package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
  194. package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
  195. package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
  196. package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
  197. package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
  198. package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
  199. package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
  200. package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
  201. package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
  202. package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
  203. package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
  204. package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
  205. package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
  206. package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
  207. package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
  208. package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
  209. package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
  210. package/cli-tool/components/agents/security/api-security-audit.md +0 -93
  211. package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
  212. package/cli-tool/components/agents/security/incident-responder.md +0 -75
  213. package/cli-tool/components/agents/security/penetration-tester.md +0 -37
  214. package/cli-tool/components/agents/security/security-auditor.md +0 -33
  215. package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
  216. package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
  217. package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
  218. package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
  219. package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
  220. package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
  221. package/cli-tool/components/commands/automation/act.md +0 -57
  222. package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
  223. package/cli-tool/components/commands/automation/husky.md +0 -130
  224. package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
  225. package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
  226. package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
  227. package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
  228. package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
  229. package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
  230. package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
  231. package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
  232. package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
  233. package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
  234. package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
  235. package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
  236. package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
  237. package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
  238. package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
  239. package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
  240. package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
  241. package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
  242. package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
  243. package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
  244. package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
  245. package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
  246. package/cli-tool/components/commands/documentation/doc-api.md +0 -242
  247. package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
  248. package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
  249. package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
  250. package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
  251. package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
  252. package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
  253. package/cli-tool/components/commands/documentation/update-docs.md +0 -107
  254. package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
  255. package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
  256. package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
  257. package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
  258. package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
  259. package/cli-tool/components/commands/git/feature.md +0 -196
  260. package/cli-tool/components/commands/git/finish.md +0 -528
  261. package/cli-tool/components/commands/git/flow-status.md +0 -438
  262. package/cli-tool/components/commands/git/hotfix.md +0 -456
  263. package/cli-tool/components/commands/git/release.md +0 -381
  264. package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
  265. package/cli-tool/components/commands/git-workflow/commit.md +0 -167
  266. package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
  267. package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
  268. package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
  269. package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
  270. package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
  271. package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
  272. package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
  273. package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
  274. package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
  275. package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
  276. package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
  277. package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
  278. package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
  279. package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
  280. package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
  281. package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
  282. package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
  283. package/cli-tool/components/commands/orchestration/archive.md +0 -414
  284. package/cli-tool/components/commands/orchestration/commit.md +0 -305
  285. package/cli-tool/components/commands/orchestration/find.md +0 -272
  286. package/cli-tool/components/commands/orchestration/log.md +0 -355
  287. package/cli-tool/components/commands/orchestration/move.md +0 -220
  288. package/cli-tool/components/commands/orchestration/optimize.md +0 -375
  289. package/cli-tool/components/commands/orchestration/remove.md +0 -301
  290. package/cli-tool/components/commands/orchestration/report.md +0 -292
  291. package/cli-tool/components/commands/orchestration/resume.md +0 -256
  292. package/cli-tool/components/commands/orchestration/start.md +0 -169
  293. package/cli-tool/components/commands/orchestration/status.md +0 -219
  294. package/cli-tool/components/commands/orchestration/sync.md +0 -294
  295. package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
  296. package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
  297. package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
  298. package/cli-tool/components/commands/performance/optimize-build.md +0 -139
  299. package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
  300. package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
  301. package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
  302. package/cli-tool/components/commands/performance/performance-audit.md +0 -89
  303. package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
  304. package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
  305. package/cli-tool/components/commands/project-management/add-package.md +0 -90
  306. package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
  307. package/cli-tool/components/commands/project-management/create-feature.md +0 -130
  308. package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
  309. package/cli-tool/components/commands/project-management/create-prd.md +0 -36
  310. package/cli-tool/components/commands/project-management/create-prp.md +0 -37
  311. package/cli-tool/components/commands/project-management/init-project.md +0 -80
  312. package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
  313. package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
  314. package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
  315. package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
  316. package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
  317. package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
  318. package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
  319. package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
  320. package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
  321. package/cli-tool/components/commands/project-management/release.md +0 -31
  322. package/cli-tool/components/commands/project-management/todo.md +0 -62
  323. package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
  324. package/cli-tool/components/commands/security/dependency-audit.md +0 -32
  325. package/cli-tool/components/commands/security/penetration-test.md +0 -40
  326. package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
  327. package/cli-tool/components/commands/security/security-audit.md +0 -82
  328. package/cli-tool/components/commands/security/security-hardening.md +0 -33
  329. package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
  330. package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
  331. package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
  332. package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
  333. package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
  334. package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
  335. package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
  336. package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
  337. package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
  338. package/cli-tool/components/commands/setup/setup-linting.md +0 -37
  339. package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
  340. package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
  341. package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
  342. package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
  343. package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
  344. package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
  345. package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
  346. package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
  347. package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
  348. package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
  349. package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
  350. package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
  351. package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
  352. package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
  353. package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
  354. package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
  355. package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
  356. package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
  357. package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
  358. package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
  359. package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
  360. package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
  361. package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
  362. package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
  363. package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
  364. package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
  365. package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
  366. package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
  367. package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
  368. package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
  369. package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
  370. package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
  371. package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
  372. package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
  373. package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
  374. package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
  375. package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
  376. package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
  377. package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
  378. package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
  379. package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
  380. package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
  381. package/cli-tool/components/commands/sync/sync-status.md +0 -391
  382. package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
  383. package/cli-tool/components/commands/team/architecture-review.md +0 -37
  384. package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
  385. package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
  386. package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
  387. package/cli-tool/components/commands/team/issue-triage.md +0 -37
  388. package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
  389. package/cli-tool/components/commands/team/migration-assistant.md +0 -37
  390. package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
  391. package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
  392. package/cli-tool/components/commands/team/sprint-planning.md +0 -189
  393. package/cli-tool/components/commands/team/standup-report.md +0 -37
  394. package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
  395. package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
  396. package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
  397. package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
  398. package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
  399. package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
  400. package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
  401. package/cli-tool/components/commands/testing/generate-tests.md +0 -82
  402. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
  403. package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
  404. package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
  405. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
  406. package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
  407. package/cli-tool/components/commands/testing/test-coverage.md +0 -37
  408. package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
  409. package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
  410. package/cli-tool/components/commands/testing/write-tests.md +0 -37
  411. package/cli-tool/components/commands/utilities/all-tools.md +0 -31
  412. package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
  413. package/cli-tool/components/commands/utilities/check-file.md +0 -53
  414. package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
  415. package/cli-tool/components/commands/utilities/clean.md +0 -1
  416. package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
  417. package/cli-tool/components/commands/utilities/code-review.md +0 -70
  418. package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
  419. package/cli-tool/components/commands/utilities/context-prime.md +0 -1
  420. package/cli-tool/components/commands/utilities/debug-error.md +0 -121
  421. package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
  422. package/cli-tool/components/commands/utilities/explain-code.md +0 -194
  423. package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
  424. package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
  425. package/cli-tool/components/commands/utilities/git-status.md +0 -39
  426. package/cli-tool/components/commands/utilities/initref.md +0 -3
  427. package/cli-tool/components/commands/utilities/prime.md +0 -41
  428. package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
  429. package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
  430. package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
  431. package/cli-tool/components/hooks/automation/agents-md-loader.json +0 -17
  432. package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
  433. package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
  434. package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
  435. package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
  436. package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
  437. package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
  438. package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
  439. package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
  440. package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
  441. package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
  442. package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
  443. package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
  444. package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
  445. package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
  446. package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
  447. package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
  448. package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
  449. package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
  450. package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
  451. package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
  452. package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
  453. package/cli-tool/components/hooks/git/conventional-commits.json +0 -16
  454. package/cli-tool/components/hooks/git/conventional-commits.py +0 -84
  455. package/cli-tool/components/hooks/git/prevent-direct-push.json +0 -16
  456. package/cli-tool/components/hooks/git/prevent-direct-push.py +0 -86
  457. package/cli-tool/components/hooks/git/validate-branch-name.json +0 -16
  458. package/cli-tool/components/hooks/git/validate-branch-name.py +0 -96
  459. package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
  460. package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
  461. package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
  462. package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
  463. package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
  464. package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
  465. package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
  466. package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
  467. package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
  468. package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
  469. package/cli-tool/components/hooks/pre-tool/update-search-year.json +0 -17
  470. package/cli-tool/components/hooks/security/file-protection.json +0 -16
  471. package/cli-tool/components/hooks/security/security-scanner.json +0 -16
  472. package/cli-tool/components/hooks/testing/test-runner.json +0 -16
  473. package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
  474. package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
  475. package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
  476. package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
  477. package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
  478. package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
  479. package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
  480. package/cli-tool/components/mcps/database/neon.json +0 -9
  481. package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
  482. package/cli-tool/components/mcps/database/supabase.json +0 -17
  483. package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
  484. package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
  485. package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
  486. package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
  487. package/cli-tool/components/mcps/devtools/azure-kubernetes-service.json +0 -11
  488. package/cli-tool/components/mcps/devtools/box.json +0 -14
  489. package/cli-tool/components/mcps/devtools/circleci.json +0 -13
  490. package/cli-tool/components/mcps/devtools/codacy.json +0 -12
  491. package/cli-tool/components/mcps/devtools/context7.json +0 -9
  492. package/cli-tool/components/mcps/devtools/dynatrace.json +0 -13
  493. package/cli-tool/components/mcps/devtools/elasticsearch.json +0 -18
  494. package/cli-tool/components/mcps/devtools/figma-dev-mode.json +0 -8
  495. package/cli-tool/components/mcps/devtools/firecrawl.json +0 -12
  496. package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
  497. package/cli-tool/components/mcps/devtools/huggingface.json +0 -11
  498. package/cli-tool/components/mcps/devtools/imagesorcery.json +0 -11
  499. package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
  500. package/cli-tool/components/mcps/devtools/jfrog.json +0 -8
  501. package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
  502. package/cli-tool/components/mcps/devtools/launchdarkly.json +0 -12
  503. package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
  504. package/cli-tool/components/mcps/devtools/logfire.json +0 -9
  505. package/cli-tool/components/mcps/devtools/markitdown.json +0 -14
  506. package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
  507. package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
  508. package/cli-tool/components/mcps/devtools/microsoft-clarity.json +0 -11
  509. package/cli-tool/components/mcps/devtools/microsoft-dev-box.json +0 -9
  510. package/cli-tool/components/mcps/devtools/mongodb.json +0 -12
  511. package/cli-tool/components/mcps/devtools/postman.json +0 -12
  512. package/cli-tool/components/mcps/devtools/sentry.json +0 -8
  513. package/cli-tool/components/mcps/devtools/serena.json +0 -9
  514. package/cli-tool/components/mcps/devtools/stripe.json +0 -12
  515. package/cli-tool/components/mcps/devtools/terraform.json +0 -14
  516. package/cli-tool/components/mcps/devtools/webflow.json +0 -8
  517. package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
  518. package/cli-tool/components/mcps/integration/github-integration.json +0 -12
  519. package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
  520. package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
  521. package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
  522. package/cli-tool/components/mcps/productivity/monday.json +0 -14
  523. package/cli-tool/components/mcps/productivity/notion.json +0 -12
  524. package/cli-tool/components/mcps/web/web-fetch.json +0 -9
  525. package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
  526. package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
  527. package/cli-tool/components/settings/api/custom-headers.json +0 -6
  528. package/cli-tool/components/settings/api/vertex-configuration.json +0 -17
  529. package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
  530. package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
  531. package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
  532. package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
  533. package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
  534. package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
  535. package/cli-tool/components/settings/environment/development-utils.json +0 -8
  536. package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
  537. package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
  538. package/cli-tool/components/settings/git/git-flow-settings.json +0 -79
  539. package/cli-tool/components/settings/global/aws-credentials.json +0 -5
  540. package/cli-tool/components/settings/global/custom-model.json +0 -7
  541. package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
  542. package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
  543. package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
  544. package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
  545. package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
  546. package/cli-tool/components/settings/model/use-haiku.json +0 -4
  547. package/cli-tool/components/settings/model/use-sonnet.json +0 -4
  548. package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
  549. package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
  550. package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
  551. package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
  552. package/cli-tool/components/settings/permissions/development-mode.json +0 -31
  553. package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
  554. package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
  555. package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
  556. package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
  557. package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
  558. package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
  559. package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
  560. package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
  561. package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
  562. package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
  563. package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
  564. package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
  565. package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
  566. package/cli-tool/components/settings/statusline/git-flow-status.json +0 -7
  567. package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
  568. package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
  569. package/cli-tool/components/settings/statusline/neon-database-dev.json +0 -7
  570. package/cli-tool/components/settings/statusline/neon-database-resources.json +0 -7
  571. package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
  572. package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
  573. package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
  574. package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
  575. package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
  576. package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
  577. package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
  578. package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
  579. package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
  580. package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
  581. package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
  582. package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
  583. package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
  584. package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
  585. package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
  586. package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
  587. package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
  588. package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
  589. package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
  590. package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -1035
  591. package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
  592. package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
  593. package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
  594. package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
  595. package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
  596. package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
  597. package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
  598. package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
  599. package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
  600. package/cli-tool/jest.config.js +0 -84
  601. package/cli-tool/package-lock.json +0 -5471
  602. package/cli-tool/package.json +0 -96
  603. package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
  604. package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
  605. package/cli-tool/templates/common/.mcp.json +0 -41
  606. package/cli-tool/templates/common/CLAUDE.md +0 -109
  607. package/cli-tool/templates/common/README.md +0 -96
  608. package/cli-tool/templates/go/.mcp.json +0 -78
  609. package/cli-tool/templates/go/README.md +0 -25
  610. package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
  611. package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
  612. package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
  613. package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
  614. package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
  615. package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
  616. package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
  617. package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
  618. package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
  619. package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
  620. package/cli-tool/templates/javascript-typescript/README.md +0 -259
  621. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
  622. package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
  623. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
  624. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
  625. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
  626. package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
  627. package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
  628. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
  629. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
  630. package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
  631. package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
  632. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
  633. package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
  634. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
  635. package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
  636. package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
  637. package/cli-tool/templates/python/.claude/commands/test.md +0 -73
  638. package/cli-tool/templates/python/.claude/settings.json +0 -153
  639. package/cli-tool/templates/python/.mcp.json +0 -78
  640. package/cli-tool/templates/python/CLAUDE.md +0 -276
  641. package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
  642. package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
  643. package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
  644. package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
  645. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
  646. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
  647. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
  648. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
  649. package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
  650. package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
  651. package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
  652. package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
  653. package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
  654. package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
  655. package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
  656. package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
  657. package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
  658. package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
  659. package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
  660. package/cli-tool/templates/ruby/.claude/settings.json +0 -146
  661. package/cli-tool/templates/ruby/.mcp.json +0 -83
  662. package/cli-tool/templates/ruby/CLAUDE.md +0 -284
  663. package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
  664. package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
  665. package/cli-tool/templates/rust/.mcp.json +0 -78
  666. package/cli-tool/templates/rust/README.md +0 -26
  667. package/cli-tool/test-commands.sh +0 -85
  668. package/cli-tool/test-detailed.sh +0 -267
  669. package/dev-server.js +0 -46
  670. package/docs/CNAME +0 -1
  671. package/docs/README.md +0 -49
  672. package/docs/_config.yml +0 -43
  673. package/docs/api/agents.json +0 -942
  674. package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
  675. package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
  676. package/docs/blog/assets/e2b-claude-code-sandbox-cover.png +0 -0
  677. package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
  678. package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
  679. package/docs/blog/e2b-claude-code-sandbox/index.html +0 -908
  680. package/docs/blog/index.html +0 -274
  681. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1032
  682. package/docs/blog/supabase-claude-code-integration/index.html +0 -848
  683. package/docs/claude-jobs.json +0 -163
  684. package/docs/component.html +0 -506
  685. package/docs/components-metadata.json +0 -303
  686. package/docs/components.json +0 -4952
  687. package/docs/css/blog.css +0 -821
  688. package/docs/css/component-page.css +0 -1063
  689. package/docs/css/stack-page.css +0 -776
  690. package/docs/css/styles.css +0 -4540
  691. package/docs/css/trending.css +0 -1441
  692. package/docs/css/workflows-modal.css +0 -739
  693. package/docs/css/workflows.css +0 -1234
  694. package/docs/download-stats.html +0 -527
  695. package/docs/index.html +0 -627
  696. package/docs/jobs.html +0 -1059
  697. package/docs/js/carousel.js +0 -177
  698. package/docs/js/cart-manager.js +0 -658
  699. package/docs/js/component-page.js +0 -808
  700. package/docs/js/data-loader.js +0 -633
  701. package/docs/js/generate-search-data.js +0 -82
  702. package/docs/js/index-events.js +0 -1812
  703. package/docs/js/modal-helpers.js +0 -345
  704. package/docs/js/script.js +0 -2167
  705. package/docs/js/search-functionality.js +0 -1165
  706. package/docs/js/stack-router.js +0 -561
  707. package/docs/js/trending.js +0 -752
  708. package/docs/js/utils.js +0 -43
  709. package/docs/js/workflows-events.js +0 -1146
  710. package/docs/js/workflows.js +0 -627
  711. package/docs/robots.txt +0 -28
  712. package/docs/sandbox-interface.html +0 -1418
  713. package/docs/sitemap.xml +0 -193
  714. package/docs/static/img/logo.png +0 -0
  715. package/docs/static/img/logo.svg +0 -23
  716. package/docs/trending-data.json +0 -885
  717. package/docs/trending.html +0 -238
  718. package/docs/vercel.json +0 -36
  719. package/docs/workflows.html +0 -391
  720. package/docu/README.md +0 -41
  721. package/docu/docs/cli-options.md +0 -90
  722. package/docu/docs/components/agents.md +0 -113
  723. package/docu/docs/components/commands.md +0 -90
  724. package/docu/docs/components/hooks.md +0 -114
  725. package/docu/docs/components/mcps.md +0 -109
  726. package/docu/docs/components/overview.md +0 -73
  727. package/docu/docs/components/settings.md +0 -105
  728. package/docu/docs/components/templates.md +0 -119
  729. package/docu/docs/intro.md +0 -40
  730. package/docu/docs/safety-features.md +0 -13
  731. package/docu/docs/support.md +0 -13
  732. package/docu/docs/tools/analytics.md +0 -23
  733. package/docu/docs/tools/chats.md +0 -33
  734. package/docu/docs/tools/health-check.md +0 -60
  735. package/docu/docs/tools/overview.md +0 -39
  736. package/docu/docs/tools/sandbox.md +0 -61
  737. package/docu/docs/tools/tunnel.md +0 -38
  738. package/docu/docusaurus.config.ts +0 -169
  739. package/docu/package-lock.json +0 -16185
  740. package/docu/package.json +0 -47
  741. package/docu/sidebars.ts +0 -49
  742. package/docu/src/components/HomepageFeatures/index.tsx +0 -82
  743. package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
  744. package/docu/src/css/custom.css +0 -849
  745. package/docu/src/pages/index.module.css +0 -111
  746. package/docu/src/pages/index.tsx +0 -65
  747. package/docu/src/pages/markdown-page.md +0 -7
  748. package/docu/static/img/favicon.ico +0 -0
  749. package/docu/static/img/logo.svg +0 -23
  750. package/docu/tsconfig.json +0 -8
  751. package/docu/vercel.json +0 -11
  752. package/generate_agents_api.py +0 -65
  753. package/generate_claude_jobs.py +0 -985
  754. package/generate_components_json.py +0 -391
  755. package/social-preview.png +0 -0
  756. package/test_serpapi.py +0 -36
  757. package/vercel.json +0 -111
  758. /package/{cli-tool/components → components}/sandbox/README.md +0 -0
  759. /package/{cli-tool/components → components}/sandbox/e2b/.env.example +0 -0
  760. /package/{cli-tool/components → components}/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -0
  761. /package/{cli-tool/components → components}/sandbox/e2b/claude-code-sandbox.md +0 -0
  762. /package/{cli-tool/components → components}/sandbox/e2b/e2b-launcher.py +0 -0
  763. /package/{cli-tool/components → components}/sandbox/e2b/e2b-monitor.py +0 -0
  764. /package/{cli-tool/components → components}/sandbox/e2b/requirements.txt +0 -0
  765. /package/{cli-tool/src → src}/agents.js +0 -0
  766. /package/{cli-tool/src → src}/analytics/core/AgentAnalyzer.js +0 -0
  767. /package/{cli-tool/src → src}/analytics/core/ConversationAnalyzer.js +0 -0
  768. /package/{cli-tool/src → src}/analytics/core/FileWatcher.js +0 -0
  769. /package/{cli-tool/src → src}/analytics/core/ProcessDetector.js +0 -0
  770. /package/{cli-tool/src → src}/analytics/core/SessionAnalyzer.js +0 -0
  771. /package/{cli-tool/src → src}/analytics/core/StateCalculator.js +0 -0
  772. /package/{cli-tool/src → src}/analytics/data/DataCache.js +0 -0
  773. /package/{cli-tool/src → src}/analytics/notifications/NotificationManager.js +0 -0
  774. /package/{cli-tool/src → src}/analytics/notifications/WebSocketServer.js +0 -0
  775. /package/{cli-tool/src → src}/analytics/utils/PerformanceMonitor.js +0 -0
  776. /package/{cli-tool/src → src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
  777. /package/{cli-tool/src → src}/analytics-web/assets/js/main.js.deprecated +0 -0
  778. /package/{cli-tool/src → src}/analytics-web/components/ActivityHeatmap.js +0 -0
  779. /package/{cli-tool/src → src}/analytics-web/components/AgentAnalytics.js +0 -0
  780. /package/{cli-tool/src → src}/analytics-web/components/App.js +0 -0
  781. /package/{cli-tool/src → src}/analytics-web/components/Charts.js +0 -0
  782. /package/{cli-tool/src → src}/analytics-web/components/ConversationTable.js +0 -0
  783. /package/{cli-tool/src → src}/analytics-web/components/DashboardPage.js +0 -0
  784. /package/{cli-tool/src → src}/analytics-web/components/HeaderComponent.js +0 -0
  785. /package/{cli-tool/src → src}/analytics-web/components/SessionTimer.js +0 -0
  786. /package/{cli-tool/src → src}/analytics-web/components/Sidebar.js +0 -0
  787. /package/{cli-tool/src → src}/analytics-web/components/ToolDisplay.js +0 -0
  788. /package/{cli-tool/src → src}/analytics-web/index.html +0 -0
  789. /package/{cli-tool/src → src}/analytics-web/index.html.original +0 -0
  790. /package/{cli-tool/src → src}/analytics-web/services/DataService.js +0 -0
  791. /package/{cli-tool/src → src}/analytics-web/services/StateService.js +0 -0
  792. /package/{cli-tool/src → src}/analytics-web/services/WebSocketService.js +0 -0
  793. /package/{cli-tool/src → src}/analytics.js +0 -0
  794. /package/{docu/static/.nojekyll → src/analytics.log} +0 -0
  795. /package/{cli-tool/src → src}/chats-mobile.js +0 -0
  796. /package/{cli-tool/src → src}/claude-api-proxy.js +0 -0
  797. /package/{cli-tool/src → src}/command-scanner.js +0 -0
  798. /package/{cli-tool/src → src}/command-stats.js +0 -0
  799. /package/{cli-tool/src → src}/file-operations.js +0 -0
  800. /package/{cli-tool/src → src}/health-check.js +0 -0
  801. /package/{cli-tool/src → src}/hook-scanner.js +0 -0
  802. /package/{cli-tool/src → src}/hook-stats.js +0 -0
  803. /package/{cli-tool/src → src}/mcp-stats.js +0 -0
  804. /package/{cli-tool/src → src}/prompts.js +0 -0
  805. /package/{cli-tool/src → src}/sandbox-interface.html +0 -0
  806. /package/{cli-tool/src → src}/sandbox-server.js +0 -0
  807. /package/{cli-tool/src → src}/sdk/global-agent-manager.js +0 -0
  808. /package/{cli-tool/src → src}/templates.js +0 -0
  809. /package/{cli-tool/src → src}/test-console-bridge.js +0 -0
  810. /package/{cli-tool/src → src}/tracking-service.js +0 -0
  811. /package/{cli-tool/src → src}/utils.js +0 -0
@@ -1,985 +0,0 @@
1
- import os
2
- import json
3
- import requests
4
- from datetime import datetime
5
- from dotenv import load_dotenv
6
- import time
7
- import re
8
-
9
- # Load environment variables
10
- load_dotenv()
11
-
12
- def scrape_with_rapidapi_jobs():
13
- """
14
- Use RapidAPI Jobs Search to find Claude-related positions
15
- """
16
- jobs = []
17
- try:
18
- print("🔍 Searching with RapidAPI Jobs API for Claude positions...")
19
-
20
- rapidapi_key = os.getenv("RAPIDAPI_KEY")
21
- if not rapidapi_key:
22
- print("⚠️ Warning: No RapidAPI key found, skipping")
23
- return jobs
24
-
25
- url = "https://jobs-search-realtime-data-api.p.rapidapi.com/jobs/search"
26
-
27
- # Search for Claude-specific terms
28
- search_queries = [
29
- "Claude Code",
30
- "Anthropic Claude",
31
- "Claude AI developer",
32
- "Claude assistant engineer"
33
- ]
34
-
35
- headers = {
36
- "x-rapidapi-key": rapidapi_key,
37
- "x-rapidapi-host": "jobs-search-realtime-data-api.p.rapidapi.com"
38
- }
39
-
40
- for query in search_queries:
41
- querystring = {
42
- "query": query,
43
- "location": "Remote",
44
- "num_results": "20"
45
- }
46
-
47
- response = requests.get(url, headers=headers, params=querystring)
48
-
49
- if response.status_code == 200:
50
- data = response.json()
51
- job_results = data.get('jobs', [])
52
-
53
- for job_data in job_results:
54
- # Extract job information
55
- job = {
56
- 'company': job_data.get('company_name', 'Unknown'),
57
- 'company_icon': job_data.get('company_logo', get_company_icon(job_data.get('company_name', ''))),
58
- 'location': job_data.get('location', 'Remote'),
59
- 'description': truncate_description(job_data.get('description', job_data.get('title', ''))),
60
- 'job_link': job_data.get('url', ''),
61
- 'source': 'RapidAPI Jobs',
62
- 'date_posted': job_data.get('date_posted', ''),
63
- 'salary': extract_salary_from_text(job_data.get('description', ''))
64
- }
65
-
66
- # Validate it actually mentions Claude
67
- full_text = f"{job_data.get('title', '')} {job_data.get('description', '')}"
68
- if is_claude_code_related(full_text):
69
- jobs.append(job)
70
-
71
- time.sleep(1) # Rate limiting
72
-
73
- print(f"✅ Found {len(jobs)} jobs from RapidAPI")
74
-
75
- except Exception as e:
76
- print(f"⚠️ Error with RapidAPI: {e}")
77
-
78
- return jobs
79
-
80
- def scrape_with_serper_jobs():
81
- """
82
- Use Google Serper API to find Claude positions
83
- """
84
- jobs = []
85
- try:
86
- print("🔍 Searching with Google Serper API for Claude positions...")
87
-
88
- serper_key = os.getenv("SERPER_API_KEY")
89
- if not serper_key:
90
- print("⚠️ Warning: No Serper API key found, skipping")
91
- return jobs
92
-
93
- print(f" 🔑 Using Serper key: {serper_key[:8]}...{serper_key[-4:]}")
94
-
95
- import http.client
96
-
97
- search_queries = [
98
- "Claude Code developer jobs",
99
- "Anthropic Claude engineer hiring",
100
- "Claude AI programming job",
101
- "Claude assistant developer position",
102
- "Anthropic engineer jobs",
103
- "Claude developer careers"
104
- ]
105
-
106
- conn = http.client.HTTPSConnection("google.serper.dev")
107
-
108
- for query in search_queries:
109
- print(f" 🔍 Searching: '{query}'")
110
-
111
- payload = json.dumps({
112
- "q": f"{query} site:linkedin.com OR site:indeed.com OR site:glassdoor.com OR site:jobs.anthropic.com",
113
- "type": "search",
114
- "num": 20
115
- })
116
-
117
- headers = {
118
- 'X-API-KEY': serper_key,
119
- 'Content-Type': 'application/json'
120
- }
121
-
122
- conn.request("POST", "/search", payload, headers)
123
- res = conn.getresponse()
124
- data_raw = res.read()
125
-
126
- if res.status == 200:
127
- try:
128
- data = json.loads(data_raw.decode("utf-8"))
129
- search_results = data.get('organic', [])
130
- print(f" Found {len(search_results)} search results")
131
-
132
- for result in search_results:
133
- title = result.get('title', '')
134
- snippet = result.get('snippet', '')
135
- link = result.get('link', '')
136
-
137
- # Check if this looks like a job posting
138
- full_text = f"{title} {snippet}"
139
- if is_claude_code_related(full_text) and is_job_posting(full_text):
140
-
141
- # Extract better job information
142
- job_info = extract_job_info_from_serper(title, snippet, link)
143
-
144
- if job_info: # Only add if we could extract meaningful info
145
- jobs.append(job_info)
146
-
147
- except json.JSONDecodeError as e:
148
- print(f" ❌ JSON decode error: {e}")
149
- else:
150
- print(f" ❌ Error {res.status}: {data_raw.decode('utf-8')[:200]}...")
151
-
152
- time.sleep(1) # Rate limiting
153
-
154
- conn.close()
155
- print(f"✅ Found {len(jobs)} jobs from Google Serper")
156
-
157
- except Exception as e:
158
- print(f"⚠️ Error with Google Serper API: {e}")
159
-
160
- return jobs
161
-
162
- def is_job_posting(text):
163
- """Check if text looks like a job posting"""
164
- job_indicators = [
165
- 'hiring', 'job', 'position', 'career', 'apply', 'join',
166
- 'engineer', 'developer', 'programmer', 'architect',
167
- 'we are looking', 'seeking', 'opportunity', 'role'
168
- ]
169
- text_lower = text.lower()
170
- return any(indicator in text_lower for indicator in job_indicators)
171
-
172
- def extract_job_info_from_serper(title, snippet, link):
173
- """Extract clean job information from Serper search result"""
174
-
175
- # Skip generic search results
176
- if any(skip in title.lower() for skip in ['jobs, employment', 'jobs available', 'browse', 'discover']):
177
- return None
178
-
179
- # Extract company name
180
- company = extract_company_name_improved(title, snippet, link)
181
-
182
- # Extract job title
183
- job_title = extract_job_title(title, snippet)
184
-
185
- # Extract location
186
- location = extract_location_improved(title, snippet)
187
-
188
- # Only return if we have meaningful data
189
- if not job_title or len(job_title) < 5:
190
- return None
191
-
192
- return {
193
- 'company': company,
194
- 'company_icon': get_company_icon(company),
195
- 'job_title': job_title,
196
- 'location': location,
197
- 'description': truncate_description(snippet),
198
- 'job_link': link,
199
- 'source': 'Google Serper',
200
- 'date_posted': '',
201
- 'salary': extract_salary_from_text(snippet)
202
- }
203
-
204
- def extract_company_name_improved(title, snippet, link):
205
- """Improved company name extraction"""
206
-
207
- # Priority: Check for Anthropic first (most common)
208
- if 'anthropic' in (title + snippet + link).lower():
209
- return 'Anthropic'
210
-
211
- # LinkedIn specific extraction
212
- if 'linkedin.com/jobs/view/' in link:
213
- # Extract from URL - LinkedIn URLs often contain company info
214
- # Format: linkedin.com/jobs/view/job-title-at-company-name-jobid
215
- url_parts = link.split('-at-')
216
- if len(url_parts) > 1:
217
- company_part = url_parts[1].split('-')[0] # Get first part after -at-
218
- if company_part and len(company_part) > 2:
219
- return company_part.replace('-', ' ').title()
220
-
221
- # Extract from title patterns like "Job Title at Company Name"
222
- at_match = re.search(r'\s+at\s+([^-\d]+)', title)
223
- if at_match:
224
- company = at_match.group(1).strip()
225
- # Clean up common LinkedIn patterns
226
- company = re.sub(r'\s*\d+$', '', company) # Remove trailing numbers
227
- company = re.sub(r'\s+\d+$', '', company) # Remove numbers at end
228
- if len(company) > 2 and company.lower() not in ['view', 'join', 'apply']:
229
- return company
230
-
231
- # Extract from title patterns
232
- hiring_patterns = [
233
- r'([A-Z][a-zA-Z\s&.]+)\s+hiring\s+',
234
- r'^([A-Z][a-zA-Z\s&.]+):\s+',
235
- r'Join\s+([A-Z][a-zA-Z\s&.]+)',
236
- r'([A-Z][a-zA-Z\s&.]+)\s+is\s+looking',
237
- r'([A-Z][a-zA-Z\s&.]+)\s+seeks?',
238
- ]
239
-
240
- for pattern in hiring_patterns:
241
- match = re.search(pattern, title)
242
- if match:
243
- company = match.group(1).strip()
244
- if len(company) > 2 and company not in ['View', 'Join', 'Apply', 'Software', 'Senior']:
245
- return company
246
-
247
- # Extract from snippet
248
- snippet_patterns = [
249
- r'Jobs at ([A-Z][a-zA-Z\s&.]+)',
250
- r'([A-Z][a-zA-Z\s&.]+) is hiring',
251
- r'Work at ([A-Z][a-zA-Z\s&.]+)',
252
- r'Join ([A-Z][a-zA-Z\s&.]+)',
253
- ]
254
-
255
- for pattern in snippet_patterns:
256
- match = re.search(pattern, snippet)
257
- if match:
258
- company = match.group(1).strip()
259
- if len(company) > 2:
260
- return company
261
-
262
- # Check if it's a well-known company based on domain or context
263
- known_companies = {
264
- 'google': 'Google',
265
- 'microsoft': 'Microsoft',
266
- 'meta': 'Meta',
267
- 'apple': 'Apple',
268
- 'amazon': 'Amazon',
269
- 'openai': 'OpenAI',
270
- 'github': 'GitHub',
271
- 'stripe': 'Stripe',
272
- 'shopify': 'Shopify'
273
- }
274
-
275
- text_lower = (title + snippet + link).lower()
276
- for keyword, company_name in known_companies.items():
277
- if keyword in text_lower:
278
- return company_name
279
-
280
- return 'Unknown Company'
281
-
282
- def extract_job_title(title, snippet):
283
- """Extract job title from search result"""
284
-
285
- # LinkedIn format: "Job Title at Company"
286
- at_match = re.search(r'^(.+?)\s+at\s+', title)
287
- if at_match:
288
- return at_match.group(1).strip()
289
-
290
- # Anthropic hiring format: "Anthropic hiring Job Title in Location"
291
- hiring_match = re.search(r'hiring\s+(.+?)\s+in\s+', title)
292
- if hiring_match:
293
- return hiring_match.group(1).strip()
294
-
295
- # Company: Job Title format
296
- colon_match = re.search(r':\s+(.+?)\s+-', title)
297
- if colon_match:
298
- return colon_match.group(1).strip()
299
-
300
- # Extract from title before dash
301
- dash_match = re.search(r'^(.+?)\s+-\s+', title)
302
- if dash_match:
303
- job_title = dash_match.group(1).strip()
304
- # Clean up common patterns
305
- job_title = re.sub(r'^(View|Apply to|Join)\s+', '', job_title)
306
- if len(job_title) > 5:
307
- return job_title
308
-
309
- # Fallback: use full title if it looks like a job title
310
- if any(keyword in title.lower() for keyword in ['engineer', 'developer', 'manager', 'analyst', 'scientist', 'architect']):
311
- return title.strip()
312
-
313
- return None
314
-
315
- def extract_location_improved(title, snippet):
316
- """Improved location extraction"""
317
- text = f"{title} {snippet}"
318
-
319
- # Remote indicators
320
- if any(keyword in text.lower() for keyword in ['remote', 'anywhere', 'distributed', 'work from home']):
321
- return 'Remote'
322
-
323
- # City, State patterns
324
- city_state_patterns = [
325
- r'in\s+([A-Z][a-z]+,\s*[A-Z]{2})', # "in Seattle, WA"
326
- r'([A-Z][a-z]+,\s*[A-Z]{2})\s+', # "Seattle, WA "
327
- r'([San Francisco|New York|Los Angeles|Chicago|Boston|Austin|Denver],\s*[A-Z]{2})',
328
- ]
329
-
330
- for pattern in city_state_patterns:
331
- match = re.search(pattern, text)
332
- if match:
333
- return match.group(1)
334
-
335
- # Major cities without state
336
- major_cities = ['Seattle', 'Francisco', 'Chicago', 'Boston', 'Austin', 'Denver', 'Portland', 'Miami']
337
- for city in major_cities:
338
- if city in text:
339
- return f"{city}"
340
-
341
- return 'On-site'
342
-
343
- def extract_salary_from_text(text):
344
- """Extract salary information from job description text"""
345
- if not text:
346
- return 0
347
-
348
- # Look for common salary patterns
349
- salary_patterns = [
350
- r'\$(\d{1,3}(?:,\d{3})*(?:\.\d{2})?)\s*(?:k|thousand)',
351
- r'\$(\d{1,3}(?:,\d{3})*)',
352
- r'(\d{1,3})k',
353
- ]
354
-
355
- for pattern in salary_patterns:
356
- matches = re.findall(pattern, text.lower())
357
- if matches:
358
- try:
359
- salary = int(matches[0].replace(',', '').replace('.', ''))
360
- if 'k' in text.lower() or 'thousand' in text.lower():
361
- salary *= 1000
362
- return salary
363
- except:
364
- continue
365
-
366
- return 0
367
-
368
- def extract_salary_from_google_job(job_data):
369
- """Extract salary from Google Jobs specific structure"""
370
- salary_info = job_data.get('detected_extensions', {})
371
-
372
- # Look for salary in extensions
373
- if 'salary' in salary_info:
374
- salary_text = salary_info['salary']
375
- return extract_salary_from_text(salary_text)
376
-
377
- return 0
378
-
379
- def scrape_github_jobs():
380
- """
381
- Scrape GitHub Jobs for Claude Code positions
382
- """
383
- jobs = []
384
- try:
385
- # GitHub Jobs API is deprecated, but we can search GitHub Issues/Discussions
386
- # or use GitHub's search API for job repositories
387
- print("🔍 Searching GitHub for Claude Code job postings...")
388
-
389
- # Search in common job posting repositories
390
- job_repos = [
391
- "remoteintech/remote-jobs",
392
- "lukasz-madon/awesome-remote-job",
393
- "yanirs/established-remote"
394
- ]
395
-
396
- headers = {
397
- 'Accept': 'application/vnd.github.v3+json',
398
- 'User-Agent': 'claude-code-templates-job-scraper'
399
- }
400
-
401
- github_token = os.getenv("GITHUB_TOKEN")
402
- if github_token:
403
- headers['Authorization'] = f'token {github_token}'
404
-
405
- # Search ONLY for Claude-specific job postings
406
- search_url = "https://api.github.com/search/issues"
407
- search_params = {
408
- 'q': '("claude code" OR "anthropic claude" OR "claude ai" OR "claude") AND (hiring OR job OR position OR engineer OR developer) NOT pull NOT merge NOT bug NOT feature',
409
- 'sort': 'updated',
410
- 'order': 'desc',
411
- 'per_page': 50
412
- }
413
-
414
- response = requests.get(search_url, headers=headers, params=search_params)
415
- if response.status_code == 200:
416
- results = response.json()
417
- for item in results.get('items', []):
418
- job = extract_job_from_github_issue(item)
419
- if job:
420
- jobs.append(job)
421
-
422
- print(f"✅ Found {len(jobs)} potential jobs from GitHub")
423
-
424
- except Exception as e:
425
- print(f"⚠️ Error scraping GitHub jobs: {e}")
426
-
427
- return jobs
428
-
429
- def scrape_ycombinator_jobs():
430
- """
431
- Scrape YCombinator Who's Hiring threads for Claude Code mentions
432
- """
433
- jobs = []
434
- try:
435
- print("🔍 Searching YC Who's Hiring for Claude Code positions...")
436
-
437
- # Search HackerNews API for recent "Who is hiring" threads
438
- hn_search_url = "https://hn.algolia.com/api/v1/search"
439
- search_params = {
440
- 'query': 'who is hiring',
441
- 'tags': 'story',
442
- 'hitsPerPage': 5,
443
- 'numericFilters': f'created_at_i>{int(time.time()) - 86400*60}' # Last 60 days
444
- }
445
-
446
- response = requests.get(hn_search_url, params=search_params)
447
- if response.status_code == 200:
448
- threads = response.json().get('hits', [])
449
-
450
- for thread in threads:
451
- story_id = thread.get('objectID')
452
- if story_id:
453
- # Get comments from this hiring thread
454
- comments_url = f"https://hn.algolia.com/api/v1/search"
455
- comment_params = {
456
- 'query': 'claude code OR anthropic claude OR claude ai OR claude',
457
- 'tags': f'comment,story_{story_id}',
458
- 'hitsPerPage': 50
459
- }
460
-
461
- comment_response = requests.get(comments_url, params=comment_params)
462
- if comment_response.status_code == 200:
463
- comments = comment_response.json().get('hits', [])
464
-
465
- for comment in comments:
466
- job = extract_job_from_hn_comment(comment, thread.get('title', ''))
467
- if job:
468
- jobs.append(job)
469
-
470
- time.sleep(0.5) # Rate limiting
471
-
472
- print(f"✅ Found {len(jobs)} jobs from YC Who's Hiring")
473
-
474
- except Exception as e:
475
- print(f"⚠️ Error scraping YC jobs: {e}")
476
-
477
- return jobs
478
-
479
- def extract_job_from_hn_comment(comment, thread_title):
480
- """
481
- Extract job information from HackerNews comment
482
- """
483
- text = comment.get('comment_text', '') or ''
484
-
485
- if not is_claude_code_related(text):
486
- return None
487
-
488
- # Extract basic info from comment
489
- company = extract_company_from_hn_comment(text)
490
- location = extract_location_from_hn_comment(text)
491
-
492
- return {
493
- 'company': company,
494
- 'company_icon': get_company_icon(company),
495
- 'location': location,
496
- 'description': truncate_description(text.replace('<p>', ' ').replace('</p>', ' ')),
497
- 'job_link': f"https://news.ycombinator.com/item?id={comment.get('objectID', '')}",
498
- 'source': 'YCombinator',
499
- 'date_posted': comment.get('created_at', ''),
500
- 'salary': 0
501
- }
502
-
503
- def extract_company_from_hn_comment(text):
504
- """Extract company name from HN comment"""
505
- patterns = [
506
- r'([A-Z][a-zA-Z]+)\s+is\s+hiring',
507
- r'We\s+are\s+([A-Z][a-zA-Z]+)',
508
- r'Join\s+([A-Z][a-zA-Z]+)',
509
- r'([A-Z][a-zA-Z]+)\s+\-\s+',
510
- r'Company:\s+([A-Z][a-zA-Z]+)',
511
- ]
512
-
513
- for pattern in patterns:
514
- match = re.search(pattern, text)
515
- if match:
516
- return match.group(1)
517
-
518
- return 'Startup'
519
-
520
- def extract_location_from_hn_comment(text):
521
- """Extract location from HN comment"""
522
- if any(keyword in text.lower() for keyword in ['remote', 'anywhere', 'distributed']):
523
- return 'Remote'
524
-
525
- # Look for city patterns
526
- location_patterns = [
527
- r'Location:\s*([^.\n]+)',
528
- r'Based in ([^,\n]+)',
529
- r'([A-Z][a-z]+,\s*[A-Z]{2,3})', # City, State/Country
530
- ]
531
-
532
- for pattern in location_patterns:
533
- match = re.search(pattern, text)
534
- if match:
535
- return match.group(1).strip()
536
-
537
- return 'On-site'
538
-
539
- def scrape_remote_ok():
540
- """
541
- Scrape Remote OK for Claude Code positions
542
- """
543
- jobs = []
544
- try:
545
- print("🔍 Searching Remote OK for Claude Code positions...")
546
-
547
- # Remote OK has an API but might be rate limited
548
- url = "https://remoteok.io/api"
549
- headers = {
550
- 'User-Agent': 'claude-code-templates-job-scraper'
551
- }
552
-
553
- response = requests.get(url, headers=headers)
554
- if response.status_code == 200:
555
- data = response.json()
556
- for job_data in data[1:]: # First item is metadata
557
- description = job_data.get('description', '')
558
- tags = job_data.get('tags', [])
559
- tags_str = ' '.join(tags) if isinstance(tags, list) else str(tags)
560
-
561
- if is_claude_code_related(description + ' ' + tags_str):
562
- job = {
563
- 'company': job_data.get('company', 'Unknown'),
564
- 'company_icon': job_data.get('company_logo', ''),
565
- 'location': 'Remote' if job_data.get('location') == 'Worldwide' else job_data.get('location', 'Remote'),
566
- 'description': truncate_description(job_data.get('description', '')),
567
- 'job_link': f"https://remoteok.io/remote-jobs/{job_data.get('id', '')}",
568
- 'source': 'RemoteOK',
569
- 'date_posted': job_data.get('date', ''),
570
- 'salary': job_data.get('salary_min', 0)
571
- }
572
- jobs.append(job)
573
-
574
- print(f"✅ Found {len(jobs)} jobs from Remote OK")
575
-
576
- except Exception as e:
577
- print(f"⚠️ Error scraping Remote OK: {e}")
578
-
579
- return jobs
580
-
581
- def scrape_weworkremotely():
582
- """
583
- Scrape We Work Remotely for Claude Code positions
584
- """
585
- jobs = []
586
- try:
587
- print("🔍 Searching We Work Remotely for Claude Code positions...")
588
-
589
- # We Work Remotely RSS feed approach
590
- import xml.etree.ElementTree as ET
591
-
592
- rss_url = "https://weworkremotely.com/categories/remote-programming-jobs.rss"
593
- headers = {
594
- 'User-Agent': 'claude-code-templates-job-scraper'
595
- }
596
-
597
- response = requests.get(rss_url, headers=headers)
598
- if response.status_code == 200:
599
- root = ET.fromstring(response.content)
600
-
601
- for item in root.findall('.//item'):
602
- title = item.find('title').text if item.find('title') is not None else ''
603
- description = item.find('description').text if item.find('description') is not None else ''
604
- link = item.find('link').text if item.find('link') is not None else ''
605
- pub_date = item.find('pubDate').text if item.find('pubDate') is not None else ''
606
-
607
- full_text = title + ' ' + description
608
-
609
- if is_claude_code_related(full_text):
610
- # Extract company from title (usually format: "Company: Job Title")
611
- company_match = re.match(r'^([^:]+):', title)
612
- company = company_match.group(1).strip() if company_match else 'Remote Company'
613
-
614
- job = {
615
- 'company': company,
616
- 'company_icon': get_company_icon(company),
617
- 'location': 'Remote', # WWR is all remote
618
- 'description': truncate_description(title),
619
- 'job_link': link,
620
- 'source': 'WeWorkRemotely',
621
- 'date_posted': pub_date,
622
- 'salary': 0
623
- }
624
- jobs.append(job)
625
-
626
- print(f"✅ Found {len(jobs)} jobs from We Work Remotely")
627
-
628
- except Exception as e:
629
- print(f"⚠️ Error scraping WWR: {e}")
630
-
631
- return jobs
632
-
633
- def scrape_indie_hackers():
634
- """
635
- Scrape Indie Hackers for Claude Code positions
636
- """
637
- jobs = []
638
- try:
639
- print("🔍 Searching Indie Hackers for Claude Code positions...")
640
-
641
- # Use general web search for Indie Hackers job posts mentioning Claude Code
642
- search_terms = [
643
- 'site:indiehackers.com "claude code" hiring',
644
- 'site:indiehackers.com "anthropic claude" job',
645
- 'site:indiehackers.com "claude ai" developer'
646
- ]
647
-
648
- # This would require a web search API like Google Custom Search
649
- # For now, placeholder but structure is ready
650
-
651
- print(f"✅ Indie Hackers scraping structure ready")
652
-
653
- except Exception as e:
654
- print(f"⚠️ Error scraping Indie Hackers: {e}")
655
-
656
- return jobs
657
-
658
- def extract_job_from_github_issue(item):
659
- """
660
- Extract job information from a GitHub issue/discussion
661
- """
662
- title = item.get('title', '') or ''
663
- body = item.get('body', '') or ''
664
-
665
- # Check if it's actually a job posting mentioning Claude Code
666
- if not is_claude_code_related(title + ' ' + body):
667
- return None
668
-
669
- # Extract company name from repository or issue title
670
- repo_name = item.get('repository_url', '').split('/')[-1] if item.get('repository_url') else 'Unknown'
671
-
672
- return {
673
- 'company': extract_company_name(title, body, repo_name),
674
- 'company_icon': get_company_icon(extract_company_name(title, body, repo_name)),
675
- 'location': extract_location(title, body),
676
- 'description': truncate_description(title),
677
- 'job_link': item.get('html_url', ''),
678
- 'source': 'GitHub',
679
- 'date_posted': item.get('updated_at', ''),
680
- 'salary': 0
681
- }
682
-
683
- def is_claude_code_related(text):
684
- """
685
- Check if text specifically mentions Claude (very strict filtering)
686
- """
687
- if not text:
688
- return False
689
-
690
- text_lower = str(text).lower()
691
-
692
- # ONLY Claude-specific keywords - must contain "claude"
693
- claude_keywords = [
694
- 'claude code', 'claude-code', 'anthropic claude', 'claude ai',
695
- 'claude coder', 'claude assistant', 'claude developer', 'claude engineer',
696
- 'work with claude', 'using claude', 'claude experience', 'claude integration'
697
- ]
698
-
699
- # Must explicitly mention Claude in some form
700
- has_claude_mention = any(keyword in text_lower for keyword in claude_keywords)
701
-
702
- # Additional check: just "claude" + job context
703
- has_claude_word = 'claude' in text_lower
704
- job_words = ['hiring', 'position', 'engineer', 'developer', 'role', 'job', 'career', 'experience', 'skills']
705
- has_job_context = any(word in text_lower for word in job_words)
706
-
707
- # Return True only if Claude is mentioned AND it's in a job context
708
- return has_claude_mention or (has_claude_word and has_job_context)
709
-
710
- def extract_company_name(title, body, fallback):
711
- """
712
- Extract company name from job posting
713
- """
714
- # Common patterns in job titles
715
- patterns = [
716
- r'(\w+)\s+is\s+hiring',
717
- r'(\w+)\s+hiring',
718
- r'join\s+(\w+)',
719
- r'(\w+)\s+looking\s+for',
720
- r'(\w+)\s+seeks?',
721
- ]
722
-
723
- for pattern in patterns:
724
- match = re.search(pattern, title + ' ' + body, re.IGNORECASE)
725
- if match:
726
- return match.group(1).title()
727
-
728
- return fallback.title()
729
-
730
- def extract_location(title, body):
731
- """
732
- Extract location from job posting
733
- """
734
- remote_keywords = ['remote', 'anywhere', 'distributed', 'work from home']
735
- location_patterns = [
736
- r'location[:\s]+([^,\n]+)',
737
- r'based in ([^,\n]+)',
738
- r'(\w+,\s*\w+)', # City, State/Country
739
- ]
740
-
741
- text = (title + ' ' + body).lower()
742
-
743
- # Check for remote first
744
- if any(keyword in text for keyword in remote_keywords):
745
- return 'Remote'
746
-
747
- # Look for specific locations
748
- for pattern in location_patterns:
749
- match = re.search(pattern, text, re.IGNORECASE)
750
- if match:
751
- return match.group(1).strip().title()
752
-
753
- return 'On-site'
754
-
755
- def get_company_icon(company_name):
756
- """
757
- Get company icon URL with comprehensive company icon dictionary
758
- """
759
- # Comprehensive company icons dictionary
760
- company_icons = {
761
- # AI/Tech Companies
762
- 'anthropic': 'https://www.anthropic.com/favicon.ico',
763
- 'openai': 'https://openai.com/favicon.ico',
764
- 'claude code': 'https://www.anthropic.com/favicon.ico',
765
-
766
- # Major Tech Companies
767
- 'google': 'https://www.google.com/favicon.ico',
768
- 'microsoft': 'https://www.microsoft.com/favicon.ico',
769
- 'meta': 'https://www.facebook.com/favicon.ico',
770
- 'apple': 'https://www.apple.com/favicon.ico',
771
- 'amazon': 'https://www.amazon.com/favicon.ico',
772
- 'netflix': 'https://www.netflix.com/favicon.ico',
773
- 'tesla': 'https://www.tesla.com/favicon.ico',
774
- 'nvidia': 'https://www.nvidia.com/favicon.ico',
775
-
776
- # Startups/Scale-ups
777
- 'stripe': 'https://stripe.com/favicon.ico',
778
- 'airbnb': 'https://airbnb.com/favicon.ico',
779
- 'uber': 'https://uber.com/favicon.ico',
780
- 'shopify': 'https://shopify.com/favicon.ico',
781
- 'twilio': 'https://twilio.com/favicon.ico',
782
- 'github': 'https://github.com/favicon.ico',
783
- 'gitlab': 'https://gitlab.com/favicon.ico',
784
- 'atlassian': 'https://atlassian.com/favicon.ico',
785
- 'slack': 'https://slack.com/favicon.ico',
786
- 'discord': 'https://discord.com/favicon.ico',
787
- 'notion': 'https://notion.so/favicon.ico',
788
- 'figma': 'https://figma.com/favicon.ico',
789
- 'vercel': 'https://vercel.com/favicon.ico',
790
- 'supabase': 'https://supabase.com/favicon.ico',
791
-
792
- # Consulting/Services
793
- 'accenture': 'https://accenture.com/favicon.ico',
794
- 'deloitte': 'https://deloitte.com/favicon.ico',
795
- 'mckinsey': 'https://mckinsey.com/favicon.ico',
796
-
797
- # Finance/Fintech
798
- 'goldman sachs': 'https://goldmansachs.com/favicon.ico',
799
- 'jpmorgan': 'https://jpmorgan.com/favicon.ico',
800
- 'coinbase': 'https://coinbase.com/favicon.ico',
801
- 'robinhood': 'https://robinhood.com/favicon.ico',
802
-
803
- # Generic/Fallback companies
804
- 'unknown company': 'https://www.aitmpl.com/static/img/logo.png',
805
- 'company': 'https://www.aitmpl.com/static/img/logo.png',
806
- }
807
-
808
- company_lower = company_name.lower().strip()
809
-
810
- # Direct match first
811
- if company_lower in company_icons:
812
- return company_icons[company_lower]
813
-
814
- # Partial match for company names containing key terms
815
- for key, icon in company_icons.items():
816
- if key in company_lower or company_lower in key:
817
- return icon
818
-
819
- # Default fallback to our custom icon
820
- return 'https://www.aitmpl.com/static/img/logo.png'
821
-
822
- def truncate_description(description, max_length=100):
823
- """
824
- Truncate description to specified length
825
- """
826
- if not description:
827
- return ''
828
-
829
- # Clean HTML tags and extra whitespace
830
- clean_desc = re.sub(r'<[^>]+>', '', description)
831
- clean_desc = re.sub(r'\s+', ' ', clean_desc).strip()
832
-
833
- if len(clean_desc) <= max_length:
834
- return clean_desc
835
-
836
- # Truncate at word boundary
837
- truncated = clean_desc[:max_length].rsplit(' ', 1)[0]
838
- return truncated + '...'
839
-
840
- def generate_sample_jobs():
841
- """
842
- Generate sample jobs for demonstration purposes
843
- """
844
- sample_jobs = [
845
- {
846
- 'company': 'Anthropic',
847
- 'company_icon': 'https://anthropic.com/favicon.ico',
848
- 'location': 'Remote',
849
- 'description': 'Senior AI Developer to enhance Claude Code capabilities and integrations...',
850
- 'job_link': 'https://anthropic.com/careers/claude-code-developer',
851
- 'source': 'Company Website',
852
- 'date_posted': '2025-09-10T10:00:00Z',
853
- 'salary': 150000
854
- },
855
- {
856
- 'company': 'OpenAI',
857
- 'company_icon': 'https://openai.com/favicon.ico',
858
- 'location': 'San Francisco, CA',
859
- 'description': 'Looking for engineers experienced with Claude Code and AI development tools...',
860
- 'job_link': 'https://openai.com/careers/claude-integration-engineer',
861
- 'source': 'LinkedIn',
862
- 'date_posted': '2025-09-09T14:30:00Z',
863
- 'salary': 140000
864
- },
865
- {
866
- 'company': 'StartupTech',
867
- 'company_icon': 'https://logo.clearbit.com/startuptech.com',
868
- 'location': 'Remote',
869
- 'description': 'Full-stack developer with Claude Code experience for AI-powered development team...',
870
- 'job_link': 'https://jobs.startuptech.com/claude-developer-2025',
871
- 'source': 'AngelList',
872
- 'date_posted': '2025-09-08T09:15:00Z',
873
- 'salary': 90000
874
- },
875
- {
876
- 'company': 'TechCorp',
877
- 'company_icon': 'https://logo.clearbit.com/techcorp.com',
878
- 'location': 'New York, NY',
879
- 'description': 'Senior Software Engineer - AI Tools (Claude Code, GitHub Copilot, etc.)...',
880
- 'job_link': 'https://careers.techcorp.com/positions/senior-ai-tools-engineer',
881
- 'source': 'Indeed',
882
- 'date_posted': '2025-09-07T16:45:00Z',
883
- 'salary': 120000
884
- }
885
- ]
886
-
887
- return sample_jobs
888
-
889
- def generate_claude_jobs_json():
890
- """
891
- Main function to scrape and generate Claude Code jobs JSON
892
- """
893
- print("🚀 Starting Claude Code jobs scraping...")
894
-
895
- all_jobs = []
896
-
897
- # Skip sample jobs - looking for real results only
898
-
899
- # Use professional job APIs (more reliable than scraping)
900
- api_scrapers = [
901
- scrape_with_rapidapi_jobs,
902
- scrape_with_serper_jobs,
903
- ]
904
-
905
- # Fallback to traditional scraping if APIs are not available
906
- scraping_sources = [
907
- scrape_github_jobs,
908
- scrape_ycombinator_jobs,
909
- scrape_weworkremotely,
910
- ]
911
-
912
- # Try API sources first
913
- for scraper in api_scrapers:
914
- try:
915
- jobs = scraper()
916
- all_jobs.extend(jobs)
917
- time.sleep(1)
918
- except Exception as e:
919
- print(f"⚠️ Error with API scraper {scraper.__name__}: {e}")
920
-
921
- # If no jobs from APIs, try traditional scraping
922
- if len(all_jobs) == 0:
923
- print("📡 No results from APIs, trying traditional scraping...")
924
- print("💡 Tip: Add valid API keys to .env for better results")
925
- scrapers = scraping_sources
926
- else:
927
- print(f"🎯 Got {len(all_jobs)} jobs from APIs, skipping traditional scraping")
928
- scrapers = []
929
-
930
- for scraper in scrapers:
931
- try:
932
- jobs = scraper()
933
- all_jobs.extend(jobs)
934
- time.sleep(1) # Rate limiting
935
- except Exception as e:
936
- print(f"⚠️ Error with scraper {scraper.__name__}: {e}")
937
-
938
- # Remove duplicates based on job_link
939
- seen_links = set()
940
- unique_jobs = []
941
- for job in all_jobs:
942
- if job['job_link'] not in seen_links:
943
- seen_links.add(job['job_link'])
944
- unique_jobs.append(job)
945
-
946
- # Sort by date_posted (most recent first)
947
- unique_jobs.sort(key=lambda x: x.get('date_posted', ''), reverse=True)
948
-
949
- # Structure the final data
950
- jobs_data = {
951
- 'jobs': unique_jobs,
952
- 'generated_at': datetime.now().isoformat(),
953
- 'total_count': len(unique_jobs),
954
- 'sources': list(set([job['source'] for job in unique_jobs]))
955
- }
956
-
957
- # Save to docs directory
958
- output_path = 'docs/claude-jobs.json'
959
- try:
960
- with open(output_path, 'w', encoding='utf-8') as f:
961
- json.dump(jobs_data, f, indent=2, ensure_ascii=False)
962
- print(f"✅ Successfully generated {output_path}")
963
-
964
- # Log summary
965
- print("\n--- Scraping Summary ---")
966
- print(f"Total unique jobs found: {len(unique_jobs)}")
967
-
968
- sources_count = {}
969
- for job in unique_jobs:
970
- source = job['source']
971
- sources_count[source] = sources_count.get(source, 0) + 1
972
-
973
- for source, count in sources_count.items():
974
- print(f" - {source}: {count} jobs")
975
-
976
- remote_jobs = len([job for job in unique_jobs if 'remote' in job['location'].lower()])
977
- onsite_jobs = len(unique_jobs) - remote_jobs
978
- print(f" - Remote: {remote_jobs}, On-site: {onsite_jobs}")
979
- print("-----------------------")
980
-
981
- except IOError as e:
982
- print(f"❌ Error writing to {output_path}: {e}")
983
-
984
- if __name__ == '__main__':
985
- generate_claude_jobs_json()