claude-code-templates 1.21.12 → 1.21.13
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.
- package/.claude/agents/agent-expert.md +477 -0
- package/.claude/agents/cli-ui-designer.md +405 -0
- package/.claude/agents/command-expert.md +421 -0
- package/.claude/agents/docusaurus-expert.md +173 -0
- package/.claude/agents/frontend-developer.md +32 -0
- package/.claude/agents/mcp-expert.md +258 -0
- package/.claude/commands/lint.md +111 -0
- package/.claude/commands/test.md +73 -0
- package/.claude/settings.local.json +56 -0
- package/.env.example +26 -0
- package/.github/WORKFLOWS_REFERENCE.md +88 -0
- package/.github/workflows/deploy-docusaurus.yml +31 -0
- package/.github/workflows/deploy.yml +33 -0
- package/.github/workflows/publish-package.yml +125 -0
- package/.mcp.json +4 -0
- package/AGENTS.md +4 -0
- package/CLAUDE.md +482 -0
- package/CLAUDE_JOBS_README.md +148 -0
- package/CODE_OF_CONDUCT.md +82 -0
- package/CONTRIBUTING.md +505 -0
- package/DEPLOYMENT.md +60 -0
- package/LICENSE +21 -0
- package/README.md +77 -79
- package/ROADMAP.md +278 -0
- package/SECURITY.md +65 -0
- package/api/index.html +1 -0
- package/api/package.json +7 -0
- package/api/track-download-supabase.js +150 -0
- package/cli-tool/Makefile +102 -0
- package/cli-tool/README.md +126 -0
- package/cli-tool/TESTING.md +262 -0
- package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +195 -0
- package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +46 -0
- package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +94 -0
- package/cli-tool/components/agents/ai-specialists/model-evaluator.md +150 -0
- package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +112 -0
- package/cli-tool/components/agents/ai-specialists/search-specialist.md +59 -0
- package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +97 -0
- package/cli-tool/components/agents/api-graphql/graphql-architect.md +208 -0
- package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +357 -0
- package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +519 -0
- package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +32 -0
- package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +32 -0
- package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +32 -0
- package/cli-tool/components/agents/business-marketing/business-analyst.md +194 -0
- package/cli-tool/components/agents/business-marketing/content-marketer.md +36 -0
- package/cli-tool/components/agents/business-marketing/customer-support.md +36 -0
- package/cli-tool/components/agents/business-marketing/legal-advisor.md +50 -0
- package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +352 -0
- package/cli-tool/components/agents/business-marketing/payment-integration.md +33 -0
- package/cli-tool/components/agents/business-marketing/product-strategist.md +212 -0
- package/cli-tool/components/agents/business-marketing/risk-manager.md +42 -0
- package/cli-tool/components/agents/business-marketing/sales-automator.md +36 -0
- package/cli-tool/components/agents/data-ai/ai-engineer.md +33 -0
- package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +562 -0
- package/cli-tool/components/agents/data-ai/data-engineer.md +33 -0
- package/cli-tool/components/agents/data-ai/data-scientist.md +337 -0
- package/cli-tool/components/agents/data-ai/ml-engineer.md +33 -0
- package/cli-tool/components/agents/data-ai/mlops-engineer.md +58 -0
- package/cli-tool/components/agents/data-ai/nlp-engineer.md +680 -0
- package/cli-tool/components/agents/data-ai/quant-analyst.md +33 -0
- package/cli-tool/components/agents/database/database-admin.md +33 -0
- package/cli-tool/components/agents/database/database-architect.md +590 -0
- package/cli-tool/components/agents/database/database-optimization.md +33 -0
- package/cli-tool/components/agents/database/database-optimizer.md +33 -0
- package/cli-tool/components/agents/database/neon-auth-specialist.md +175 -0
- package/cli-tool/components/agents/database/neon-database-architect.md +141 -0
- package/cli-tool/components/agents/database/neon-expert.md +846 -0
- package/cli-tool/components/agents/database/nosql-specialist.md +708 -0
- package/cli-tool/components/agents/database/supabase-schema-architect.md +138 -0
- package/cli-tool/components/agents/deep-research-team/academic-researcher.md +33 -0
- package/cli-tool/components/agents/deep-research-team/agent-overview.md +235 -0
- package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +530 -0
- package/cli-tool/components/agents/deep-research-team/data-analyst.md +112 -0
- package/cli-tool/components/agents/deep-research-team/fact-checker.md +553 -0
- package/cli-tool/components/agents/deep-research-team/query-clarifier.md +73 -0
- package/cli-tool/components/agents/deep-research-team/report-generator.md +108 -0
- package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +108 -0
- package/cli-tool/components/agents/deep-research-team/research-coordinator.md +94 -0
- package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +119 -0
- package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +109 -0
- package/cli-tool/components/agents/deep-research-team/technical-researcher.md +95 -0
- package/cli-tool/components/agents/development-team/backend-architect.md +31 -0
- package/cli-tool/components/agents/development-team/cli-ui-designer.md +405 -0
- package/cli-tool/components/agents/development-team/devops-engineer.md +886 -0
- package/cli-tool/components/agents/development-team/frontend-developer.md +32 -0
- package/cli-tool/components/agents/development-team/fullstack-developer.md +1205 -0
- package/cli-tool/components/agents/development-team/ios-developer.md +36 -0
- package/cli-tool/components/agents/development-team/mobile-developer.md +33 -0
- package/cli-tool/components/agents/development-team/ui-ux-designer.md +36 -0
- package/cli-tool/components/agents/development-tools/code-reviewer.md +30 -0
- package/cli-tool/components/agents/development-tools/command-expert.md +422 -0
- package/cli-tool/components/agents/development-tools/context-manager.md +65 -0
- package/cli-tool/components/agents/development-tools/debugger.md +31 -0
- package/cli-tool/components/agents/development-tools/dx-optimizer.md +64 -0
- package/cli-tool/components/agents/development-tools/error-detective.md +33 -0
- package/cli-tool/components/agents/development-tools/mcp-expert.md +259 -0
- package/cli-tool/components/agents/development-tools/performance-profiler.md +799 -0
- package/cli-tool/components/agents/development-tools/test-engineer.md +936 -0
- package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +33 -0
- package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +33 -0
- package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +33 -0
- package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +36 -0
- package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +33 -0
- package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +971 -0
- package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +36 -0
- package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +357 -0
- package/cli-tool/components/agents/documentation/api-documenter.md +33 -0
- package/cli-tool/components/agents/documentation/changelog-generator.md +37 -0
- package/cli-tool/components/agents/documentation/docusaurus-expert.md +175 -0
- package/cli-tool/components/agents/documentation/technical-writer.md +37 -0
- package/cli-tool/components/agents/expert-advisors/agent-expert.md +491 -0
- package/cli-tool/components/agents/expert-advisors/architect-review.md +50 -0
- package/cli-tool/components/agents/expert-advisors/dependency-manager.md +45 -0
- package/cli-tool/components/agents/expert-advisors/documentation-expert.md +47 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +37 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +100 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +60 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +46 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +68 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +69 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +98 -0
- package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +37 -0
- package/cli-tool/components/agents/game-development/3d-artist.md +37 -0
- package/cli-tool/components/agents/game-development/game-designer.md +37 -0
- package/cli-tool/components/agents/game-development/unity-game-developer.md +110 -0
- package/cli-tool/components/agents/game-development/unreal-engine-developer.md +128 -0
- package/cli-tool/components/agents/git/git-flow-manager.md +329 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +101 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +37 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +37 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +112 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +70 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +74 -0
- package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +106 -0
- package/cli-tool/components/agents/modernization/architecture-modernizer.md +37 -0
- package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +37 -0
- package/cli-tool/components/agents/modernization/legacy-modernizer.md +33 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +306 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +343 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +216 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +82 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +195 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +301 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +197 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +296 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +122 -0
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +387 -0
- package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +67 -0
- package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +81 -0
- package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +51 -0
- package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +112 -0
- package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +94 -0
- package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +92 -0
- package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +76 -0
- package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +37 -0
- package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +58 -0
- package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +36 -0
- package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +37 -0
- package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +62 -0
- package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +60 -0
- package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +52 -0
- package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +37 -0
- package/cli-tool/components/agents/performance-testing/performance-engineer.md +33 -0
- package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +65 -0
- package/cli-tool/components/agents/performance-testing/test-automator.md +33 -0
- package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +37 -0
- package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +61 -0
- package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +49 -0
- package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +52 -0
- package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +37 -0
- package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +54 -0
- package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +37 -0
- package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +60 -0
- package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +48 -0
- package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +58 -0
- package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +57 -0
- package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +62 -0
- package/cli-tool/components/agents/programming-languages/c-pro.md +36 -0
- package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +40 -0
- package/cli-tool/components/agents/programming-languages/cpp-pro.md +39 -0
- package/cli-tool/components/agents/programming-languages/golang-pro.md +33 -0
- package/cli-tool/components/agents/programming-languages/javascript-pro.md +36 -0
- package/cli-tool/components/agents/programming-languages/php-pro.md +44 -0
- package/cli-tool/components/agents/programming-languages/python-pro.md +33 -0
- package/cli-tool/components/agents/programming-languages/rust-pro.md +36 -0
- package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +38 -0
- package/cli-tool/components/agents/programming-languages/sql-pro.md +36 -0
- package/cli-tool/components/agents/programming-languages/typescript-pro.md +38 -0
- package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +193 -0
- package/cli-tool/components/agents/security/api-security-audit.md +93 -0
- package/cli-tool/components/agents/security/compliance-specialist.md +37 -0
- package/cli-tool/components/agents/security/incident-responder.md +75 -0
- package/cli-tool/components/agents/security/penetration-tester.md +37 -0
- package/cli-tool/components/agents/security/security-auditor.md +33 -0
- package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +194 -0
- package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +425 -0
- package/cli-tool/components/agents/web-tools/seo-analyzer.md +37 -0
- package/cli-tool/components/agents/web-tools/url-context-validator.md +61 -0
- package/cli-tool/components/agents/web-tools/url-link-extractor.md +59 -0
- package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +37 -0
- package/cli-tool/components/commands/automation/act.md +57 -0
- package/cli-tool/components/commands/automation/ci-pipeline.md +378 -0
- package/cli-tool/components/commands/automation/husky.md +130 -0
- package/cli-tool/components/commands/automation/workflow-orchestrator.md +576 -0
- package/cli-tool/components/commands/database/supabase-backup-manager.md +37 -0
- package/cli-tool/components/commands/database/supabase-data-explorer.md +37 -0
- package/cli-tool/components/commands/database/supabase-migration-assistant.md +37 -0
- package/cli-tool/components/commands/database/supabase-performance-optimizer.md +37 -0
- package/cli-tool/components/commands/database/supabase-realtime-monitor.md +37 -0
- package/cli-tool/components/commands/database/supabase-schema-sync.md +37 -0
- package/cli-tool/components/commands/database/supabase-security-audit.md +37 -0
- package/cli-tool/components/commands/database/supabase-type-generator.md +37 -0
- package/cli-tool/components/commands/deployment/add-changelog.md +92 -0
- package/cli-tool/components/commands/deployment/blue-green-deployment.md +824 -0
- package/cli-tool/components/commands/deployment/changelog-demo-command.md +43 -0
- package/cli-tool/components/commands/deployment/ci-setup.md +323 -0
- package/cli-tool/components/commands/deployment/containerize-application.md +93 -0
- package/cli-tool/components/commands/deployment/deployment-monitoring.md +1228 -0
- package/cli-tool/components/commands/deployment/hotfix-deploy.md +283 -0
- package/cli-tool/components/commands/deployment/prepare-release.md +357 -0
- package/cli-tool/components/commands/deployment/rollback-deploy.md +145 -0
- package/cli-tool/components/commands/deployment/setup-automated-releases.md +143 -0
- package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +93 -0
- package/cli-tool/components/commands/documentation/create-architecture-documentation.md +95 -0
- package/cli-tool/components/commands/documentation/create-onboarding-guide.md +93 -0
- package/cli-tool/components/commands/documentation/doc-api.md +242 -0
- package/cli-tool/components/commands/documentation/docs-maintenance.md +119 -0
- package/cli-tool/components/commands/documentation/generate-api-documentation.md +97 -0
- package/cli-tool/components/commands/documentation/interactive-documentation.md +133 -0
- package/cli-tool/components/commands/documentation/load-llms-txt.md +39 -0
- package/cli-tool/components/commands/documentation/migration-guide.md +250 -0
- package/cli-tool/components/commands/documentation/troubleshooting-guide.md +370 -0
- package/cli-tool/components/commands/documentation/update-docs.md +107 -0
- package/cli-tool/components/commands/game-development/game-analytics-integration.md +128 -0
- package/cli-tool/components/commands/game-development/game-asset-pipeline.md +108 -0
- package/cli-tool/components/commands/game-development/game-performance-profiler.md +78 -0
- package/cli-tool/components/commands/game-development/game-testing-framework.md +112 -0
- package/cli-tool/components/commands/game-development/unity-project-setup.md +190 -0
- package/cli-tool/components/commands/git/feature.md +196 -0
- package/cli-tool/components/commands/git/finish.md +528 -0
- package/cli-tool/components/commands/git/flow-status.md +438 -0
- package/cli-tool/components/commands/git/hotfix.md +456 -0
- package/cli-tool/components/commands/git/release.md +381 -0
- package/cli-tool/components/commands/git-workflow/branch-cleanup.md +181 -0
- package/cli-tool/components/commands/git-workflow/commit.md +167 -0
- package/cli-tool/components/commands/git-workflow/create-pr.md +19 -0
- package/cli-tool/components/commands/git-workflow/create-pull-request.md +126 -0
- package/cli-tool/components/commands/git-workflow/create-worktrees.md +174 -0
- package/cli-tool/components/commands/git-workflow/fix-github-issue.md +13 -0
- package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +261 -0
- package/cli-tool/components/commands/git-workflow/pr-review.md +76 -0
- package/cli-tool/components/commands/git-workflow/update-branch-name.md +9 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +480 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +406 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +489 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +712 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +778 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +653 -0
- package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +237 -0
- package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +341 -0
- package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +810 -0
- package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +666 -0
- package/cli-tool/components/commands/orchestration/archive.md +414 -0
- package/cli-tool/components/commands/orchestration/commit.md +305 -0
- package/cli-tool/components/commands/orchestration/find.md +272 -0
- package/cli-tool/components/commands/orchestration/log.md +355 -0
- package/cli-tool/components/commands/orchestration/move.md +220 -0
- package/cli-tool/components/commands/orchestration/optimize.md +375 -0
- package/cli-tool/components/commands/orchestration/remove.md +301 -0
- package/cli-tool/components/commands/orchestration/report.md +292 -0
- package/cli-tool/components/commands/orchestration/resume.md +256 -0
- package/cli-tool/components/commands/orchestration/start.md +169 -0
- package/cli-tool/components/commands/orchestration/status.md +219 -0
- package/cli-tool/components/commands/orchestration/sync.md +294 -0
- package/cli-tool/components/commands/performance/add-performance-monitoring.md +84 -0
- package/cli-tool/components/commands/performance/implement-caching-strategy.md +84 -0
- package/cli-tool/components/commands/performance/optimize-api-performance.md +119 -0
- package/cli-tool/components/commands/performance/optimize-build.md +139 -0
- package/cli-tool/components/commands/performance/optimize-bundle-size.md +84 -0
- package/cli-tool/components/commands/performance/optimize-database-performance.md +84 -0
- package/cli-tool/components/commands/performance/optimize-memory-usage.md +91 -0
- package/cli-tool/components/commands/performance/performance-audit.md +89 -0
- package/cli-tool/components/commands/performance/setup-cdn-optimization.md +84 -0
- package/cli-tool/components/commands/performance/system-behavior-simulator.md +415 -0
- package/cli-tool/components/commands/project-management/add-package.md +90 -0
- package/cli-tool/components/commands/project-management/add-to-changelog.md +37 -0
- package/cli-tool/components/commands/project-management/create-feature.md +130 -0
- package/cli-tool/components/commands/project-management/create-jtbd.md +37 -0
- package/cli-tool/components/commands/project-management/create-prd.md +36 -0
- package/cli-tool/components/commands/project-management/create-prp.md +37 -0
- package/cli-tool/components/commands/project-management/init-project.md +80 -0
- package/cli-tool/components/commands/project-management/milestone-tracker.md +44 -0
- package/cli-tool/components/commands/project-management/pac-configure.md +32 -0
- package/cli-tool/components/commands/project-management/pac-create-epic.md +41 -0
- package/cli-tool/components/commands/project-management/pac-create-ticket.md +42 -0
- package/cli-tool/components/commands/project-management/pac-update-status.md +39 -0
- package/cli-tool/components/commands/project-management/pac-validate.md +35 -0
- package/cli-tool/components/commands/project-management/project-health-check.md +58 -0
- package/cli-tool/components/commands/project-management/project-timeline-simulator.md +37 -0
- package/cli-tool/components/commands/project-management/project-to-linear.md +38 -0
- package/cli-tool/components/commands/project-management/release.md +31 -0
- package/cli-tool/components/commands/project-management/todo.md +62 -0
- package/cli-tool/components/commands/security/add-authentication-system.md +34 -0
- package/cli-tool/components/commands/security/dependency-audit.md +32 -0
- package/cli-tool/components/commands/security/penetration-test.md +40 -0
- package/cli-tool/components/commands/security/secrets-scanner.md +39 -0
- package/cli-tool/components/commands/security/security-audit.md +82 -0
- package/cli-tool/components/commands/security/security-hardening.md +33 -0
- package/cli-tool/components/commands/setup/create-database-migrations.md +35 -0
- package/cli-tool/components/commands/setup/design-database-schema.md +37 -0
- package/cli-tool/components/commands/setup/design-rest-api.md +37 -0
- package/cli-tool/components/commands/setup/implement-graphql-api.md +37 -0
- package/cli-tool/components/commands/setup/migrate-to-typescript.md +37 -0
- package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +37 -0
- package/cli-tool/components/commands/setup/setup-development-environment.md +37 -0
- package/cli-tool/components/commands/setup/setup-docker-containers.md +37 -0
- package/cli-tool/components/commands/setup/setup-formatting.md +37 -0
- package/cli-tool/components/commands/setup/setup-linting.md +37 -0
- package/cli-tool/components/commands/setup/setup-monitoring-observability.md +37 -0
- package/cli-tool/components/commands/setup/setup-monorepo.md +37 -0
- package/cli-tool/components/commands/setup/setup-rate-limiting.md +37 -0
- package/cli-tool/components/commands/setup/update-dependencies.md +35 -0
- package/cli-tool/components/commands/simulation/business-scenario-explorer.md +37 -0
- package/cli-tool/components/commands/simulation/constraint-modeler.md +37 -0
- package/cli-tool/components/commands/simulation/decision-tree-explorer.md +37 -0
- package/cli-tool/components/commands/simulation/digital-twin-creator.md +37 -0
- package/cli-tool/components/commands/simulation/future-scenario-generator.md +37 -0
- package/cli-tool/components/commands/simulation/market-response-modeler.md +37 -0
- package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +37 -0
- package/cli-tool/components/commands/simulation/simulation-calibrator.md +37 -0
- package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +37 -0
- package/cli-tool/components/commands/simulation/timeline-compressor.md +37 -0
- package/cli-tool/components/commands/svelte/svelte:a11y.md +105 -0
- package/cli-tool/components/commands/svelte/svelte:component.md +81 -0
- package/cli-tool/components/commands/svelte/svelte:debug.md +48 -0
- package/cli-tool/components/commands/svelte/svelte:migrate.md +79 -0
- package/cli-tool/components/commands/svelte/svelte:optimize.md +99 -0
- package/cli-tool/components/commands/svelte/svelte:scaffold.md +89 -0
- package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +204 -0
- package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +213 -0
- package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +113 -0
- package/cli-tool/components/commands/svelte/svelte:storybook-story.md +145 -0
- package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +191 -0
- package/cli-tool/components/commands/svelte/svelte:storybook.md +48 -0
- package/cli-tool/components/commands/svelte/svelte:test-coverage.md +77 -0
- package/cli-tool/components/commands/svelte/svelte:test-fix.md +74 -0
- package/cli-tool/components/commands/svelte/svelte:test-setup.md +85 -0
- package/cli-tool/components/commands/svelte/svelte:test.md +60 -0
- package/cli-tool/components/commands/sync/bidirectional-sync.md +37 -0
- package/cli-tool/components/commands/sync/bulk-import-issues.md +37 -0
- package/cli-tool/components/commands/sync/cross-reference-manager.md +37 -0
- package/cli-tool/components/commands/sync/issue-to-linear-task.md +37 -0
- package/cli-tool/components/commands/sync/linear-task-to-issue.md +37 -0
- package/cli-tool/components/commands/sync/sync-automation-setup.md +37 -0
- package/cli-tool/components/commands/sync/sync-conflict-resolver.md +37 -0
- package/cli-tool/components/commands/sync/sync-health-monitor.md +37 -0
- package/cli-tool/components/commands/sync/sync-issues-to-linear.md +37 -0
- package/cli-tool/components/commands/sync/sync-linear-to-issues.md +37 -0
- package/cli-tool/components/commands/sync/sync-migration-assistant.md +37 -0
- package/cli-tool/components/commands/sync/sync-pr-to-task.md +37 -0
- package/cli-tool/components/commands/sync/sync-status.md +391 -0
- package/cli-tool/components/commands/sync/task-from-pr.md +37 -0
- package/cli-tool/components/commands/team/architecture-review.md +37 -0
- package/cli-tool/components/commands/team/decision-quality-analyzer.md +37 -0
- package/cli-tool/components/commands/team/dependency-mapper.md +37 -0
- package/cli-tool/components/commands/team/estimate-assistant.md +37 -0
- package/cli-tool/components/commands/team/issue-triage.md +37 -0
- package/cli-tool/components/commands/team/memory-spring-cleaning.md +37 -0
- package/cli-tool/components/commands/team/migration-assistant.md +37 -0
- package/cli-tool/components/commands/team/retrospective-analyzer.md +37 -0
- package/cli-tool/components/commands/team/session-learning-capture.md +37 -0
- package/cli-tool/components/commands/team/sprint-planning.md +189 -0
- package/cli-tool/components/commands/team/standup-report.md +37 -0
- package/cli-tool/components/commands/team/team-knowledge-mapper.md +37 -0
- package/cli-tool/components/commands/team/team-velocity-tracker.md +37 -0
- package/cli-tool/components/commands/team/team-workload-balancer.md +37 -0
- package/cli-tool/components/commands/testing/add-mutation-testing.md +37 -0
- package/cli-tool/components/commands/testing/add-property-based-testing.md +37 -0
- package/cli-tool/components/commands/testing/e2e-setup.md +37 -0
- package/cli-tool/components/commands/testing/generate-test-cases.md +37 -0
- package/cli-tool/components/commands/testing/generate-tests.md +82 -0
- package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +37 -0
- package/cli-tool/components/commands/testing/setup-load-testing.md +37 -0
- package/cli-tool/components/commands/testing/setup-visual-testing.md +37 -0
- package/cli-tool/components/commands/testing/test-automation-orchestrator.md +37 -0
- package/cli-tool/components/commands/testing/test-changelog-automation.md +37 -0
- package/cli-tool/components/commands/testing/test-coverage.md +37 -0
- package/cli-tool/components/commands/testing/test-quality-analyzer.md +37 -0
- package/cli-tool/components/commands/testing/testing_plan_integration.md +37 -0
- package/cli-tool/components/commands/testing/write-tests.md +37 -0
- package/cli-tool/components/commands/utilities/all-tools.md +31 -0
- package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +375 -0
- package/cli-tool/components/commands/utilities/check-file.md +53 -0
- package/cli-tool/components/commands/utilities/clean-branches.md +243 -0
- package/cli-tool/components/commands/utilities/clean.md +1 -0
- package/cli-tool/components/commands/utilities/code-permutation-tester.md +341 -0
- package/cli-tool/components/commands/utilities/code-review.md +70 -0
- package/cli-tool/components/commands/utilities/code-to-task.md +583 -0
- package/cli-tool/components/commands/utilities/context-prime.md +1 -0
- package/cli-tool/components/commands/utilities/debug-error.md +121 -0
- package/cli-tool/components/commands/utilities/directory-deep-dive.md +34 -0
- package/cli-tool/components/commands/utilities/explain-code.md +194 -0
- package/cli-tool/components/commands/utilities/fix-issue.md +85 -0
- package/cli-tool/components/commands/utilities/generate-linear-worklog.md +113 -0
- package/cli-tool/components/commands/utilities/git-status.md +39 -0
- package/cli-tool/components/commands/utilities/initref.md +3 -0
- package/cli-tool/components/commands/utilities/prime.md +41 -0
- package/cli-tool/components/commands/utilities/refactor-code.md +116 -0
- package/cli-tool/components/commands/utilities/ultra-think.md +153 -0
- package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +1 -0
- package/cli-tool/components/hooks/automation/agents-md-loader.json +17 -0
- package/cli-tool/components/hooks/automation/build-on-change.json +16 -0
- package/cli-tool/components/hooks/automation/dependency-checker.json +16 -0
- package/cli-tool/components/hooks/automation/deployment-health-monitor.json +29 -0
- package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +26 -0
- package/cli-tool/components/hooks/automation/discord-error-notifications.json +37 -0
- package/cli-tool/components/hooks/automation/discord-notifications.json +25 -0
- package/cli-tool/components/hooks/automation/simple-notifications.json +16 -0
- package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +26 -0
- package/cli-tool/components/hooks/automation/slack-error-notifications.json +37 -0
- package/cli-tool/components/hooks/automation/slack-notifications.json +25 -0
- package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +26 -0
- package/cli-tool/components/hooks/automation/telegram-error-notifications.json +37 -0
- package/cli-tool/components/hooks/automation/telegram-notifications.json +25 -0
- package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +17 -0
- package/cli-tool/components/hooks/automation/vercel-environment-sync.json +29 -0
- package/cli-tool/components/hooks/development-tools/change-tracker.json +25 -0
- package/cli-tool/components/hooks/development-tools/command-logger.json +16 -0
- package/cli-tool/components/hooks/development-tools/file-backup.json +16 -0
- package/cli-tool/components/hooks/development-tools/lint-on-save.json +16 -0
- package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +17 -0
- package/cli-tool/components/hooks/development-tools/smart-formatting.json +16 -0
- package/cli-tool/components/hooks/git/conventional-commits.json +16 -0
- package/cli-tool/components/hooks/git/conventional-commits.py +84 -0
- package/cli-tool/components/hooks/git/prevent-direct-push.json +16 -0
- package/cli-tool/components/hooks/git/prevent-direct-push.py +86 -0
- package/cli-tool/components/hooks/git/validate-branch-name.json +16 -0
- package/cli-tool/components/hooks/git/validate-branch-name.py +96 -0
- package/cli-tool/components/hooks/git-workflow/auto-git-add.json +16 -0
- package/cli-tool/components/hooks/git-workflow/smart-commit.json +25 -0
- package/cli-tool/components/hooks/performance/performance-budget-guard.json +27 -0
- package/cli-tool/components/hooks/performance/performance-monitor.json +27 -0
- package/cli-tool/components/hooks/post-tool/format-javascript-files.json +16 -0
- package/cli-tool/components/hooks/post-tool/format-python-files.json +16 -0
- package/cli-tool/components/hooks/post-tool/git-add-changes.json +25 -0
- package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +16 -0
- package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +16 -0
- package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +16 -0
- package/cli-tool/components/hooks/pre-tool/update-search-year.json +17 -0
- package/cli-tool/components/hooks/security/file-protection.json +16 -0
- package/cli-tool/components/hooks/security/security-scanner.json +16 -0
- package/cli-tool/components/hooks/testing/test-runner.json +16 -0
- package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +20 -0
- package/cli-tool/components/mcps/browser_automation/browsermcp.json +9 -0
- package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +14 -0
- package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +9 -0
- package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +9 -0
- package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +11 -0
- package/cli-tool/components/mcps/database/mysql-integration.json +12 -0
- package/cli-tool/components/mcps/database/neon.json +9 -0
- package/cli-tool/components/mcps/database/postgresql-integration.json +12 -0
- package/cli-tool/components/mcps/database/supabase.json +17 -0
- package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +13 -0
- package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +13 -0
- package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +13 -0
- package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +13 -0
- package/cli-tool/components/mcps/devtools/azure-kubernetes-service.json +11 -0
- package/cli-tool/components/mcps/devtools/box.json +14 -0
- package/cli-tool/components/mcps/devtools/circleci.json +13 -0
- package/cli-tool/components/mcps/devtools/codacy.json +12 -0
- package/cli-tool/components/mcps/devtools/context7.json +9 -0
- package/cli-tool/components/mcps/devtools/dynatrace.json +13 -0
- package/cli-tool/components/mcps/devtools/elasticsearch.json +18 -0
- package/cli-tool/components/mcps/devtools/figma-dev-mode.json +8 -0
- package/cli-tool/components/mcps/devtools/firecrawl.json +12 -0
- package/cli-tool/components/mcps/devtools/firefly-mcp.json +13 -0
- package/cli-tool/components/mcps/devtools/huggingface.json +11 -0
- package/cli-tool/components/mcps/devtools/imagesorcery.json +11 -0
- package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +9 -0
- package/cli-tool/components/mcps/devtools/jfrog.json +8 -0
- package/cli-tool/components/mcps/devtools/just-mcp.json +9 -0
- package/cli-tool/components/mcps/devtools/launchdarkly.json +12 -0
- package/cli-tool/components/mcps/devtools/leetcode.json +8 -0
- package/cli-tool/components/mcps/devtools/logfire.json +9 -0
- package/cli-tool/components/mcps/devtools/markitdown.json +14 -0
- package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +9 -0
- package/cli-tool/components/mcps/devtools/mcp-server-trello.json +12 -0
- package/cli-tool/components/mcps/devtools/microsoft-clarity.json +11 -0
- package/cli-tool/components/mcps/devtools/microsoft-dev-box.json +9 -0
- package/cli-tool/components/mcps/devtools/mongodb.json +12 -0
- package/cli-tool/components/mcps/devtools/postman.json +12 -0
- package/cli-tool/components/mcps/devtools/sentry.json +8 -0
- package/cli-tool/components/mcps/devtools/serena.json +9 -0
- package/cli-tool/components/mcps/devtools/stripe.json +12 -0
- package/cli-tool/components/mcps/devtools/terraform.json +14 -0
- package/cli-tool/components/mcps/devtools/webflow.json +8 -0
- package/cli-tool/components/mcps/filesystem/filesystem-access.json +13 -0
- package/cli-tool/components/mcps/integration/github-integration.json +12 -0
- package/cli-tool/components/mcps/integration/memory-integration.json +9 -0
- package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +13 -0
- package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +11 -0
- package/cli-tool/components/mcps/productivity/monday.json +14 -0
- package/cli-tool/components/mcps/productivity/notion.json +12 -0
- package/cli-tool/components/mcps/web/web-fetch.json +9 -0
- package/cli-tool/components/settings/api/bedrock-configuration.json +7 -0
- package/cli-tool/components/settings/api/corporate-proxy.json +7 -0
- package/cli-tool/components/settings/api/custom-headers.json +6 -0
- package/cli-tool/components/settings/api/vertex-configuration.json +17 -0
- package/cli-tool/components/settings/authentication/api-key-helper.json +7 -0
- package/cli-tool/components/settings/authentication/force-claudeai-login.json +4 -0
- package/cli-tool/components/settings/authentication/force-console-login.json +4 -0
- package/cli-tool/components/settings/cleanup/retention-7-days.json +4 -0
- package/cli-tool/components/settings/cleanup/retention-90-days.json +4 -0
- package/cli-tool/components/settings/environment/bash-timeouts.json +8 -0
- package/cli-tool/components/settings/environment/development-utils.json +8 -0
- package/cli-tool/components/settings/environment/performance-optimization.json +8 -0
- package/cli-tool/components/settings/environment/privacy-focused.json +10 -0
- package/cli-tool/components/settings/git/git-flow-settings.json +79 -0
- package/cli-tool/components/settings/global/aws-credentials.json +5 -0
- package/cli-tool/components/settings/global/custom-model.json +7 -0
- package/cli-tool/components/settings/global/git-commit-settings.json +4 -0
- package/cli-tool/components/settings/mcp/disable-risky-servers.json +8 -0
- package/cli-tool/components/settings/mcp/enable-all-project-servers.json +4 -0
- package/cli-tool/components/settings/mcp/enable-specific-servers.json +8 -0
- package/cli-tool/components/settings/mcp/mcp-timeouts.json +8 -0
- package/cli-tool/components/settings/model/use-haiku.json +4 -0
- package/cli-tool/components/settings/model/use-sonnet.json +4 -0
- package/cli-tool/components/settings/permissions/additional-directories.json +11 -0
- package/cli-tool/components/settings/permissions/allow-git-operations.json +14 -0
- package/cli-tool/components/settings/permissions/allow-npm-commands.json +11 -0
- package/cli-tool/components/settings/permissions/deny-sensitive-files.json +11 -0
- package/cli-tool/components/settings/permissions/development-mode.json +31 -0
- package/cli-tool/components/settings/permissions/read-only-mode.json +18 -0
- package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/bug-circus-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/code-casino-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/colorful-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/command-statusline.json +8 -0
- package/cli-tool/components/settings/statusline/context-monitor.json +7 -0
- package/cli-tool/components/settings/statusline/context-monitor.py +236 -0
- package/cli-tool/components/settings/statusline/data-ocean-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/git-branch-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/git-flow-status.json +7 -0
- package/cli-tool/components/settings/statusline/minimal-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/neon-database-dev.json +7 -0
- package/cli-tool/components/settings/statusline/neon-database-resources.json +7 -0
- package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/project-info-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/time-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +7 -0
- package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +7 -0
- package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +7 -0
- package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +7 -0
- package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +7 -0
- package/cli-tool/components/settings/telemetry/custom-telemetry.json +7 -0
- package/cli-tool/components/settings/telemetry/disable-telemetry.json +6 -0
- package/cli-tool/components/settings/telemetry/enable-telemetry.json +6 -0
- package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +183 -0
- package/cli-tool/docs_to_claude/ARCHITECTURE.md +472 -0
- package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +438 -0
- package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +400 -0
- package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +1035 -0
- package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +154 -0
- package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +95 -0
- package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +291 -0
- package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +122 -0
- package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +135 -0
- package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +1249 -0
- package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +1123 -0
- package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +566 -0
- package/cli-tool/docs_to_claude/SUB_AGENTS.md +329 -0
- package/cli-tool/jest.config.js +84 -0
- package/cli-tool/package-lock.json +5471 -0
- package/cli-tool/package.json +96 -0
- package/cli-tool/templates/common/.claude/commands/git-workflow.md +239 -0
- package/cli-tool/templates/common/.claude/commands/project-setup.md +316 -0
- package/cli-tool/templates/common/.mcp.json +41 -0
- package/cli-tool/templates/common/CLAUDE.md +109 -0
- package/cli-tool/templates/common/README.md +96 -0
- package/cli-tool/templates/go/.mcp.json +78 -0
- package/cli-tool/templates/go/README.md +25 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +51 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +52 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +48 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +48 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +55 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +61 -0
- package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +51 -0
- package/cli-tool/templates/javascript-typescript/.claude/settings.json +142 -0
- package/cli-tool/templates/javascript-typescript/.mcp.json +80 -0
- package/cli-tool/templates/javascript-typescript/CLAUDE.md +185 -0
- package/cli-tool/templates/javascript-typescript/README.md +259 -0
- package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +63 -0
- package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +62 -0
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +46 -0
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +56 -0
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +61 -0
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +57 -0
- package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +102 -0
- package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +29 -0
- package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +44 -0
- package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +45 -0
- package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +81 -0
- package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +530 -0
- package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +295 -0
- package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +46 -0
- package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +51 -0
- package/cli-tool/templates/python/.claude/commands/lint.md +111 -0
- package/cli-tool/templates/python/.claude/commands/test.md +73 -0
- package/cli-tool/templates/python/.claude/settings.json +153 -0
- package/cli-tool/templates/python/.mcp.json +78 -0
- package/cli-tool/templates/python/CLAUDE.md +276 -0
- package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +264 -0
- package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +124 -0
- package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +222 -0
- package/cli-tool/templates/python/examples/django-app/CLAUDE.md +313 -0
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +513 -0
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +775 -0
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +657 -0
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +160 -0
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +927 -0
- package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +229 -0
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +384 -0
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +243 -0
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +410 -0
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +620 -0
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +217 -0
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +559 -0
- package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +391 -0
- package/cli-tool/templates/ruby/.claude/commands/model.md +360 -0
- package/cli-tool/templates/ruby/.claude/commands/test.md +480 -0
- package/cli-tool/templates/ruby/.claude/settings.json +146 -0
- package/cli-tool/templates/ruby/.mcp.json +83 -0
- package/cli-tool/templates/ruby/CLAUDE.md +284 -0
- package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +490 -0
- package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +376 -0
- package/cli-tool/templates/rust/.mcp.json +78 -0
- package/cli-tool/templates/rust/README.md +26 -0
- package/cli-tool/test-commands.sh +85 -0
- package/cli-tool/test-detailed.sh +267 -0
- package/dev-server.js +46 -0
- package/docs/CNAME +1 -0
- package/docs/README.md +49 -0
- package/docs/_config.yml +43 -0
- package/docs/api/agents.json +942 -0
- package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
- package/docs/blog/assets/aitmpl-supabase-search.png +0 -0
- package/docs/blog/assets/e2b-claude-code-sandbox-cover.png +0 -0
- package/docs/blog/assets/nextjs-vercel-claude-code-templates-cover.png +0 -0
- package/docs/blog/assets/supabase-claude-code-templates-cover.png +0 -0
- package/docs/blog/e2b-claude-code-sandbox/index.html +908 -0
- package/docs/blog/index.html +274 -0
- package/docs/blog/nextjs-vercel-claude-code-integration/index.html +1032 -0
- package/docs/blog/supabase-claude-code-integration/index.html +848 -0
- package/docs/claude-jobs.json +163 -0
- package/docs/component.html +506 -0
- package/docs/components-metadata.json +303 -0
- package/docs/components.json +4952 -0
- package/docs/css/blog.css +821 -0
- package/docs/css/component-page.css +1063 -0
- package/docs/css/stack-page.css +776 -0
- package/docs/css/styles.css +4540 -0
- package/docs/css/trending.css +1441 -0
- package/docs/css/workflows-modal.css +739 -0
- package/docs/css/workflows.css +1234 -0
- package/docs/download-stats.html +527 -0
- package/docs/index.html +627 -0
- package/docs/jobs.html +1059 -0
- package/docs/js/carousel.js +177 -0
- package/docs/js/cart-manager.js +658 -0
- package/docs/js/component-page.js +808 -0
- package/docs/js/data-loader.js +633 -0
- package/docs/js/generate-search-data.js +82 -0
- package/docs/js/index-events.js +1812 -0
- package/docs/js/modal-helpers.js +345 -0
- package/docs/js/script.js +2167 -0
- package/docs/js/search-functionality.js +1165 -0
- package/docs/js/stack-router.js +561 -0
- package/docs/js/trending.js +752 -0
- package/docs/js/utils.js +43 -0
- package/docs/js/workflows-events.js +1146 -0
- package/docs/js/workflows.js +627 -0
- package/docs/robots.txt +28 -0
- package/docs/sandbox-interface.html +1418 -0
- package/docs/sitemap.xml +193 -0
- package/docs/static/img/logo.png +0 -0
- package/docs/static/img/logo.svg +23 -0
- package/docs/trending-data.json +885 -0
- package/docs/trending.html +238 -0
- package/docs/vercel.json +36 -0
- package/docs/workflows.html +391 -0
- package/docu/README.md +41 -0
- package/docu/docs/cli-options.md +90 -0
- package/docu/docs/components/agents.md +113 -0
- package/docu/docs/components/commands.md +90 -0
- package/docu/docs/components/hooks.md +114 -0
- package/docu/docs/components/mcps.md +109 -0
- package/docu/docs/components/overview.md +73 -0
- package/docu/docs/components/settings.md +105 -0
- package/docu/docs/components/templates.md +119 -0
- package/docu/docs/intro.md +40 -0
- package/docu/docs/safety-features.md +13 -0
- package/docu/docs/support.md +13 -0
- package/docu/docs/tools/analytics.md +23 -0
- package/docu/docs/tools/chats.md +33 -0
- package/docu/docs/tools/health-check.md +60 -0
- package/docu/docs/tools/overview.md +39 -0
- package/docu/docs/tools/sandbox.md +61 -0
- package/docu/docs/tools/tunnel.md +38 -0
- package/docu/docusaurus.config.ts +169 -0
- package/docu/package-lock.json +16185 -0
- package/docu/package.json +47 -0
- package/docu/sidebars.ts +49 -0
- package/docu/src/components/HomepageFeatures/index.tsx +82 -0
- package/docu/src/components/HomepageFeatures/styles.module.css +131 -0
- package/docu/src/css/custom.css +849 -0
- package/docu/src/pages/index.module.css +111 -0
- package/docu/src/pages/index.tsx +65 -0
- package/docu/src/pages/markdown-page.md +7 -0
- package/docu/static/img/favicon.ico +0 -0
- package/docu/static/img/logo.svg +23 -0
- package/docu/tsconfig.json +8 -0
- package/docu/vercel.json +11 -0
- package/generate_agents_api.py +65 -0
- package/generate_claude_jobs.py +985 -0
- package/generate_components_json.py +391 -0
- package/package.json +21 -74
- package/social-preview.png +0 -0
- package/test_serpapi.py +36 -0
- package/vercel.json +111 -0
- /package/{bin → cli-tool/bin}/create-claude-config.js +0 -0
- /package/{components → cli-tool/components}/sandbox/README.md +0 -0
- /package/{components → cli-tool/components}/sandbox/e2b/.env.example +0 -0
- /package/{components → cli-tool/components}/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -0
- /package/{components → cli-tool/components}/sandbox/e2b/claude-code-sandbox.md +0 -0
- /package/{components → cli-tool/components}/sandbox/e2b/e2b-launcher.py +0 -0
- /package/{components → cli-tool/components}/sandbox/e2b/e2b-monitor.py +0 -0
- /package/{components → cli-tool/components}/sandbox/e2b/requirements.txt +0 -0
- /package/{src → cli-tool/src}/agents.js +0 -0
- /package/{src → cli-tool/src}/analytics/core/AgentAnalyzer.js +0 -0
- /package/{src → cli-tool/src}/analytics/core/ConversationAnalyzer.js +0 -0
- /package/{src → cli-tool/src}/analytics/core/FileWatcher.js +0 -0
- /package/{src → cli-tool/src}/analytics/core/ProcessDetector.js +0 -0
- /package/{src → cli-tool/src}/analytics/core/SessionAnalyzer.js +0 -0
- /package/{src → cli-tool/src}/analytics/core/StateCalculator.js +0 -0
- /package/{src → cli-tool/src}/analytics/data/DataCache.js +0 -0
- /package/{src → cli-tool/src}/analytics/notifications/NotificationManager.js +0 -0
- /package/{src → cli-tool/src}/analytics/notifications/WebSocketServer.js +0 -0
- /package/{src → cli-tool/src}/analytics/utils/PerformanceMonitor.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
- /package/{src → cli-tool/src}/analytics-web/assets/js/main.js.deprecated +0 -0
- /package/{src → cli-tool/src}/analytics-web/chats_mobile.html +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/ActivityHeatmap.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/AgentAnalytics.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/App.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/Charts.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/ConversationTable.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/DashboardPage.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/HeaderComponent.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/SessionTimer.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/Sidebar.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/components/ToolDisplay.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/index.html +0 -0
- /package/{src → cli-tool/src}/analytics-web/index.html.original +0 -0
- /package/{src → cli-tool/src}/analytics-web/services/DataService.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/services/StateService.js +0 -0
- /package/{src → cli-tool/src}/analytics-web/services/WebSocketService.js +0 -0
- /package/{src → cli-tool/src}/analytics.js +0 -0
- /package/{src → cli-tool/src}/chats-mobile.js +0 -0
- /package/{src → cli-tool/src}/claude-api-proxy.js +0 -0
- /package/{src → cli-tool/src}/command-scanner.js +0 -0
- /package/{src → cli-tool/src}/command-stats.js +0 -0
- /package/{src → cli-tool/src}/console-bridge.js +0 -0
- /package/{src → cli-tool/src}/file-operations.js +0 -0
- /package/{src → cli-tool/src}/health-check.js +0 -0
- /package/{src → cli-tool/src}/hook-scanner.js +0 -0
- /package/{src → cli-tool/src}/hook-stats.js +0 -0
- /package/{src → cli-tool/src}/index.js +0 -0
- /package/{src → cli-tool/src}/mcp-stats.js +0 -0
- /package/{src → cli-tool/src}/prompts.js +0 -0
- /package/{src → cli-tool/src}/sandbox-interface.html +0 -0
- /package/{src → cli-tool/src}/sandbox-server.js +0 -0
- /package/{src → cli-tool/src}/sdk/global-agent-manager.js +0 -0
- /package/{src → cli-tool/src}/templates.js +0 -0
- /package/{src → cli-tool/src}/test-console-bridge.js +0 -0
- /package/{src → cli-tool/src}/tracking-service.js +0 -0
- /package/{src → cli-tool/src}/utils.js +0 -0
- /package/{src/analytics.log → docu/static/.nojekyll} +0 -0
|
@@ -0,0 +1,908 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>E2B + Claude Code Sandbox: Secure Cloud Development Environment Guide</title>
|
|
7
|
+
<meta name="description" content="Complete guide to run Claude Code in isolated E2B cloud sandbox. Install components safely, execute prompts in secure environment, and develop without local system risks.">
|
|
8
|
+
|
|
9
|
+
<!-- Open Graph / Facebook -->
|
|
10
|
+
<meta property="og:type" content="article">
|
|
11
|
+
<meta property="og:url" content="https://aitmpl.com/blog/e2b-claude-code-sandbox/">
|
|
12
|
+
<meta property="og:title" content="E2B + Claude Code Sandbox: Secure Cloud Development Environment Guide">
|
|
13
|
+
<meta property="og:description" content="Complete guide to run Claude Code in isolated E2B cloud sandbox. Install components safely, execute prompts in secure environment, and develop without local system risks.">
|
|
14
|
+
<meta property="og:image" content="https://www.aitmpl.com/blog/assets/e2b-claude-code-sandbox-cover.png">
|
|
15
|
+
<meta property="og:image:width" content="1200">
|
|
16
|
+
<meta property="og:image:height" content="630">
|
|
17
|
+
<meta property="article:published_time" content="2025-01-31T10:00:00Z">
|
|
18
|
+
<meta property="article:author" content="Claude Code Templates">
|
|
19
|
+
<meta property="article:section" content="Cloud Development">
|
|
20
|
+
<meta property="article:tag" content="E2B">
|
|
21
|
+
<meta property="article:tag" content="Claude Code">
|
|
22
|
+
<meta property="article:tag" content="Sandbox">
|
|
23
|
+
<meta property="article:tag" content="Cloud Development">
|
|
24
|
+
<meta property="article:tag" content="Security">
|
|
25
|
+
<meta property="article:tag" content="Isolation">
|
|
26
|
+
<meta property="article:tag" content="AI Development">
|
|
27
|
+
<meta property="article:tag" content="Anthropic">
|
|
28
|
+
<meta property="article:tag" content="Safe Execution">
|
|
29
|
+
<meta property="article:tag" content="Python SDK">
|
|
30
|
+
<meta property="article:tag" content="Development Environment">
|
|
31
|
+
<meta property="article:tag" content="Remote Development">
|
|
32
|
+
|
|
33
|
+
<!-- Twitter -->
|
|
34
|
+
<meta property="twitter:card" content="summary_large_image">
|
|
35
|
+
<meta property="twitter:url" content="https://aitmpl.com/blog/e2b-claude-code-sandbox/">
|
|
36
|
+
<meta property="twitter:title" content="E2B + Claude Code Sandbox: Secure Cloud Development Environment Guide">
|
|
37
|
+
<meta property="twitter:description" content="Complete guide to run Claude Code in isolated E2B cloud sandbox. Install components safely, execute prompts in secure environment, and develop without local system risks.">
|
|
38
|
+
<meta property="twitter:image" content="https://www.aitmpl.com/blog/assets/e2b-claude-code-sandbox-cover.png">
|
|
39
|
+
|
|
40
|
+
<!-- Additional SEO -->
|
|
41
|
+
<meta name="keywords" content="E2B Claude Code sandbox, cloud development environment, secure code execution, isolated development, Claude Code safety, E2B Python SDK, remote development, AI sandbox, secure AI development, cloud sandbox, development isolation, safe code generation">
|
|
42
|
+
<meta name="author" content="Claude Code Templates">
|
|
43
|
+
<link rel="canonical" href="https://aitmpl.com/blog/e2b-claude-code-sandbox/">
|
|
44
|
+
|
|
45
|
+
<link rel="stylesheet" href="../../css/styles.css">
|
|
46
|
+
<link rel="stylesheet" href="../../css/blog.css">
|
|
47
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
48
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
49
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
|
50
|
+
|
|
51
|
+
<!-- Hotjar Tracking Code for https://aitmpl.com -->
|
|
52
|
+
<script>
|
|
53
|
+
(function(h,o,t,j,a,r){
|
|
54
|
+
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
|
|
55
|
+
h._hjSettings={hjid:6519181,hjsv:6};
|
|
56
|
+
a=o.getElementsByTagName('head')[0];
|
|
57
|
+
r=o.createElement('script');r.async=1;
|
|
58
|
+
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
|
|
59
|
+
a.appendChild(r);
|
|
60
|
+
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
|
|
61
|
+
</script>
|
|
62
|
+
|
|
63
|
+
<!-- Structured Data -->
|
|
64
|
+
<script type="application/ld+json">
|
|
65
|
+
{
|
|
66
|
+
"@context": "https://schema.org",
|
|
67
|
+
"@type": "BlogPosting",
|
|
68
|
+
"headline": "E2B + Claude Code Sandbox: Secure Cloud Development Environment Guide",
|
|
69
|
+
"description": "Complete guide to run Claude Code in isolated E2B cloud sandbox. Install components safely, execute prompts in secure environment, and develop without local system risks.",
|
|
70
|
+
"image": "https://www.aitmpl.com/blog/assets/e2b-claude-code-sandbox-cover.png",
|
|
71
|
+
"author": {
|
|
72
|
+
"@type": "Organization",
|
|
73
|
+
"name": "Claude Code Templates"
|
|
74
|
+
},
|
|
75
|
+
"publisher": {
|
|
76
|
+
"@type": "Organization",
|
|
77
|
+
"name": "Claude Code Templates",
|
|
78
|
+
"logo": {
|
|
79
|
+
"@type": "ImageObject",
|
|
80
|
+
"url": "https://www.aitmpl.com/static/img/logo.svg"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"datePublished": "2025-01-31T10:00:00Z",
|
|
84
|
+
"dateModified": "2025-01-31T10:00:00Z",
|
|
85
|
+
"mainEntityOfPage": {
|
|
86
|
+
"@type": "WebPage",
|
|
87
|
+
"@id": "https://aitmpl.com/blog/e2b-claude-code-sandbox/"
|
|
88
|
+
},
|
|
89
|
+
"keywords": "E2B Claude Code sandbox, cloud development environment, secure code execution, isolated development",
|
|
90
|
+
"wordCount": "1800",
|
|
91
|
+
"articleSection": "Cloud Development",
|
|
92
|
+
"about": [
|
|
93
|
+
{
|
|
94
|
+
"@type": "Thing",
|
|
95
|
+
"name": "E2B"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"@type": "Thing",
|
|
99
|
+
"name": "Claude Code"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"@type": "Thing",
|
|
103
|
+
"name": "Cloud Development"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"@type": "Thing",
|
|
107
|
+
"name": "Sandbox Environment"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"mentions": [
|
|
111
|
+
{
|
|
112
|
+
"@type": "SoftwareApplication",
|
|
113
|
+
"name": "E2B",
|
|
114
|
+
"url": "https://e2b.dev"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"@type": "SoftwareApplication",
|
|
118
|
+
"name": "Claude Code",
|
|
119
|
+
"url": "https://claude.ai/code"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
</script>
|
|
124
|
+
</head>
|
|
125
|
+
<body>
|
|
126
|
+
<header class="header">
|
|
127
|
+
<div class="container">
|
|
128
|
+
<div class="header-content">
|
|
129
|
+
<div class="terminal-header">
|
|
130
|
+
<div class="ascii-title">
|
|
131
|
+
<pre class="ascii-art">
|
|
132
|
+
██████╗ ██╗ ██████╗ ██████╗
|
|
133
|
+
██╔══██╗██║ ██╔═══██╗██╔════╝
|
|
134
|
+
██████╔╝██║ ██║ ██║██║ ███╗
|
|
135
|
+
██╔══██╗██║ ██║ ██║██║ ██║
|
|
136
|
+
██████╔╝███████╗╚██████╔╝╚██████╔╝
|
|
137
|
+
╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝</pre>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="header-actions">
|
|
141
|
+
<a href="../../index.html" class="header-btn">
|
|
142
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
143
|
+
<path d="M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z"/>
|
|
144
|
+
</svg>
|
|
145
|
+
Home
|
|
146
|
+
</a>
|
|
147
|
+
<a href="../index.html" class="header-btn">
|
|
148
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
149
|
+
<path d="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z"/>
|
|
150
|
+
</svg>
|
|
151
|
+
Blog
|
|
152
|
+
</a>
|
|
153
|
+
<a href="https://github.com/davila7/claude-code-templates" target="_blank" class="header-btn">
|
|
154
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
155
|
+
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.30 3.297-1.30.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
|
|
156
|
+
</svg>
|
|
157
|
+
GitHub
|
|
158
|
+
</a>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</header>
|
|
163
|
+
|
|
164
|
+
<main class="terminal">
|
|
165
|
+
<header class="article-header">
|
|
166
|
+
<div class="container">
|
|
167
|
+
<!-- Copy Markdown Button -->
|
|
168
|
+
<button id="copy-markdown-btn" class="copy-markdown-button" title="Copy post as Markdown">
|
|
169
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
170
|
+
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
|
|
171
|
+
</svg>
|
|
172
|
+
Copy as Markdown
|
|
173
|
+
</button>
|
|
174
|
+
|
|
175
|
+
<h1 class="article-title">E2B + Claude Code Sandbox: Secure Cloud Development Environment</h1>
|
|
176
|
+
<p class="article-subtitle">Complete guide to execute Claude Code in isolated E2B cloud sandbox. Install any components safely, run prompts in secure environment, and develop without local system risks.</p>
|
|
177
|
+
<div class="article-meta-full">
|
|
178
|
+
<time datetime="2025-01-31">January 31, 2025</time>
|
|
179
|
+
<span class="read-time">6 min read</span>
|
|
180
|
+
<div class="article-tags">
|
|
181
|
+
<span class="tag">E2B</span>
|
|
182
|
+
<span class="tag">Sandbox</span>
|
|
183
|
+
<span class="tag">Security</span>
|
|
184
|
+
<span class="tag">Cloud</span>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</header>
|
|
189
|
+
|
|
190
|
+
<article class="article-body">
|
|
191
|
+
<img src="https://www.aitmpl.com/blog/assets/e2b-claude-code-sandbox-cover.png" alt="E2B and Claude Code Sandbox Integration" class="article-cover" loading="lazy">
|
|
192
|
+
|
|
193
|
+
<div class="article-content-full">
|
|
194
|
+
<h2>Benefits of Secure Sandbox Execution</h2>
|
|
195
|
+
|
|
196
|
+
<p>Running Claude Code in an isolated E2B cloud sandbox provides essential security and development advantages:</p>
|
|
197
|
+
|
|
198
|
+
<table class="components-table">
|
|
199
|
+
<thead>
|
|
200
|
+
<tr>
|
|
201
|
+
<th>Benefit</th>
|
|
202
|
+
<th>Description</th>
|
|
203
|
+
</tr>
|
|
204
|
+
</thead>
|
|
205
|
+
<tbody>
|
|
206
|
+
<tr>
|
|
207
|
+
<td><strong>🔒 Complete Isolation</strong></td>
|
|
208
|
+
<td>Code runs in a separate cloud environment with zero access to your local system, files, or network.</td>
|
|
209
|
+
</tr>
|
|
210
|
+
<tr>
|
|
211
|
+
<td><strong>🛡️ No Local Impact</strong></td>
|
|
212
|
+
<td>Eliminates risk of system modifications, file corruption, or security vulnerabilities on your machine.</td>
|
|
213
|
+
</tr>
|
|
214
|
+
<tr>
|
|
215
|
+
<td><strong>🚀 Clean Environment</strong></td>
|
|
216
|
+
<td>Fresh Ubuntu with Claude Code pre-installed, ensuring consistent execution without dependency conflicts.</td>
|
|
217
|
+
</tr>
|
|
218
|
+
<tr>
|
|
219
|
+
<td><strong>☁️ Remote Execution</strong></td>
|
|
220
|
+
<td>Intensive operations run in the cloud without consuming your local CPU, memory, or storage.</td>
|
|
221
|
+
</tr>
|
|
222
|
+
<tr>
|
|
223
|
+
<td><strong>🧪 Safe Testing</strong></td>
|
|
224
|
+
<td>Test new agents and commands risk-free, with automatic cleanup after execution.</td>
|
|
225
|
+
</tr>
|
|
226
|
+
</tbody>
|
|
227
|
+
</table>
|
|
228
|
+
|
|
229
|
+
<h2>E2B Claude Code Sandbox Component</h2>
|
|
230
|
+
|
|
231
|
+
<p>Claude Code Templates provides a ready-to-use E2B sandbox integration:</p>
|
|
232
|
+
|
|
233
|
+
<h3>🔧 What's Included</h3>
|
|
234
|
+
<table class="components-table">
|
|
235
|
+
<thead>
|
|
236
|
+
<tr>
|
|
237
|
+
<th>Component</th>
|
|
238
|
+
<th>Description</th>
|
|
239
|
+
</tr>
|
|
240
|
+
</thead>
|
|
241
|
+
<tbody>
|
|
242
|
+
<tr>
|
|
243
|
+
<td><strong>E2B Launcher Script</strong></td>
|
|
244
|
+
<td>Python script that creates, configures, and manages E2B sandbox instances with Claude Code.</td>
|
|
245
|
+
</tr>
|
|
246
|
+
<tr>
|
|
247
|
+
<td><strong>Automatic Setup</strong></td>
|
|
248
|
+
<td>Downloads dependencies, checks Python environment, and installs E2B SDK automatically.</td>
|
|
249
|
+
</tr>
|
|
250
|
+
<tr>
|
|
251
|
+
<td><strong>Component Integration</strong></td>
|
|
252
|
+
<td>Installs any specified agents, commands, MCPs, settings, and hooks inside the sandbox.</td>
|
|
253
|
+
</tr>
|
|
254
|
+
</tbody>
|
|
255
|
+
</table>
|
|
256
|
+
<!-- Newsletter CTA - Middle -->
|
|
257
|
+
<div class="newsletter-cta middle-newsletter">
|
|
258
|
+
<div class="newsletter-cta-content">
|
|
259
|
+
<h3>Stay Updated</h3>
|
|
260
|
+
<p>Get new articles, components and templates for Claude Code delivered to your inbox.</p>
|
|
261
|
+
|
|
262
|
+
<div id="middle-newsletter-success" class="newsletter-message success-message" style="display: none;">
|
|
263
|
+
✓ Subscribed successfully
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
<div id="middle-newsletter-error" class="newsletter-message error-message" style="display: none;">
|
|
267
|
+
✗ Error. Try again.
|
|
268
|
+
</div>
|
|
269
|
+
|
|
270
|
+
<form id="middle-newsletter-form" method="POST" action="https://817715f5.sibforms.com/serve/MUIFAAfji55QSo2kjmh_3Y4i1XrFpOiTqwu6ZKbWQtps1SHh-4OOCCzhwRCvknpSybxI0_-V0KWocb0_b12iXBT-OahbBE4YiCQc9nVU0mD2R18vQfpP9wN11ZW8XqgTo5I9EGLrt-qdfR_1rxbmJX4uiWGXbJSYYrTVno0hUd0Pp42BOLsWJ3hssO3NMq2fdWhVZa9OIIWW3L85" data-type="subscription" class="newsletter-form" target="middle_hidden_iframe">
|
|
271
|
+
<div class="input-group">
|
|
272
|
+
<input type="email" name="EMAIL" placeholder="your@email.com" required class="newsletter-input">
|
|
273
|
+
<button type="submit" class="newsletter-submit">
|
|
274
|
+
<span class="submit-text">→</span>
|
|
275
|
+
</button>
|
|
276
|
+
</div>
|
|
277
|
+
<input type="text" name="email_address_check" value="" style="display: none;">
|
|
278
|
+
<input type="hidden" name="locale" value="en">
|
|
279
|
+
</form>
|
|
280
|
+
<iframe name="middle_hidden_iframe" style="display: none;"></iframe>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<h2>Prerequisites</h2>
|
|
285
|
+
|
|
286
|
+
<p>You'll need two API keys to use the E2B sandbox:</p>
|
|
287
|
+
|
|
288
|
+
<ul>
|
|
289
|
+
<li><strong>E2B API Key:</strong> Get it from <a href="https://e2b.dev/dashboard" target="_blank" rel="noopener">e2b.dev/dashboard</a> (free tier available)</li>
|
|
290
|
+
<li><strong>Anthropic API Key:</strong> Get it from <a href="https://console.anthropic.com" target="_blank" rel="noopener">console.anthropic.com</a></li>
|
|
291
|
+
<li><strong>Python 3.11+:</strong> Required for the E2B SDK (usually auto-installed)</li>
|
|
292
|
+
</ul>
|
|
293
|
+
|
|
294
|
+
<h2>Installation and Usage</h2>
|
|
295
|
+
|
|
296
|
+
<h3>Quick Start - Simple Execution</h3>
|
|
297
|
+
<pre><code class="language-bash"># Execute a prompt in secure E2B sandbox with API keys
|
|
298
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
299
|
+
--e2b-api-key your_e2b_key \
|
|
300
|
+
--anthropic-api-key your_anthropic_key \
|
|
301
|
+
--prompt "Create a React todo app with TypeScript"
|
|
302
|
+
|
|
303
|
+
# Or use environment variables (set E2B_API_KEY and ANTHROPIC_API_KEY)
|
|
304
|
+
npx claude-code-templates@latest --sandbox e2b --prompt "Create a React todo app with TypeScript"
|
|
305
|
+
|
|
306
|
+
# Interactive mode - let the CLI guide you
|
|
307
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
308
|
+
--e2b-api-key your_e2b_key \
|
|
309
|
+
--anthropic-api-key your_anthropic_key</code></pre>
|
|
310
|
+
|
|
311
|
+
<p><strong>This command will:</strong></p>
|
|
312
|
+
<ul>
|
|
313
|
+
<li>✓ Create secure E2B cloud sandbox</li>
|
|
314
|
+
<li>✓ Execute your prompt using Claude Code</li>
|
|
315
|
+
<li>✓ Download generated files to `sandbox-xxxxx` folder</li>
|
|
316
|
+
<li>✓ Automatically cleanup after execution</li>
|
|
317
|
+
</ul>
|
|
318
|
+
|
|
319
|
+
<h3>Advanced Usage - With Specific Agent</h3>
|
|
320
|
+
<pre><code class="language-bash"># Execute with a specific agent in sandbox
|
|
321
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
322
|
+
--e2b-api-key your_e2b_key \
|
|
323
|
+
--anthropic-api-key your_anthropic_key \
|
|
324
|
+
--agent development-team/frontend-developer \
|
|
325
|
+
--prompt "Create a modern todo app with TypeScript and Tailwind"</code></pre>
|
|
326
|
+
|
|
327
|
+
<h3>Full Stack Development</h3>
|
|
328
|
+
<pre><code class="language-bash"># Complete full-stack app development
|
|
329
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
330
|
+
--e2b-api-key your_e2b_key \
|
|
331
|
+
--anthropic-api-key your_anthropic_key \
|
|
332
|
+
--agent development-team/fullstack-developer \
|
|
333
|
+
--prompt "Create a Node.js API with PostgreSQL and authentication"</code></pre>
|
|
334
|
+
|
|
335
|
+
<h3>Data Science and Analysis</h3>
|
|
336
|
+
<pre><code class="language-bash"># Data analysis with specialized agent
|
|
337
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
338
|
+
--e2b-api-key your_e2b_key \
|
|
339
|
+
--anthropic-api-key your_anthropic_key \
|
|
340
|
+
--agent ai-ml-specialists/data-scientist \
|
|
341
|
+
--prompt "Analyze this dataset and create interactive visualizations"</code></pre>
|
|
342
|
+
|
|
343
|
+
<h2>API Key Configuration</h2>
|
|
344
|
+
|
|
345
|
+
<p>You can provide your E2B and Anthropic API keys in two convenient ways:</p>
|
|
346
|
+
|
|
347
|
+
<h3>🔑 Option 1: CLI Parameters (Recommended)</h3>
|
|
348
|
+
<pre><code class="language-bash"># Pass API keys directly as command parameters
|
|
349
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
350
|
+
--e2b-api-key your_e2b_api_key_here \
|
|
351
|
+
--anthropic-api-key your_anthropic_api_key_here \
|
|
352
|
+
--prompt "Your prompt here"</code></pre>
|
|
353
|
+
|
|
354
|
+
<p><strong>Benefits:</strong></p>
|
|
355
|
+
<ul>
|
|
356
|
+
<li>✓ No need to set up environment variables</li>
|
|
357
|
+
<li>✓ Works immediately without additional configuration</li>
|
|
358
|
+
<li>✓ Perfect for CI/CD pipelines and automation</li>
|
|
359
|
+
<li>✓ No risk of accidentally committing keys to repositories</li>
|
|
360
|
+
</ul>
|
|
361
|
+
|
|
362
|
+
<h3>🌍 Option 2: Environment Variables</h3>
|
|
363
|
+
<pre><code class="language-bash"># Set environment variables in your shell
|
|
364
|
+
export E2B_API_KEY=your_e2b_api_key_here
|
|
365
|
+
export ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
|
366
|
+
|
|
367
|
+
# Then run without API key parameters
|
|
368
|
+
npx claude-code-templates@latest --sandbox e2b --prompt "Your prompt here"</code></pre>
|
|
369
|
+
|
|
370
|
+
<p><strong>Note:</strong> CLI parameters take precedence over environment variables, so you can override environment settings when needed.</p>
|
|
371
|
+
|
|
372
|
+
<h2>Environment Configuration</h2>
|
|
373
|
+
|
|
374
|
+
<p>After first execution, the sandbox component creates these files in your project:</p>
|
|
375
|
+
|
|
376
|
+
<pre><code class="language-bash">your-project/
|
|
377
|
+
├── .claude/
|
|
378
|
+
│ └── sandbox/
|
|
379
|
+
│ ├── e2b-launcher.py # Python launcher script
|
|
380
|
+
│ ├── requirements.txt # E2B SDK dependencies
|
|
381
|
+
│ └── .env.example # Environment variables template
|
|
382
|
+
└── sandbox-xxxxxxxx/ # Generated project files (after execution)
|
|
383
|
+
├── index.html # Your generated files
|
|
384
|
+
├── src/ # Project source code
|
|
385
|
+
└── ...</code></pre>
|
|
386
|
+
|
|
387
|
+
<h2>Use Cases - When You Need Sandbox Isolation</h2>
|
|
388
|
+
|
|
389
|
+
<h3>🔥 System-Level Operations</h3>
|
|
390
|
+
<pre><code class="language-bash"># Modify system configurations without risk
|
|
391
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
392
|
+
--e2b-api-key your_e2b_key \
|
|
393
|
+
--anthropic-api-key your_anthropic_key \
|
|
394
|
+
--agent devops-cloud/system-administrator \
|
|
395
|
+
--prompt "Set up nginx with multiple virtual hosts, SSL certificates, and firewall rules"</code></pre>
|
|
396
|
+
|
|
397
|
+
<h3>🧪 Experimental Package Installation</h3>
|
|
398
|
+
<pre><code class="language-bash"># Test unknown dependencies and packages safely
|
|
399
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
400
|
+
--e2b-api-key your_e2b_key \
|
|
401
|
+
--anthropic-api-key your_anthropic_key \
|
|
402
|
+
--agent development-team/fullstack-developer \
|
|
403
|
+
--prompt "Install and configure a complex tech stack with Redis, RabbitMQ, Elasticsearch, and their dependencies"</code></pre>
|
|
404
|
+
|
|
405
|
+
<h3>🛡️ Security Vulnerability Testing</h3>
|
|
406
|
+
<pre><code class="language-bash"># Run penetration testing tools without affecting your system
|
|
407
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
408
|
+
--e2b-api-key your_e2b_key \
|
|
409
|
+
--anthropic-api-key your_anthropic_key \
|
|
410
|
+
--agent security-testing/penetration-tester \
|
|
411
|
+
--prompt "Set up and run OWASP ZAP, Metasploit, and Nmap to test this application"</code></pre>
|
|
412
|
+
|
|
413
|
+
<h3>💣 Database Operations</h3>
|
|
414
|
+
<pre><code class="language-bash"># Perform destructive database migrations and schema changes
|
|
415
|
+
npx claude-code-templates@latest --sandbox e2b \
|
|
416
|
+
--e2b-api-key your_e2b_key \
|
|
417
|
+
--anthropic-api-key your_anthropic_key \
|
|
418
|
+
--agent data-analytics/database-administrator \
|
|
419
|
+
--prompt "Create a PostgreSQL database, run complex migrations, drop tables, and test backup/restore procedures"</code></pre>
|
|
420
|
+
|
|
421
|
+
<h2>Troubleshooting</h2>
|
|
422
|
+
|
|
423
|
+
<h3>Common Issues and Solutions</h3>
|
|
424
|
+
<table class="components-table">
|
|
425
|
+
<thead>
|
|
426
|
+
<tr>
|
|
427
|
+
<th>Issue</th>
|
|
428
|
+
<th>Solution</th>
|
|
429
|
+
</tr>
|
|
430
|
+
</thead>
|
|
431
|
+
<tbody>
|
|
432
|
+
<tr>
|
|
433
|
+
<td><strong>Python Not Found</strong></td>
|
|
434
|
+
<td>Install Python 3.11+ from <a href="https://python.org/downloads" target="_blank">python.org/downloads</a></td>
|
|
435
|
+
</tr>
|
|
436
|
+
<tr>
|
|
437
|
+
<td><strong>API Keys Not Set</strong></td>
|
|
438
|
+
<td>Create <code>.env</code> file in <code>.claude/sandbox/</code> with your E2B and Anthropic API keys</td>
|
|
439
|
+
</tr>
|
|
440
|
+
<tr>
|
|
441
|
+
<td><strong>Dependencies Failed</strong></td>
|
|
442
|
+
<td>Run <code>pip3 install -r .claude/sandbox/requirements.txt</code> manually</td>
|
|
443
|
+
</tr>
|
|
444
|
+
<tr>
|
|
445
|
+
<td><strong>Sandbox Timeout</strong></td>
|
|
446
|
+
<td>Large prompts may take time; configured with 15-minute timeout for complex operations</td>
|
|
447
|
+
</tr>
|
|
448
|
+
</tbody>
|
|
449
|
+
</table>
|
|
450
|
+
|
|
451
|
+
<!-- Newsletter CTA - End -->
|
|
452
|
+
<div class="newsletter-cta end-newsletter">
|
|
453
|
+
<div class="newsletter-cta-content">
|
|
454
|
+
<h3>Want More?</h3>
|
|
455
|
+
<p>Subscribe to receive new Claude Code articles, components and integration tutorials.</p>
|
|
456
|
+
|
|
457
|
+
<div id="end-newsletter-success" class="newsletter-message success-message" style="display: none;">
|
|
458
|
+
✓ Subscribed successfully
|
|
459
|
+
</div>
|
|
460
|
+
|
|
461
|
+
<div id="end-newsletter-error" class="newsletter-message error-message" style="display: none;">
|
|
462
|
+
✗ Error. Try again.
|
|
463
|
+
</div>
|
|
464
|
+
|
|
465
|
+
<form id="end-newsletter-form" method="POST" action="https://817715f5.sibforms.com/serve/MUIFAAfji55QSo2kjmh_3Y4i1XrFpOiTqwu6ZKbWQtps1SHh-4OOCCzhwRCvknpSybxI0_-V0KWocb0_b12iXBT-OahbBE4YiCQc9nVU0mD2R18vQfpP9wN11ZW8XqgTo5I9EGLrt-qdfR_1rxbmJX4uiWGXbJSYYrTVno0hUd0Pp42BOLsWJ3hssO3NMq2fdWhVZa9OIIWW3L85" data-type="subscription" class="newsletter-form" target="end_hidden_iframe">
|
|
466
|
+
<div class="input-group">
|
|
467
|
+
<input type="email" name="EMAIL" placeholder="your@email.com" required class="newsletter-input">
|
|
468
|
+
<button type="submit" class="newsletter-submit">
|
|
469
|
+
<span class="submit-text">→</span>
|
|
470
|
+
</button>
|
|
471
|
+
</div>
|
|
472
|
+
<input type="text" name="email_address_check" value="" style="display: none;">
|
|
473
|
+
<input type="hidden" name="locale" value="en">
|
|
474
|
+
</form>
|
|
475
|
+
<iframe name="end_hidden_iframe" style="display: none;"></iframe>
|
|
476
|
+
</div>
|
|
477
|
+
</div>
|
|
478
|
+
|
|
479
|
+
</div>
|
|
480
|
+
|
|
481
|
+
<div class="article-nav">
|
|
482
|
+
<a href="../index.html" class="back-to-blog">
|
|
483
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
484
|
+
<path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"/>
|
|
485
|
+
</svg>
|
|
486
|
+
Back to Blog
|
|
487
|
+
</a>
|
|
488
|
+
</div>
|
|
489
|
+
</article>
|
|
490
|
+
</main>
|
|
491
|
+
|
|
492
|
+
<footer class="footer">
|
|
493
|
+
<div class="container">
|
|
494
|
+
<div class="footer-content">
|
|
495
|
+
<div class="footer-left">
|
|
496
|
+
<div class="footer-ascii">
|
|
497
|
+
<pre class="footer-ascii-art"> █████╗ ██╗████████╗███╗ ███╗██████╗ ██╗
|
|
498
|
+
██╔══██╗██║╚══██╔══╝████╗ ████║██╔══██╗██║
|
|
499
|
+
███████║██║ ██║ ██╔████╔██║██████╔╝██║
|
|
500
|
+
██╔══██║██║ ██║ ██║╚██╔╝██║██╔═══╝ ██║
|
|
501
|
+
██║ ██║██║ ██║ ██║ ╚═╝ ██║██║ ███████╗
|
|
502
|
+
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚══════╝</pre>
|
|
503
|
+
<p class="footer-tagline">Supercharge Anthropic's Claude Code</p>
|
|
504
|
+
</div>
|
|
505
|
+
</div>
|
|
506
|
+
|
|
507
|
+
<div class="footer-right">
|
|
508
|
+
<p class="footer-copyright">© 2025 Claude Code Templates. Open source project.</p>
|
|
509
|
+
<div class="footer-links">
|
|
510
|
+
<a href="../../trending.html" class="footer-link">
|
|
511
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
512
|
+
<path d="M16,6L18.29,8.29L13.41,13.17L9.41,9.17L2,16.59L3.41,18L9.41,12L13.41,16L19.71,9.71L22,12V6H16Z"/>
|
|
513
|
+
</svg>
|
|
514
|
+
Trending
|
|
515
|
+
</a>
|
|
516
|
+
<a href="https://docs.aitmpl.com/" target="_blank" class="footer-link">
|
|
517
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
518
|
+
<path d="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z"/>
|
|
519
|
+
</svg>
|
|
520
|
+
Documentation
|
|
521
|
+
</a>
|
|
522
|
+
<a href="https://github.com/davila7/claude-code-templates" target="_blank" class="footer-link">
|
|
523
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
524
|
+
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.30 3.297-1.30.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
|
|
525
|
+
</svg>
|
|
526
|
+
GitHub
|
|
527
|
+
</a>
|
|
528
|
+
</div>
|
|
529
|
+
</div>
|
|
530
|
+
</div>
|
|
531
|
+
</div>
|
|
532
|
+
</footer>
|
|
533
|
+
|
|
534
|
+
<!-- Code Copy Functionality -->
|
|
535
|
+
<script>
|
|
536
|
+
// Code Copy Functionality for Blog Articles
|
|
537
|
+
class CodeCopy {
|
|
538
|
+
constructor() {
|
|
539
|
+
this.initCodeBlocks();
|
|
540
|
+
this.setupCopyFunctionality();
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
initCodeBlocks() {
|
|
544
|
+
// Convert existing pre elements to new code-block structure
|
|
545
|
+
const preElements = document.querySelectorAll('.article-content-full pre:not(.converted)');
|
|
546
|
+
|
|
547
|
+
preElements.forEach(pre => {
|
|
548
|
+
const code = pre.querySelector('code');
|
|
549
|
+
if (!code) return;
|
|
550
|
+
|
|
551
|
+
// Detect language from class or content
|
|
552
|
+
const language = this.detectLanguage(code);
|
|
553
|
+
const isTerminal = language === 'bash' || language === 'terminal';
|
|
554
|
+
|
|
555
|
+
// Create new code block structure
|
|
556
|
+
const codeBlock = document.createElement('div');
|
|
557
|
+
codeBlock.className = isTerminal ? 'code-block terminal-block' : 'code-block';
|
|
558
|
+
|
|
559
|
+
// Create header
|
|
560
|
+
const header = document.createElement('div');
|
|
561
|
+
header.className = 'code-header';
|
|
562
|
+
|
|
563
|
+
const languageSpan = document.createElement('span');
|
|
564
|
+
languageSpan.className = 'code-language';
|
|
565
|
+
languageSpan.textContent = language;
|
|
566
|
+
|
|
567
|
+
const copyButton = document.createElement('button');
|
|
568
|
+
copyButton.className = 'copy-button';
|
|
569
|
+
copyButton.innerHTML = `
|
|
570
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
|
|
571
|
+
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
|
|
572
|
+
</svg>
|
|
573
|
+
Copy
|
|
574
|
+
`;
|
|
575
|
+
|
|
576
|
+
header.appendChild(languageSpan);
|
|
577
|
+
header.appendChild(copyButton);
|
|
578
|
+
|
|
579
|
+
// Clone and prepare the pre element
|
|
580
|
+
const newPre = pre.cloneNode(true);
|
|
581
|
+
newPre.classList.add('converted');
|
|
582
|
+
|
|
583
|
+
// Assemble new structure
|
|
584
|
+
codeBlock.appendChild(header);
|
|
585
|
+
codeBlock.appendChild(newPre);
|
|
586
|
+
|
|
587
|
+
// Replace original pre
|
|
588
|
+
pre.parentNode.replaceChild(codeBlock, pre);
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
detectLanguage(codeElement) {
|
|
593
|
+
// Check for class-based language detection
|
|
594
|
+
const className = codeElement.className;
|
|
595
|
+
if (className.includes('language-')) {
|
|
596
|
+
return className.match(/language-(\w+)/)[1];
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
// Check content patterns
|
|
600
|
+
const content = codeElement.textContent;
|
|
601
|
+
|
|
602
|
+
if (content.includes('npm ') || content.includes('$ ') || content.includes('claude-code ')) {
|
|
603
|
+
return 'bash';
|
|
604
|
+
}
|
|
605
|
+
if (content.includes('import ') && content.includes('from ')) {
|
|
606
|
+
return 'javascript';
|
|
607
|
+
}
|
|
608
|
+
if (content.includes('CREATE TABLE') || content.includes('SELECT ')) {
|
|
609
|
+
return 'sql';
|
|
610
|
+
}
|
|
611
|
+
if (content.includes('{') && content.includes('"')) {
|
|
612
|
+
return 'json';
|
|
613
|
+
}
|
|
614
|
+
if (content.includes('def ') || content.includes('import ')) {
|
|
615
|
+
return 'python';
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
return 'text';
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
setupCopyFunctionality() {
|
|
622
|
+
document.addEventListener('click', async (e) => {
|
|
623
|
+
if (!e.target.closest('.copy-button')) return;
|
|
624
|
+
|
|
625
|
+
const button = e.target.closest('.copy-button');
|
|
626
|
+
const codeBlock = button.closest('.code-block');
|
|
627
|
+
const pre = codeBlock.querySelector('pre');
|
|
628
|
+
const code = pre.querySelector('code');
|
|
629
|
+
|
|
630
|
+
if (!code) return;
|
|
631
|
+
|
|
632
|
+
try {
|
|
633
|
+
// Get clean text content
|
|
634
|
+
let textToCopy = code.textContent;
|
|
635
|
+
|
|
636
|
+
// Clean up terminal prompts if it's a terminal block
|
|
637
|
+
if (codeBlock.classList.contains('terminal-block')) {
|
|
638
|
+
textToCopy = this.cleanTerminalOutput(textToCopy);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
await navigator.clipboard.writeText(textToCopy);
|
|
642
|
+
|
|
643
|
+
// Update button state
|
|
644
|
+
const originalContent = button.innerHTML;
|
|
645
|
+
button.innerHTML = `
|
|
646
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
|
|
647
|
+
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
|
|
648
|
+
</svg>
|
|
649
|
+
Copied!
|
|
650
|
+
`;
|
|
651
|
+
button.classList.add('copied');
|
|
652
|
+
|
|
653
|
+
// Reset after 2 seconds
|
|
654
|
+
setTimeout(() => {
|
|
655
|
+
button.innerHTML = originalContent;
|
|
656
|
+
button.classList.remove('copied');
|
|
657
|
+
}, 2000);
|
|
658
|
+
|
|
659
|
+
} catch (err) {
|
|
660
|
+
console.error('Failed to copy code:', err);
|
|
661
|
+
|
|
662
|
+
// Fallback: select text
|
|
663
|
+
const selection = window.getSelection();
|
|
664
|
+
const range = document.createRange();
|
|
665
|
+
range.selectNodeContents(code);
|
|
666
|
+
selection.removeAllRanges();
|
|
667
|
+
selection.addRange(range);
|
|
668
|
+
}
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
cleanTerminalOutput(text) {
|
|
673
|
+
// Remove common terminal prompts and clean output
|
|
674
|
+
return text
|
|
675
|
+
.split('\n')
|
|
676
|
+
.map(line => {
|
|
677
|
+
// Remove prompts like "$ ", "❯ ", "claude-code> "
|
|
678
|
+
line = line.replace(/^[\$❯]\s*/, '').replace(/^claude-code>\s*/, '');
|
|
679
|
+
|
|
680
|
+
// Remove output/result comments (lines starting with # ✓)
|
|
681
|
+
if (line.trim().startsWith('# ✓') ||
|
|
682
|
+
line.trim().startsWith('# Start using') ||
|
|
683
|
+
line.trim().startsWith('# Your .claude') ||
|
|
684
|
+
line.trim().startsWith('# This will') ||
|
|
685
|
+
line.includes('Components will be installed') ||
|
|
686
|
+
line.includes('directory now contains')) {
|
|
687
|
+
return '';
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
return line;
|
|
691
|
+
})
|
|
692
|
+
.filter(line => line.trim() !== '') // Remove empty lines
|
|
693
|
+
.join('\n')
|
|
694
|
+
.trim();
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
// Initialize when DOM is loaded
|
|
699
|
+
if (document.readyState === 'loading') {
|
|
700
|
+
document.addEventListener('DOMContentLoaded', () => new CodeCopy());
|
|
701
|
+
} else {
|
|
702
|
+
new CodeCopy();
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
// Newsletter forms handler
|
|
706
|
+
function initNewsletterForm(formId, successId, errorId) {
|
|
707
|
+
const form = document.getElementById(formId);
|
|
708
|
+
const successMessage = document.getElementById(successId);
|
|
709
|
+
const errorMessage = document.getElementById(errorId);
|
|
710
|
+
|
|
711
|
+
if (!form) return;
|
|
712
|
+
|
|
713
|
+
const submitButton = form.querySelector('.newsletter-submit');
|
|
714
|
+
const submitText = submitButton.querySelector('.submit-text');
|
|
715
|
+
|
|
716
|
+
form.addEventListener('submit', (e) => {
|
|
717
|
+
// Set loading state
|
|
718
|
+
submitButton.disabled = true;
|
|
719
|
+
submitText.textContent = '...';
|
|
720
|
+
|
|
721
|
+
// Hide messages initially
|
|
722
|
+
successMessage.style.display = 'none';
|
|
723
|
+
errorMessage.style.display = 'none';
|
|
724
|
+
|
|
725
|
+
// Show success message after form submits to iframe
|
|
726
|
+
setTimeout(() => {
|
|
727
|
+
successMessage.style.display = 'block';
|
|
728
|
+
submitButton.disabled = false;
|
|
729
|
+
submitText.textContent = '→';
|
|
730
|
+
form.reset();
|
|
731
|
+
}, 1500);
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
// Initialize both newsletter forms
|
|
736
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
737
|
+
initNewsletterForm('middle-newsletter-form', 'middle-newsletter-success', 'middle-newsletter-error');
|
|
738
|
+
initNewsletterForm('end-newsletter-form', 'end-newsletter-success', 'end-newsletter-error');
|
|
739
|
+
});
|
|
740
|
+
|
|
741
|
+
// Copy Markdown functionality
|
|
742
|
+
class MarkdownCopier {
|
|
743
|
+
constructor() {
|
|
744
|
+
this.setupButton();
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
setupButton() {
|
|
748
|
+
const button = document.getElementById('copy-markdown-btn');
|
|
749
|
+
if (!button) return;
|
|
750
|
+
|
|
751
|
+
button.addEventListener('click', async () => {
|
|
752
|
+
const markdown = this.extractMarkdown();
|
|
753
|
+
|
|
754
|
+
try {
|
|
755
|
+
await navigator.clipboard.writeText(markdown);
|
|
756
|
+
|
|
757
|
+
// Update button state
|
|
758
|
+
const originalContent = button.innerHTML;
|
|
759
|
+
button.innerHTML = `
|
|
760
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
|
|
761
|
+
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
|
|
762
|
+
</svg>
|
|
763
|
+
✓
|
|
764
|
+
`;
|
|
765
|
+
button.classList.add('copied');
|
|
766
|
+
|
|
767
|
+
// Reset after 2 seconds
|
|
768
|
+
setTimeout(() => {
|
|
769
|
+
button.innerHTML = originalContent;
|
|
770
|
+
button.classList.remove('copied');
|
|
771
|
+
}, 2000);
|
|
772
|
+
|
|
773
|
+
} catch (err) {
|
|
774
|
+
console.error('Failed to copy markdown:', err);
|
|
775
|
+
}
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
extractMarkdown() {
|
|
780
|
+
const title = document.querySelector('.article-title')?.textContent || '';
|
|
781
|
+
const subtitle = document.querySelector('.article-subtitle')?.textContent || '';
|
|
782
|
+
const date = document.querySelector('time')?.textContent || '';
|
|
783
|
+
const content = document.querySelector('.article-content-full');
|
|
784
|
+
|
|
785
|
+
let markdown = `# ${title}\n\n`;
|
|
786
|
+
|
|
787
|
+
if (subtitle) {
|
|
788
|
+
markdown += `${subtitle}\n\n`;
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
if (date) {
|
|
792
|
+
markdown += `*${date}*\n\n`;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
if (!content) return markdown;
|
|
796
|
+
|
|
797
|
+
// Process content elements
|
|
798
|
+
const elements = content.children;
|
|
799
|
+
|
|
800
|
+
for (const element of elements) {
|
|
801
|
+
markdown += this.processElement(element) + '\n\n';
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
return markdown.trim();
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
processElement(element) {
|
|
808
|
+
const tagName = element.tagName.toLowerCase();
|
|
809
|
+
|
|
810
|
+
switch (tagName) {
|
|
811
|
+
case 'h2':
|
|
812
|
+
return `## ${element.textContent}`;
|
|
813
|
+
case 'h3':
|
|
814
|
+
return `### ${element.textContent}`;
|
|
815
|
+
case 'h4':
|
|
816
|
+
return `#### ${element.textContent}`;
|
|
817
|
+
case 'p':
|
|
818
|
+
return element.textContent;
|
|
819
|
+
case 'ul':
|
|
820
|
+
return this.processList(element, '-');
|
|
821
|
+
case 'ol':
|
|
822
|
+
return this.processList(element, '1.');
|
|
823
|
+
case 'table':
|
|
824
|
+
return this.processTable(element);
|
|
825
|
+
case 'pre':
|
|
826
|
+
return this.processCodeBlock(element);
|
|
827
|
+
case 'div':
|
|
828
|
+
if (element.classList.contains('code-block')) {
|
|
829
|
+
return this.processCodeBlock(element.querySelector('pre'));
|
|
830
|
+
}
|
|
831
|
+
// Skip newsletter CTAs and other divs
|
|
832
|
+
if (element.classList.contains('newsletter-cta')) {
|
|
833
|
+
return '';
|
|
834
|
+
}
|
|
835
|
+
return element.textContent || '';
|
|
836
|
+
case 'img':
|
|
837
|
+
const alt = element.getAttribute('alt') || '';
|
|
838
|
+
const src = element.getAttribute('src') || '';
|
|
839
|
+
return ``;
|
|
840
|
+
default:
|
|
841
|
+
return element.textContent || '';
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
processList(listElement, marker) {
|
|
846
|
+
const items = listElement.querySelectorAll('li');
|
|
847
|
+
return Array.from(items)
|
|
848
|
+
.map(item => `${marker} ${item.textContent}`)
|
|
849
|
+
.join('\n');
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
processTable(table) {
|
|
853
|
+
const rows = table.querySelectorAll('tr');
|
|
854
|
+
if (rows.length === 0) return '';
|
|
855
|
+
|
|
856
|
+
let markdown = '';
|
|
857
|
+
|
|
858
|
+
// Process header
|
|
859
|
+
const headerRow = rows[0];
|
|
860
|
+
const headers = headerRow.querySelectorAll('th, td');
|
|
861
|
+
const headerText = Array.from(headers).map(h => h.textContent.trim()).join(' | ');
|
|
862
|
+
markdown += `| ${headerText} |\n`;
|
|
863
|
+
|
|
864
|
+
// Add separator
|
|
865
|
+
const separator = Array.from(headers).map(() => '---').join(' | ');
|
|
866
|
+
markdown += `| ${separator} |\n`;
|
|
867
|
+
|
|
868
|
+
// Process body rows
|
|
869
|
+
for (let i = 1; i < rows.length; i++) {
|
|
870
|
+
const row = rows[i];
|
|
871
|
+
const cells = row.querySelectorAll('td, th');
|
|
872
|
+
const cellText = Array.from(cells).map(c => c.textContent.trim()).join(' | ');
|
|
873
|
+
markdown += `| ${cellText} |\n`;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
return markdown;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
processCodeBlock(preElement) {
|
|
880
|
+
if (!preElement) return '';
|
|
881
|
+
|
|
882
|
+
const code = preElement.querySelector('code');
|
|
883
|
+
const codeText = code ? code.textContent : preElement.textContent;
|
|
884
|
+
|
|
885
|
+
// Detect language from parent code-block or code element classes
|
|
886
|
+
const codeBlock = preElement.closest('.code-block');
|
|
887
|
+
let language = '';
|
|
888
|
+
|
|
889
|
+
if (codeBlock) {
|
|
890
|
+
const languageSpan = codeBlock.querySelector('.code-language');
|
|
891
|
+
if (languageSpan) {
|
|
892
|
+
language = languageSpan.textContent.toLowerCase();
|
|
893
|
+
}
|
|
894
|
+
} else if (code && code.className.includes('language-')) {
|
|
895
|
+
language = code.className.match(/language-(\w+)/)?.[1] || '';
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
return `\`\`\`${language}\n${codeText}\n\`\`\``;
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
// Initialize markdown copier
|
|
903
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
904
|
+
new MarkdownCopier();
|
|
905
|
+
});
|
|
906
|
+
</script>
|
|
907
|
+
</body>
|
|
908
|
+
</html>
|