claude-code-templates 1.21.1 β 1.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -77
- package/package.json +86 -19
- package/{cli-tool/src β src}/index.js +19 -2
- package/.claude/agents/agent-expert.md +0 -477
- package/.claude/agents/cli-ui-designer.md +0 -405
- package/.claude/agents/command-expert.md +0 -421
- package/.claude/agents/docusaurus-expert.md +0 -51
- package/.claude/agents/mcp-expert.md +0 -258
- package/.claude/commands/lint.md +0 -111
- package/.claude/commands/test.md +0 -73
- package/.claude/settings.local.json +0 -34
- package/.github/WORKFLOWS_REFERENCE.md +0 -88
- package/.github/workflows/deploy-docusaurus.yml +0 -31
- package/.github/workflows/deploy.yml +0 -33
- package/.github/workflows/publish-package.yml +0 -125
- package/.mcp.json +0 -4
- package/CLAUDE.md +0 -482
- package/CODE_OF_CONDUCT.md +0 -82
- package/CONTRIBUTING.md +0 -505
- package/DEPLOYMENT.md +0 -60
- package/LICENSE +0 -21
- package/ROADMAP.md +0 -278
- package/SECURITY.md +0 -65
- package/api/index.html +0 -1
- package/api/package.json +0 -7
- package/api/track-download-supabase.js +0 -150
- package/cli-tool/Makefile +0 -102
- package/cli-tool/README.md +0 -126
- package/cli-tool/TESTING.md +0 -262
- package/cli-tool/components/agents/ai-specialists/ai-ethics-advisor.md +0 -195
- package/cli-tool/components/agents/ai-specialists/hackathon-ai-strategist.md +0 -46
- package/cli-tool/components/agents/ai-specialists/llms-maintainer.md +0 -94
- package/cli-tool/components/agents/ai-specialists/model-evaluator.md +0 -150
- package/cli-tool/components/agents/ai-specialists/prompt-engineer.md +0 -112
- package/cli-tool/components/agents/ai-specialists/search-specialist.md +0 -59
- package/cli-tool/components/agents/ai-specialists/task-decomposition-expert.md +0 -97
- package/cli-tool/components/agents/api-graphql/graphql-architect.md +0 -208
- package/cli-tool/components/agents/api-graphql/graphql-performance-optimizer.md +0 -357
- package/cli-tool/components/agents/api-graphql/graphql-security-specialist.md +0 -519
- package/cli-tool/components/agents/blockchain-web3/smart-contract-auditor.md +0 -32
- package/cli-tool/components/agents/blockchain-web3/smart-contract-specialist.md +0 -32
- package/cli-tool/components/agents/blockchain-web3/web3-integration-specialist.md +0 -32
- package/cli-tool/components/agents/business-marketing/business-analyst.md +0 -194
- package/cli-tool/components/agents/business-marketing/content-marketer.md +0 -36
- package/cli-tool/components/agents/business-marketing/customer-support.md +0 -36
- package/cli-tool/components/agents/business-marketing/legal-advisor.md +0 -50
- package/cli-tool/components/agents/business-marketing/marketing-attribution-analyst.md +0 -352
- package/cli-tool/components/agents/business-marketing/payment-integration.md +0 -33
- package/cli-tool/components/agents/business-marketing/product-strategist.md +0 -212
- package/cli-tool/components/agents/business-marketing/risk-manager.md +0 -42
- package/cli-tool/components/agents/business-marketing/sales-automator.md +0 -36
- package/cli-tool/components/agents/data-ai/ai-engineer.md +0 -33
- package/cli-tool/components/agents/data-ai/computer-vision-engineer.md +0 -562
- package/cli-tool/components/agents/data-ai/data-engineer.md +0 -33
- package/cli-tool/components/agents/data-ai/data-scientist.md +0 -337
- package/cli-tool/components/agents/data-ai/ml-engineer.md +0 -33
- package/cli-tool/components/agents/data-ai/mlops-engineer.md +0 -58
- package/cli-tool/components/agents/data-ai/nlp-engineer.md +0 -680
- package/cli-tool/components/agents/data-ai/quant-analyst.md +0 -33
- package/cli-tool/components/agents/database/database-admin.md +0 -33
- package/cli-tool/components/agents/database/database-architect.md +0 -590
- package/cli-tool/components/agents/database/database-optimization.md +0 -33
- package/cli-tool/components/agents/database/database-optimizer.md +0 -33
- package/cli-tool/components/agents/database/nosql-specialist.md +0 -708
- package/cli-tool/components/agents/database/supabase-schema-architect.md +0 -138
- package/cli-tool/components/agents/deep-research-team/academic-researcher.md +0 -33
- package/cli-tool/components/agents/deep-research-team/agent-overview.md +0 -235
- package/cli-tool/components/agents/deep-research-team/competitive-intelligence-analyst.md +0 -530
- package/cli-tool/components/agents/deep-research-team/data-analyst.md +0 -112
- package/cli-tool/components/agents/deep-research-team/fact-checker.md +0 -553
- package/cli-tool/components/agents/deep-research-team/query-clarifier.md +0 -73
- package/cli-tool/components/agents/deep-research-team/report-generator.md +0 -108
- package/cli-tool/components/agents/deep-research-team/research-brief-generator.md +0 -108
- package/cli-tool/components/agents/deep-research-team/research-coordinator.md +0 -94
- package/cli-tool/components/agents/deep-research-team/research-orchestrator.md +0 -119
- package/cli-tool/components/agents/deep-research-team/research-synthesizer.md +0 -109
- package/cli-tool/components/agents/deep-research-team/technical-researcher.md +0 -95
- package/cli-tool/components/agents/development-team/backend-architect.md +0 -31
- package/cli-tool/components/agents/development-team/cli-ui-designer.md +0 -405
- package/cli-tool/components/agents/development-team/devops-engineer.md +0 -886
- package/cli-tool/components/agents/development-team/frontend-developer.md +0 -32
- package/cli-tool/components/agents/development-team/fullstack-developer.md +0 -1205
- package/cli-tool/components/agents/development-team/ios-developer.md +0 -36
- package/cli-tool/components/agents/development-team/mobile-developer.md +0 -33
- package/cli-tool/components/agents/development-team/ui-ux-designer.md +0 -36
- package/cli-tool/components/agents/development-tools/code-reviewer.md +0 -30
- package/cli-tool/components/agents/development-tools/command-expert.md +0 -422
- package/cli-tool/components/agents/development-tools/context-manager.md +0 -65
- package/cli-tool/components/agents/development-tools/debugger.md +0 -31
- package/cli-tool/components/agents/development-tools/dx-optimizer.md +0 -64
- package/cli-tool/components/agents/development-tools/error-detective.md +0 -33
- package/cli-tool/components/agents/development-tools/mcp-expert.md +0 -259
- package/cli-tool/components/agents/development-tools/performance-profiler.md +0 -799
- package/cli-tool/components/agents/development-tools/test-engineer.md +0 -936
- package/cli-tool/components/agents/devops-infrastructure/cloud-architect.md +0 -33
- package/cli-tool/components/agents/devops-infrastructure/deployment-engineer.md +0 -33
- package/cli-tool/components/agents/devops-infrastructure/devops-troubleshooter.md +0 -33
- package/cli-tool/components/agents/devops-infrastructure/monitoring-specialist.md +0 -36
- package/cli-tool/components/agents/devops-infrastructure/network-engineer.md +0 -33
- package/cli-tool/components/agents/devops-infrastructure/security-engineer.md +0 -971
- package/cli-tool/components/agents/devops-infrastructure/terraform-specialist.md +0 -36
- package/cli-tool/components/agents/devops-infrastructure/vercel-deployment-specialist.md +0 -357
- package/cli-tool/components/agents/documentation/api-documenter.md +0 -33
- package/cli-tool/components/agents/documentation/changelog-generator.md +0 -37
- package/cli-tool/components/agents/documentation/docusaurus-expert.md +0 -52
- package/cli-tool/components/agents/documentation/technical-writer.md +0 -37
- package/cli-tool/components/agents/expert-advisors/agent-expert.md +0 -477
- package/cli-tool/components/agents/expert-advisors/architect-review.md +0 -50
- package/cli-tool/components/agents/expert-advisors/dependency-manager.md +0 -45
- package/cli-tool/components/agents/expert-advisors/documentation-expert.md +0 -47
- package/cli-tool/components/agents/ffmpeg-clip-team/audio-mixer.md +0 -37
- package/cli-tool/components/agents/ffmpeg-clip-team/audio-quality-controller.md +0 -100
- package/cli-tool/components/agents/ffmpeg-clip-team/podcast-content-analyzer.md +0 -60
- package/cli-tool/components/agents/ffmpeg-clip-team/podcast-metadata-specialist.md +0 -46
- package/cli-tool/components/agents/ffmpeg-clip-team/podcast-transcriber.md +0 -68
- package/cli-tool/components/agents/ffmpeg-clip-team/social-media-clip-creator.md +0 -69
- package/cli-tool/components/agents/ffmpeg-clip-team/timestamp-precision-specialist.md +0 -98
- package/cli-tool/components/agents/ffmpeg-clip-team/video-editor.md +0 -37
- package/cli-tool/components/agents/game-development/3d-artist.md +0 -37
- package/cli-tool/components/agents/game-development/game-designer.md +0 -37
- package/cli-tool/components/agents/game-development/unity-game-developer.md +0 -110
- package/cli-tool/components/agents/game-development/unreal-engine-developer.md +0 -128
- package/cli-tool/components/agents/mcp-dev-team/mcp-deployment-orchestrator.md +0 -101
- package/cli-tool/components/agents/mcp-dev-team/mcp-integration-engineer.md +0 -37
- package/cli-tool/components/agents/mcp-dev-team/mcp-protocol-specialist.md +0 -37
- package/cli-tool/components/agents/mcp-dev-team/mcp-registry-navigator.md +0 -112
- package/cli-tool/components/agents/mcp-dev-team/mcp-security-auditor.md +0 -70
- package/cli-tool/components/agents/mcp-dev-team/mcp-server-architect.md +0 -74
- package/cli-tool/components/agents/mcp-dev-team/mcp-testing-engineer.md +0 -106
- package/cli-tool/components/agents/modernization/architecture-modernizer.md +0 -37
- package/cli-tool/components/agents/modernization/cloud-migration-specialist.md +0 -37
- package/cli-tool/components/agents/modernization/legacy-modernizer.md +0 -33
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/daily_notes_connector.py +0 -306
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/enhance_tag_standardizer.py +0 -343
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/find_keyword_connections.py +0 -216
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/fix_quoted_tags.py +0 -82
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/implement_entity_connections.py +0 -195
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/link_suggester.py +0 -301
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/metadata_adder.py +0 -197
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/moc_generator.py +0 -296
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/parse_keyword_connections.py +0 -122
- package/cli-tool/components/agents/obsidian-ops-team/Scripts/tag_standardizer.py +0 -387
- package/cli-tool/components/agents/obsidian-ops-team/connection-agent.md +0 -67
- package/cli-tool/components/agents/obsidian-ops-team/content-curator.md +0 -81
- package/cli-tool/components/agents/obsidian-ops-team/metadata-agent.md +0 -51
- package/cli-tool/components/agents/obsidian-ops-team/moc-agent.md +0 -112
- package/cli-tool/components/agents/obsidian-ops-team/review-agent.md +0 -94
- package/cli-tool/components/agents/obsidian-ops-team/tag-agent.md +0 -92
- package/cli-tool/components/agents/obsidian-ops-team/vault-optimizer.md +0 -76
- package/cli-tool/components/agents/ocr-extraction-team/document-structure-analyzer.md +0 -37
- package/cli-tool/components/agents/ocr-extraction-team/markdown-syntax-formatter.md +0 -58
- package/cli-tool/components/agents/ocr-extraction-team/ocr-grammar-fixer.md +0 -36
- package/cli-tool/components/agents/ocr-extraction-team/ocr-preprocessing-optimizer.md +0 -37
- package/cli-tool/components/agents/ocr-extraction-team/ocr-quality-assurance.md +0 -62
- package/cli-tool/components/agents/ocr-extraction-team/text-comparison-validator.md +0 -60
- package/cli-tool/components/agents/ocr-extraction-team/visual-analysis-ocr.md +0 -52
- package/cli-tool/components/agents/performance-testing/load-testing-specialist.md +0 -37
- package/cli-tool/components/agents/performance-testing/performance-engineer.md +0 -33
- package/cli-tool/components/agents/performance-testing/react-performance-optimization.md +0 -65
- package/cli-tool/components/agents/performance-testing/test-automator.md +0 -33
- package/cli-tool/components/agents/performance-testing/web-vitals-optimizer.md +0 -37
- package/cli-tool/components/agents/podcast-creator-team/academic-research-synthesizer.md +0 -61
- package/cli-tool/components/agents/podcast-creator-team/comprehensive-researcher.md +0 -49
- package/cli-tool/components/agents/podcast-creator-team/episode-orchestrator.md +0 -52
- package/cli-tool/components/agents/podcast-creator-team/guest-outreach-coordinator.md +0 -37
- package/cli-tool/components/agents/podcast-creator-team/market-research-analyst.md +0 -54
- package/cli-tool/components/agents/podcast-creator-team/podcast-editor.md +0 -37
- package/cli-tool/components/agents/podcast-creator-team/podcast-trend-scout.md +0 -60
- package/cli-tool/components/agents/podcast-creator-team/project-supervisor-orchestrator.md +0 -48
- package/cli-tool/components/agents/podcast-creator-team/seo-podcast-optimizer.md +0 -58
- package/cli-tool/components/agents/podcast-creator-team/social-media-copywriter.md +0 -57
- package/cli-tool/components/agents/podcast-creator-team/twitter-ai-influencer-manager.md +0 -62
- package/cli-tool/components/agents/programming-languages/c-pro.md +0 -36
- package/cli-tool/components/agents/programming-languages/c-sharp-pro.md +0 -40
- package/cli-tool/components/agents/programming-languages/cpp-pro.md +0 -39
- package/cli-tool/components/agents/programming-languages/golang-pro.md +0 -33
- package/cli-tool/components/agents/programming-languages/javascript-pro.md +0 -36
- package/cli-tool/components/agents/programming-languages/php-pro.md +0 -44
- package/cli-tool/components/agents/programming-languages/python-pro.md +0 -33
- package/cli-tool/components/agents/programming-languages/rust-pro.md +0 -36
- package/cli-tool/components/agents/programming-languages/shell-scripting-pro.md +0 -38
- package/cli-tool/components/agents/programming-languages/sql-pro.md +0 -36
- package/cli-tool/components/agents/programming-languages/typescript-pro.md +0 -38
- package/cli-tool/components/agents/realtime/supabase-realtime-optimizer.md +0 -193
- package/cli-tool/components/agents/security/api-security-audit.md +0 -93
- package/cli-tool/components/agents/security/compliance-specialist.md +0 -37
- package/cli-tool/components/agents/security/incident-responder.md +0 -75
- package/cli-tool/components/agents/security/penetration-tester.md +0 -37
- package/cli-tool/components/agents/security/security-auditor.md +0 -33
- package/cli-tool/components/agents/web-tools/nextjs-architecture-expert.md +0 -194
- package/cli-tool/components/agents/web-tools/react-performance-optimizer.md +0 -425
- package/cli-tool/components/agents/web-tools/seo-analyzer.md +0 -37
- package/cli-tool/components/agents/web-tools/url-context-validator.md +0 -61
- package/cli-tool/components/agents/web-tools/url-link-extractor.md +0 -59
- package/cli-tool/components/agents/web-tools/web-accessibility-checker.md +0 -37
- package/cli-tool/components/commands/automation/act.md +0 -57
- package/cli-tool/components/commands/automation/ci-pipeline.md +0 -378
- package/cli-tool/components/commands/automation/husky.md +0 -130
- package/cli-tool/components/commands/automation/workflow-orchestrator.md +0 -576
- package/cli-tool/components/commands/database/supabase-backup-manager.md +0 -37
- package/cli-tool/components/commands/database/supabase-data-explorer.md +0 -37
- package/cli-tool/components/commands/database/supabase-migration-assistant.md +0 -37
- package/cli-tool/components/commands/database/supabase-performance-optimizer.md +0 -37
- package/cli-tool/components/commands/database/supabase-realtime-monitor.md +0 -37
- package/cli-tool/components/commands/database/supabase-schema-sync.md +0 -37
- package/cli-tool/components/commands/database/supabase-security-audit.md +0 -37
- package/cli-tool/components/commands/database/supabase-type-generator.md +0 -37
- package/cli-tool/components/commands/deployment/add-changelog.md +0 -92
- package/cli-tool/components/commands/deployment/blue-green-deployment.md +0 -824
- package/cli-tool/components/commands/deployment/changelog-demo-command.md +0 -43
- package/cli-tool/components/commands/deployment/ci-setup.md +0 -323
- package/cli-tool/components/commands/deployment/containerize-application.md +0 -93
- package/cli-tool/components/commands/deployment/deployment-monitoring.md +0 -1228
- package/cli-tool/components/commands/deployment/hotfix-deploy.md +0 -283
- package/cli-tool/components/commands/deployment/prepare-release.md +0 -357
- package/cli-tool/components/commands/deployment/rollback-deploy.md +0 -145
- package/cli-tool/components/commands/deployment/setup-automated-releases.md +0 -143
- package/cli-tool/components/commands/deployment/setup-kubernetes-deployment.md +0 -93
- package/cli-tool/components/commands/documentation/create-architecture-documentation.md +0 -95
- package/cli-tool/components/commands/documentation/create-onboarding-guide.md +0 -93
- package/cli-tool/components/commands/documentation/doc-api.md +0 -242
- package/cli-tool/components/commands/documentation/docs-maintenance.md +0 -119
- package/cli-tool/components/commands/documentation/generate-api-documentation.md +0 -97
- package/cli-tool/components/commands/documentation/interactive-documentation.md +0 -133
- package/cli-tool/components/commands/documentation/load-llms-txt.md +0 -39
- package/cli-tool/components/commands/documentation/migration-guide.md +0 -250
- package/cli-tool/components/commands/documentation/troubleshooting-guide.md +0 -370
- package/cli-tool/components/commands/documentation/update-docs.md +0 -107
- package/cli-tool/components/commands/game-development/game-analytics-integration.md +0 -128
- package/cli-tool/components/commands/game-development/game-asset-pipeline.md +0 -108
- package/cli-tool/components/commands/game-development/game-performance-profiler.md +0 -78
- package/cli-tool/components/commands/game-development/game-testing-framework.md +0 -112
- package/cli-tool/components/commands/game-development/unity-project-setup.md +0 -190
- package/cli-tool/components/commands/git-workflow/branch-cleanup.md +0 -181
- package/cli-tool/components/commands/git-workflow/commit.md +0 -167
- package/cli-tool/components/commands/git-workflow/create-pr.md +0 -19
- package/cli-tool/components/commands/git-workflow/create-pull-request.md +0 -126
- package/cli-tool/components/commands/git-workflow/create-worktrees.md +0 -174
- package/cli-tool/components/commands/git-workflow/fix-github-issue.md +0 -13
- package/cli-tool/components/commands/git-workflow/git-bisect-helper.md +0 -261
- package/cli-tool/components/commands/git-workflow/pr-review.md +0 -76
- package/cli-tool/components/commands/git-workflow/update-branch-name.md +0 -9
- package/cli-tool/components/commands/nextjs-vercel/nextjs-api-tester.md +0 -480
- package/cli-tool/components/commands/nextjs-vercel/nextjs-bundle-analyzer.md +0 -406
- package/cli-tool/components/commands/nextjs-vercel/nextjs-component-generator.md +0 -489
- package/cli-tool/components/commands/nextjs-vercel/nextjs-middleware-creator.md +0 -712
- package/cli-tool/components/commands/nextjs-vercel/nextjs-migration-helper.md +0 -778
- package/cli-tool/components/commands/nextjs-vercel/nextjs-performance-audit.md +0 -653
- package/cli-tool/components/commands/nextjs-vercel/nextjs-scaffold.md +0 -237
- package/cli-tool/components/commands/nextjs-vercel/vercel-deploy-optimize.md +0 -341
- package/cli-tool/components/commands/nextjs-vercel/vercel-edge-function.md +0 -810
- package/cli-tool/components/commands/nextjs-vercel/vercel-env-sync.md +0 -666
- package/cli-tool/components/commands/orchestration/archive.md +0 -414
- package/cli-tool/components/commands/orchestration/commit.md +0 -305
- package/cli-tool/components/commands/orchestration/find.md +0 -272
- package/cli-tool/components/commands/orchestration/log.md +0 -355
- package/cli-tool/components/commands/orchestration/move.md +0 -220
- package/cli-tool/components/commands/orchestration/optimize.md +0 -375
- package/cli-tool/components/commands/orchestration/remove.md +0 -301
- package/cli-tool/components/commands/orchestration/report.md +0 -292
- package/cli-tool/components/commands/orchestration/resume.md +0 -256
- package/cli-tool/components/commands/orchestration/start.md +0 -169
- package/cli-tool/components/commands/orchestration/status.md +0 -219
- package/cli-tool/components/commands/orchestration/sync.md +0 -294
- package/cli-tool/components/commands/performance/add-performance-monitoring.md +0 -84
- package/cli-tool/components/commands/performance/implement-caching-strategy.md +0 -84
- package/cli-tool/components/commands/performance/optimize-api-performance.md +0 -119
- package/cli-tool/components/commands/performance/optimize-build.md +0 -139
- package/cli-tool/components/commands/performance/optimize-bundle-size.md +0 -84
- package/cli-tool/components/commands/performance/optimize-database-performance.md +0 -84
- package/cli-tool/components/commands/performance/optimize-memory-usage.md +0 -91
- package/cli-tool/components/commands/performance/performance-audit.md +0 -89
- package/cli-tool/components/commands/performance/setup-cdn-optimization.md +0 -84
- package/cli-tool/components/commands/performance/system-behavior-simulator.md +0 -415
- package/cli-tool/components/commands/project-management/add-package.md +0 -90
- package/cli-tool/components/commands/project-management/add-to-changelog.md +0 -37
- package/cli-tool/components/commands/project-management/create-feature.md +0 -130
- package/cli-tool/components/commands/project-management/create-jtbd.md +0 -37
- package/cli-tool/components/commands/project-management/create-prd.md +0 -36
- package/cli-tool/components/commands/project-management/create-prp.md +0 -37
- package/cli-tool/components/commands/project-management/init-project.md +0 -80
- package/cli-tool/components/commands/project-management/milestone-tracker.md +0 -44
- package/cli-tool/components/commands/project-management/pac-configure.md +0 -32
- package/cli-tool/components/commands/project-management/pac-create-epic.md +0 -41
- package/cli-tool/components/commands/project-management/pac-create-ticket.md +0 -42
- package/cli-tool/components/commands/project-management/pac-update-status.md +0 -39
- package/cli-tool/components/commands/project-management/pac-validate.md +0 -35
- package/cli-tool/components/commands/project-management/project-health-check.md +0 -58
- package/cli-tool/components/commands/project-management/project-timeline-simulator.md +0 -37
- package/cli-tool/components/commands/project-management/project-to-linear.md +0 -38
- package/cli-tool/components/commands/project-management/release.md +0 -31
- package/cli-tool/components/commands/project-management/todo.md +0 -62
- package/cli-tool/components/commands/security/add-authentication-system.md +0 -34
- package/cli-tool/components/commands/security/dependency-audit.md +0 -32
- package/cli-tool/components/commands/security/penetration-test.md +0 -40
- package/cli-tool/components/commands/security/secrets-scanner.md +0 -39
- package/cli-tool/components/commands/security/security-audit.md +0 -82
- package/cli-tool/components/commands/security/security-hardening.md +0 -33
- package/cli-tool/components/commands/setup/create-database-migrations.md +0 -35
- package/cli-tool/components/commands/setup/design-database-schema.md +0 -37
- package/cli-tool/components/commands/setup/design-rest-api.md +0 -37
- package/cli-tool/components/commands/setup/implement-graphql-api.md +0 -37
- package/cli-tool/components/commands/setup/migrate-to-typescript.md +0 -37
- package/cli-tool/components/commands/setup/setup-ci-cd-pipeline.md +0 -37
- package/cli-tool/components/commands/setup/setup-development-environment.md +0 -37
- package/cli-tool/components/commands/setup/setup-docker-containers.md +0 -37
- package/cli-tool/components/commands/setup/setup-formatting.md +0 -37
- package/cli-tool/components/commands/setup/setup-linting.md +0 -37
- package/cli-tool/components/commands/setup/setup-monitoring-observability.md +0 -37
- package/cli-tool/components/commands/setup/setup-monorepo.md +0 -37
- package/cli-tool/components/commands/setup/setup-rate-limiting.md +0 -37
- package/cli-tool/components/commands/setup/update-dependencies.md +0 -35
- package/cli-tool/components/commands/simulation/business-scenario-explorer.md +0 -37
- package/cli-tool/components/commands/simulation/constraint-modeler.md +0 -37
- package/cli-tool/components/commands/simulation/decision-tree-explorer.md +0 -37
- package/cli-tool/components/commands/simulation/digital-twin-creator.md +0 -37
- package/cli-tool/components/commands/simulation/future-scenario-generator.md +0 -37
- package/cli-tool/components/commands/simulation/market-response-modeler.md +0 -37
- package/cli-tool/components/commands/simulation/monte-carlo-simulator.md +0 -37
- package/cli-tool/components/commands/simulation/simulation-calibrator.md +0 -37
- package/cli-tool/components/commands/simulation/system-dynamics-modeler.md +0 -37
- package/cli-tool/components/commands/simulation/timeline-compressor.md +0 -37
- package/cli-tool/components/commands/svelte/svelte:a11y.md +0 -105
- package/cli-tool/components/commands/svelte/svelte:component.md +0 -81
- package/cli-tool/components/commands/svelte/svelte:debug.md +0 -48
- package/cli-tool/components/commands/svelte/svelte:migrate.md +0 -79
- package/cli-tool/components/commands/svelte/svelte:optimize.md +0 -99
- package/cli-tool/components/commands/svelte/svelte:scaffold.md +0 -89
- package/cli-tool/components/commands/svelte/svelte:storybook-migrate.md +0 -204
- package/cli-tool/components/commands/svelte/svelte:storybook-mock.md +0 -213
- package/cli-tool/components/commands/svelte/svelte:storybook-setup.md +0 -113
- package/cli-tool/components/commands/svelte/svelte:storybook-story.md +0 -145
- package/cli-tool/components/commands/svelte/svelte:storybook-troubleshoot.md +0 -191
- package/cli-tool/components/commands/svelte/svelte:storybook.md +0 -48
- package/cli-tool/components/commands/svelte/svelte:test-coverage.md +0 -77
- package/cli-tool/components/commands/svelte/svelte:test-fix.md +0 -74
- package/cli-tool/components/commands/svelte/svelte:test-setup.md +0 -85
- package/cli-tool/components/commands/svelte/svelte:test.md +0 -60
- package/cli-tool/components/commands/sync/bidirectional-sync.md +0 -37
- package/cli-tool/components/commands/sync/bulk-import-issues.md +0 -37
- package/cli-tool/components/commands/sync/cross-reference-manager.md +0 -37
- package/cli-tool/components/commands/sync/issue-to-linear-task.md +0 -37
- package/cli-tool/components/commands/sync/linear-task-to-issue.md +0 -37
- package/cli-tool/components/commands/sync/sync-automation-setup.md +0 -37
- package/cli-tool/components/commands/sync/sync-conflict-resolver.md +0 -37
- package/cli-tool/components/commands/sync/sync-health-monitor.md +0 -37
- package/cli-tool/components/commands/sync/sync-issues-to-linear.md +0 -37
- package/cli-tool/components/commands/sync/sync-linear-to-issues.md +0 -37
- package/cli-tool/components/commands/sync/sync-migration-assistant.md +0 -37
- package/cli-tool/components/commands/sync/sync-pr-to-task.md +0 -37
- package/cli-tool/components/commands/sync/sync-status.md +0 -391
- package/cli-tool/components/commands/sync/task-from-pr.md +0 -37
- package/cli-tool/components/commands/team/architecture-review.md +0 -37
- package/cli-tool/components/commands/team/decision-quality-analyzer.md +0 -37
- package/cli-tool/components/commands/team/dependency-mapper.md +0 -37
- package/cli-tool/components/commands/team/estimate-assistant.md +0 -37
- package/cli-tool/components/commands/team/issue-triage.md +0 -37
- package/cli-tool/components/commands/team/memory-spring-cleaning.md +0 -37
- package/cli-tool/components/commands/team/migration-assistant.md +0 -37
- package/cli-tool/components/commands/team/retrospective-analyzer.md +0 -37
- package/cli-tool/components/commands/team/session-learning-capture.md +0 -37
- package/cli-tool/components/commands/team/sprint-planning.md +0 -189
- package/cli-tool/components/commands/team/standup-report.md +0 -37
- package/cli-tool/components/commands/team/team-knowledge-mapper.md +0 -37
- package/cli-tool/components/commands/team/team-velocity-tracker.md +0 -37
- package/cli-tool/components/commands/team/team-workload-balancer.md +0 -37
- package/cli-tool/components/commands/testing/add-mutation-testing.md +0 -37
- package/cli-tool/components/commands/testing/add-property-based-testing.md +0 -37
- package/cli-tool/components/commands/testing/e2e-setup.md +0 -37
- package/cli-tool/components/commands/testing/generate-test-cases.md +0 -37
- package/cli-tool/components/commands/testing/generate-tests.md +0 -82
- package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +0 -37
- package/cli-tool/components/commands/testing/setup-load-testing.md +0 -37
- package/cli-tool/components/commands/testing/setup-visual-testing.md +0 -37
- package/cli-tool/components/commands/testing/test-automation-orchestrator.md +0 -37
- package/cli-tool/components/commands/testing/test-changelog-automation.md +0 -37
- package/cli-tool/components/commands/testing/test-coverage.md +0 -37
- package/cli-tool/components/commands/testing/test-quality-analyzer.md +0 -37
- package/cli-tool/components/commands/testing/testing_plan_integration.md +0 -37
- package/cli-tool/components/commands/testing/write-tests.md +0 -37
- package/cli-tool/components/commands/utilities/all-tools.md +0 -31
- package/cli-tool/components/commands/utilities/architecture-scenario-explorer.md +0 -375
- package/cli-tool/components/commands/utilities/check-file.md +0 -53
- package/cli-tool/components/commands/utilities/clean-branches.md +0 -243
- package/cli-tool/components/commands/utilities/clean.md +0 -1
- package/cli-tool/components/commands/utilities/code-permutation-tester.md +0 -341
- package/cli-tool/components/commands/utilities/code-review.md +0 -70
- package/cli-tool/components/commands/utilities/code-to-task.md +0 -583
- package/cli-tool/components/commands/utilities/context-prime.md +0 -1
- package/cli-tool/components/commands/utilities/debug-error.md +0 -121
- package/cli-tool/components/commands/utilities/directory-deep-dive.md +0 -34
- package/cli-tool/components/commands/utilities/explain-code.md +0 -194
- package/cli-tool/components/commands/utilities/fix-issue.md +0 -85
- package/cli-tool/components/commands/utilities/generate-linear-worklog.md +0 -113
- package/cli-tool/components/commands/utilities/git-status.md +0 -39
- package/cli-tool/components/commands/utilities/initref.md +0 -3
- package/cli-tool/components/commands/utilities/prime.md +0 -41
- package/cli-tool/components/commands/utilities/refactor-code.md +0 -116
- package/cli-tool/components/commands/utilities/ultra-think.md +0 -153
- package/cli-tool/components/hooks/HOOK_PATTERNS_COMPRESSED.json +0 -1
- package/cli-tool/components/hooks/automation/build-on-change.json +0 -16
- package/cli-tool/components/hooks/automation/dependency-checker.json +0 -16
- package/cli-tool/components/hooks/automation/deployment-health-monitor.json +0 -29
- package/cli-tool/components/hooks/automation/discord-detailed-notifications.json +0 -26
- package/cli-tool/components/hooks/automation/discord-error-notifications.json +0 -37
- package/cli-tool/components/hooks/automation/discord-notifications.json +0 -25
- package/cli-tool/components/hooks/automation/simple-notifications.json +0 -16
- package/cli-tool/components/hooks/automation/slack-detailed-notifications.json +0 -26
- package/cli-tool/components/hooks/automation/slack-error-notifications.json +0 -37
- package/cli-tool/components/hooks/automation/slack-notifications.json +0 -25
- package/cli-tool/components/hooks/automation/telegram-detailed-notifications.json +0 -26
- package/cli-tool/components/hooks/automation/telegram-error-notifications.json +0 -37
- package/cli-tool/components/hooks/automation/telegram-notifications.json +0 -25
- package/cli-tool/components/hooks/automation/vercel-auto-deploy.json +0 -17
- package/cli-tool/components/hooks/automation/vercel-environment-sync.json +0 -29
- package/cli-tool/components/hooks/development-tools/change-tracker.json +0 -25
- package/cli-tool/components/hooks/development-tools/command-logger.json +0 -16
- package/cli-tool/components/hooks/development-tools/file-backup.json +0 -16
- package/cli-tool/components/hooks/development-tools/lint-on-save.json +0 -16
- package/cli-tool/components/hooks/development-tools/nextjs-code-quality-enforcer.json +0 -17
- package/cli-tool/components/hooks/development-tools/smart-formatting.json +0 -16
- package/cli-tool/components/hooks/git-workflow/auto-git-add.json +0 -16
- package/cli-tool/components/hooks/git-workflow/smart-commit.json +0 -25
- package/cli-tool/components/hooks/performance/performance-budget-guard.json +0 -27
- package/cli-tool/components/hooks/performance/performance-monitor.json +0 -27
- package/cli-tool/components/hooks/post-tool/format-javascript-files.json +0 -16
- package/cli-tool/components/hooks/post-tool/format-python-files.json +0 -16
- package/cli-tool/components/hooks/post-tool/git-add-changes.json +0 -25
- package/cli-tool/components/hooks/post-tool/run-tests-after-changes.json +0 -16
- package/cli-tool/components/hooks/pre-tool/backup-before-edit.json +0 -16
- package/cli-tool/components/hooks/pre-tool/notify-before-bash.json +0 -16
- package/cli-tool/components/hooks/security/file-protection.json +0 -16
- package/cli-tool/components/hooks/security/security-scanner.json +0 -16
- package/cli-tool/components/hooks/testing/test-runner.json +0 -16
- package/cli-tool/components/mcps/browser_automation/browser-use-mcp-server.json +0 -20
- package/cli-tool/components/mcps/browser_automation/browsermcp.json +0 -9
- package/cli-tool/components/mcps/browser_automation/mcp-server-browserbase.json +0 -14
- package/cli-tool/components/mcps/browser_automation/mcp-server-playwright.json +0 -9
- package/cli-tool/components/mcps/browser_automation/playwright-mcp-server.json +0 -9
- package/cli-tool/components/mcps/browser_automation/playwright-mcp.json +0 -11
- package/cli-tool/components/mcps/database/mysql-integration.json +0 -12
- package/cli-tool/components/mcps/database/postgresql-integration.json +0 -12
- package/cli-tool/components/mcps/database/supabase.json +0 -17
- package/cli-tool/components/mcps/deepgraph/deepgraph-nextjs.json +0 -13
- package/cli-tool/components/mcps/deepgraph/deepgraph-react.json +0 -13
- package/cli-tool/components/mcps/deepgraph/deepgraph-typescript.json +0 -13
- package/cli-tool/components/mcps/deepgraph/deepgraph-vue.json +0 -13
- package/cli-tool/components/mcps/devtools/circleci.json +0 -13
- package/cli-tool/components/mcps/devtools/context7.json +0 -9
- package/cli-tool/components/mcps/devtools/firefly-mcp.json +0 -13
- package/cli-tool/components/mcps/devtools/ios-simulator-mcp.json +0 -9
- package/cli-tool/components/mcps/devtools/just-mcp.json +0 -9
- package/cli-tool/components/mcps/devtools/leetcode.json +0 -8
- package/cli-tool/components/mcps/devtools/mcp-server-atlassian-bitbucket.json +0 -9
- package/cli-tool/components/mcps/devtools/mcp-server-trello.json +0 -12
- package/cli-tool/components/mcps/filesystem/filesystem-access.json +0 -13
- package/cli-tool/components/mcps/integration/github-integration.json +0 -12
- package/cli-tool/components/mcps/integration/memory-integration.json +0 -9
- package/cli-tool/components/mcps/marketing/facebook-ads-mcp-server.json +0 -13
- package/cli-tool/components/mcps/marketing/google-ads-mcp-server.json +0 -11
- package/cli-tool/components/mcps/web/web-fetch.json +0 -9
- package/cli-tool/components/sandbox/README.md +0 -169
- package/cli-tool/components/sandbox/e2b/.env.example +0 -10
- package/cli-tool/components/sandbox/e2b/SANDBOX_DEBUGGING.md +0 -203
- package/cli-tool/components/sandbox/e2b/claude-code-sandbox.md +0 -110
- package/cli-tool/components/sandbox/e2b/e2b-launcher.py +0 -355
- package/cli-tool/components/sandbox/e2b/e2b-monitor.py +0 -229
- package/cli-tool/components/sandbox/e2b/requirements.txt +0 -1
- package/cli-tool/components/settings/api/bedrock-configuration.json +0 -7
- package/cli-tool/components/settings/api/corporate-proxy.json +0 -7
- package/cli-tool/components/settings/api/custom-headers.json +0 -6
- package/cli-tool/components/settings/api/vertex-configuration.json +0 -8
- package/cli-tool/components/settings/authentication/api-key-helper.json +0 -7
- package/cli-tool/components/settings/authentication/force-claudeai-login.json +0 -4
- package/cli-tool/components/settings/authentication/force-console-login.json +0 -4
- package/cli-tool/components/settings/cleanup/retention-7-days.json +0 -4
- package/cli-tool/components/settings/cleanup/retention-90-days.json +0 -4
- package/cli-tool/components/settings/environment/bash-timeouts.json +0 -8
- package/cli-tool/components/settings/environment/development-utils.json +0 -8
- package/cli-tool/components/settings/environment/performance-optimization.json +0 -8
- package/cli-tool/components/settings/environment/privacy-focused.json +0 -10
- package/cli-tool/components/settings/global/aws-credentials.json +0 -5
- package/cli-tool/components/settings/global/custom-model.json +0 -7
- package/cli-tool/components/settings/global/git-commit-settings.json +0 -4
- package/cli-tool/components/settings/mcp/disable-risky-servers.json +0 -8
- package/cli-tool/components/settings/mcp/enable-all-project-servers.json +0 -4
- package/cli-tool/components/settings/mcp/enable-specific-servers.json +0 -8
- package/cli-tool/components/settings/mcp/mcp-timeouts.json +0 -8
- package/cli-tool/components/settings/model/use-haiku.json +0 -4
- package/cli-tool/components/settings/model/use-sonnet.json +0 -4
- package/cli-tool/components/settings/permissions/additional-directories.json +0 -11
- package/cli-tool/components/settings/permissions/allow-git-operations.json +0 -14
- package/cli-tool/components/settings/permissions/allow-npm-commands.json +0 -11
- package/cli-tool/components/settings/permissions/deny-sensitive-files.json +0 -11
- package/cli-tool/components/settings/permissions/development-mode.json +0 -31
- package/cli-tool/components/settings/permissions/read-only-mode.json +0 -18
- package/cli-tool/components/settings/statusline/asset-pipeline-controller-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/bug-circus-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/code-casino-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/code-spaceship-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/colorful-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/command-statusline.json +0 -8
- package/cli-tool/components/settings/statusline/context-monitor.json +0 -7
- package/cli-tool/components/settings/statusline/context-monitor.py +0 -236
- package/cli-tool/components/settings/statusline/data-ocean-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/emotion-theater-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/game-performance-monitor-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/git-branch-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/minimal-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/multiplatform-build-status-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/productivity-rainbow-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/programmer-tamagotchi-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/programming-fitness-tracker-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/project-info-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/rpg-status-bar-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/time-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/unity-project-dashboard-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/vercel-deployment-monitor.json +0 -7
- package/cli-tool/components/settings/statusline/vercel-error-alert-system.json +0 -7
- package/cli-tool/components/settings/statusline/vercel-multi-env-status.json +0 -7
- package/cli-tool/components/settings/statusline/virtual-code-garden-statusline.json +0 -7
- package/cli-tool/components/settings/statusline/zero-config-deployment-monitor.json +0 -7
- package/cli-tool/components/settings/telemetry/custom-telemetry.json +0 -7
- package/cli-tool/components/settings/telemetry/disable-telemetry.json +0 -6
- package/cli-tool/components/settings/telemetry/enable-telemetry.json +0 -6
- package/cli-tool/docs_to_claude/ANALYTICS_STATE_DETECTION.md +0 -183
- package/cli-tool/docs_to_claude/ARCHITECTURE.md +0 -472
- package/cli-tool/docs_to_claude/BLOG_WRITING_GUIDE.md +0 -438
- package/cli-tool/docs_to_claude/CLAUDE_DATA_STRUCTURE.md +0 -400
- package/cli-tool/docs_to_claude/COMMANDS_GUIDE.md +0 -909
- package/cli-tool/docs_to_claude/CONVERSATION_STATE_IMPROVEMENTS.md +0 -154
- package/cli-tool/docs_to_claude/DEBUG_TYPING_DETECTION.md +0 -95
- package/cli-tool/docs_to_claude/DOWNLOAD_TRACKING.md +0 -291
- package/cli-tool/docs_to_claude/ENHANCED_STATE_DETECTION.md +0 -122
- package/cli-tool/docs_to_claude/HEALTH_CHECK_IMPLEMENTATION.md +0 -135
- package/cli-tool/docs_to_claude/HOOKS_GUIDE.md +0 -1249
- package/cli-tool/docs_to_claude/STATUSLINE_GUIDE.md +0 -1123
- package/cli-tool/docs_to_claude/SUBAGENTS_GUIDE.md +0 -566
- package/cli-tool/docs_to_claude/SUB_AGENTS.md +0 -329
- package/cli-tool/jest.config.js +0 -84
- package/cli-tool/package-lock.json +0 -5471
- package/cli-tool/package.json +0 -95
- package/cli-tool/templates/common/.claude/commands/git-workflow.md +0 -239
- package/cli-tool/templates/common/.claude/commands/project-setup.md +0 -316
- package/cli-tool/templates/common/.mcp.json +0 -41
- package/cli-tool/templates/common/CLAUDE.md +0 -109
- package/cli-tool/templates/common/README.md +0 -96
- package/cli-tool/templates/go/.mcp.json +0 -78
- package/cli-tool/templates/go/README.md +0 -25
- package/cli-tool/templates/javascript-typescript/.claude/commands/api-endpoint.md +0 -51
- package/cli-tool/templates/javascript-typescript/.claude/commands/debug.md +0 -52
- package/cli-tool/templates/javascript-typescript/.claude/commands/lint.md +0 -48
- package/cli-tool/templates/javascript-typescript/.claude/commands/npm-scripts.md +0 -48
- package/cli-tool/templates/javascript-typescript/.claude/commands/refactor.md +0 -55
- package/cli-tool/templates/javascript-typescript/.claude/commands/test.md +0 -61
- package/cli-tool/templates/javascript-typescript/.claude/commands/typescript-migrate.md +0 -51
- package/cli-tool/templates/javascript-typescript/.claude/settings.json +0 -142
- package/cli-tool/templates/javascript-typescript/.mcp.json +0 -80
- package/cli-tool/templates/javascript-typescript/CLAUDE.md +0 -185
- package/cli-tool/templates/javascript-typescript/README.md +0 -259
- package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/components.md +0 -63
- package/cli-tool/templates/javascript-typescript/examples/angular-app/.claude/commands/services.md +0 -62
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/api-endpoint.md +0 -46
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/database.md +0 -56
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/middleware.md +0 -61
- package/cli-tool/templates/javascript-typescript/examples/node-api/.claude/commands/route.md +0 -57
- package/cli-tool/templates/javascript-typescript/examples/node-api/CLAUDE.md +0 -102
- package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/component.md +0 -29
- package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/hooks.md +0 -44
- package/cli-tool/templates/javascript-typescript/examples/react-app/.claude/commands/state-management.md +0 -45
- package/cli-tool/templates/javascript-typescript/examples/react-app/CLAUDE.md +0 -81
- package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-performance-optimization.md +0 -530
- package/cli-tool/templates/javascript-typescript/examples/react-app/agents/react-state-management.md +0 -295
- package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/components.md +0 -46
- package/cli-tool/templates/javascript-typescript/examples/vue-app/.claude/commands/composables.md +0 -51
- package/cli-tool/templates/python/.claude/commands/lint.md +0 -111
- package/cli-tool/templates/python/.claude/commands/test.md +0 -73
- package/cli-tool/templates/python/.claude/settings.json +0 -153
- package/cli-tool/templates/python/.mcp.json +0 -78
- package/cli-tool/templates/python/CLAUDE.md +0 -276
- package/cli-tool/templates/python/examples/django-app/.claude/commands/admin.md +0 -264
- package/cli-tool/templates/python/examples/django-app/.claude/commands/django-model.md +0 -124
- package/cli-tool/templates/python/examples/django-app/.claude/commands/views.md +0 -222
- package/cli-tool/templates/python/examples/django-app/CLAUDE.md +0 -313
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/api-endpoints.md +0 -513
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/auth.md +0 -775
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/database.md +0 -657
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/deployment.md +0 -160
- package/cli-tool/templates/python/examples/fastapi-app/.claude/commands/testing.md +0 -927
- package/cli-tool/templates/python/examples/fastapi-app/CLAUDE.md +0 -229
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/app-factory.md +0 -384
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/blueprint.md +0 -243
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/database.md +0 -410
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/deployment.md +0 -620
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/flask-route.md +0 -217
- package/cli-tool/templates/python/examples/flask-app/.claude/commands/testing.md +0 -559
- package/cli-tool/templates/python/examples/flask-app/CLAUDE.md +0 -391
- package/cli-tool/templates/ruby/.claude/commands/model.md +0 -360
- package/cli-tool/templates/ruby/.claude/commands/test.md +0 -480
- package/cli-tool/templates/ruby/.claude/settings.json +0 -146
- package/cli-tool/templates/ruby/.mcp.json +0 -83
- package/cli-tool/templates/ruby/CLAUDE.md +0 -284
- package/cli-tool/templates/ruby/examples/rails-app/.claude/commands/authentication.md +0 -490
- package/cli-tool/templates/ruby/examples/rails-app/CLAUDE.md +0 -376
- package/cli-tool/templates/rust/.mcp.json +0 -78
- package/cli-tool/templates/rust/README.md +0 -26
- package/cli-tool/test-commands.sh +0 -85
- package/cli-tool/test-detailed.sh +0 -267
- package/docs/CNAME +0 -1
- package/docs/README.md +0 -49
- package/docs/_config.yml +0 -43
- package/docs/blog/assets/aitmpl-nextjs-search.png +0 -0
- package/docs/blog/assets/aitmpl-supabase-search.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 +0 -1061
- package/docs/blog/index.html +0 -239
- package/docs/blog/nextjs-vercel-claude-code-integration/index.html +0 -1021
- package/docs/blog/supabase-claude-code-integration/index.html +0 -837
- package/docs/components-metadata.json +0 -303
- package/docs/components.json +0 -4072
- package/docs/css/blog.css +0 -821
- package/docs/css/stack-page.css +0 -776
- package/docs/css/styles.css +0 -4480
- package/docs/css/trending.css +0 -971
- package/docs/css/workflows-modal.css +0 -739
- package/docs/css/workflows.css +0 -1234
- package/docs/download-stats.html +0 -514
- package/docs/index.html +0 -634
- package/docs/js/carousel.js +0 -177
- package/docs/js/cart-manager.js +0 -529
- package/docs/js/data-loader.js +0 -626
- package/docs/js/generate-search-data.js +0 -82
- package/docs/js/index-events.js +0 -1707
- package/docs/js/modal-helpers.js +0 -334
- package/docs/js/script.js +0 -2167
- package/docs/js/search-functionality.js +0 -992
- package/docs/js/stack-router.js +0 -561
- package/docs/js/trending.js +0 -493
- package/docs/js/utils.js +0 -43
- package/docs/js/workflows-events.js +0 -1146
- package/docs/js/workflows.js +0 -627
- package/docs/sandbox-interface.html +0 -1406
- package/docs/static/img/logo.svg +0 -23
- package/docs/trending-data.json +0 -579
- package/docs/trending.html +0 -179
- package/docs/workflows.html +0 -379
- package/docu/README.md +0 -41
- package/docu/docs/analytics/agent-chats-manager.md +0 -33
- package/docu/docs/analytics/analysis-tools.md +0 -54
- package/docu/docs/analytics/overview.md +0 -48
- package/docu/docs/analytics/real-time-monitoring.md +0 -16
- package/docu/docs/cli-options.md +0 -90
- package/docu/docs/components/agents.md +0 -296
- package/docu/docs/components/commands.md +0 -426
- package/docu/docs/components/discord-notifications.md +0 -59
- package/docu/docs/components/hooks.md +0 -381
- package/docu/docs/components/mcps.md +0 -510
- package/docu/docs/components/overview.md +0 -287
- package/docu/docs/components/settings.md +0 -223
- package/docu/docs/components/slack-notifications.md +0 -67
- package/docu/docs/components/telegram-notifications.md +0 -73
- package/docu/docs/contributing.md +0 -11
- package/docu/docs/health-check/overview.md +0 -33
- package/docu/docs/intro.md +0 -109
- package/docu/docs/project-setup/automation-hooks.md +0 -14
- package/docu/docs/project-setup/framework-specific-setup.md +0 -86
- package/docu/docs/project-setup/interactive-setup.md +0 -59
- package/docu/docs/project-setup/mcp-integration.md +0 -17
- package/docu/docs/project-setup/supported-languages-frameworks.md +0 -15
- package/docu/docs/project-setup/what-gets-installed.md +0 -176
- package/docu/docs/safety-features.md +0 -13
- package/docu/docs/support.md +0 -13
- package/docu/docs/usage-examples/advanced-options.md +0 -87
- package/docu/docs/usage-examples/alternative-commands.md +0 -31
- package/docu/docs/usage-examples/framework-specific-quick-setup.md +0 -47
- package/docu/docs/usage-examples/interactive-setup.md +0 -16
- package/docu/docusaurus.config.ts +0 -163
- package/docu/package-lock.json +0 -16185
- package/docu/package.json +0 -47
- package/docu/sidebars.ts +0 -85
- package/docu/src/components/HomepageFeatures/index.tsx +0 -82
- package/docu/src/components/HomepageFeatures/styles.module.css +0 -131
- package/docu/src/css/custom.css +0 -475
- package/docu/src/pages/index.module.css +0 -109
- package/docu/src/pages/index.tsx +0 -65
- package/docu/src/pages/markdown-page.md +0 -7
- package/docu/static/img/favicon.ico +0 -0
- package/docu/static/img/logo.svg +0 -23
- package/docu/tsconfig.json +0 -8
- package/generate_components_json.py +0 -199
- package/social-preview.png +0 -0
- package/vercel.json +0 -75
- /package/{cli-tool/bin β bin}/create-claude-config.js +0 -0
- /package/{cli-tool/src β src}/agents.js +0 -0
- /package/{cli-tool/src β src}/analytics/core/AgentAnalyzer.js +0 -0
- /package/{cli-tool/src β src}/analytics/core/ConversationAnalyzer.js +0 -0
- /package/{cli-tool/src β src}/analytics/core/FileWatcher.js +0 -0
- /package/{cli-tool/src β src}/analytics/core/ProcessDetector.js +0 -0
- /package/{cli-tool/src β src}/analytics/core/SessionAnalyzer.js +0 -0
- /package/{cli-tool/src β src}/analytics/core/StateCalculator.js +0 -0
- /package/{cli-tool/src β src}/analytics/data/DataCache.js +0 -0
- /package/{cli-tool/src β src}/analytics/notifications/NotificationManager.js +0 -0
- /package/{cli-tool/src β src}/analytics/notifications/WebSocketServer.js +0 -0
- /package/{cli-tool/src β src}/analytics/utils/PerformanceMonitor.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/FRONT_ARCHITECTURE.md +0 -0
- /package/{cli-tool/src β src}/analytics-web/assets/js/main.js.deprecated +0 -0
- /package/{cli-tool/src β src}/analytics-web/chats_mobile.html +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/ActivityHeatmap.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/AgentAnalytics.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/App.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/Charts.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/ConversationTable.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/DashboardPage.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/HeaderComponent.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/SessionTimer.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/Sidebar.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/components/ToolDisplay.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/index.html +0 -0
- /package/{cli-tool/src β src}/analytics-web/index.html.original +0 -0
- /package/{cli-tool/src β src}/analytics-web/services/DataService.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/services/StateService.js +0 -0
- /package/{cli-tool/src β src}/analytics-web/services/WebSocketService.js +0 -0
- /package/{cli-tool/src β src}/analytics.js +0 -0
- /package/{docu/static/.nojekyll β src/analytics.log} +0 -0
- /package/{cli-tool/src β src}/chats-mobile.js +0 -0
- /package/{cli-tool/src β src}/claude-api-proxy.js +0 -0
- /package/{cli-tool/src β src}/command-scanner.js +0 -0
- /package/{cli-tool/src β src}/command-stats.js +0 -0
- /package/{cli-tool/src β src}/console-bridge.js +0 -0
- /package/{cli-tool/src β src}/file-operations.js +0 -0
- /package/{cli-tool/src β src}/health-check.js +0 -0
- /package/{cli-tool/src β src}/hook-scanner.js +0 -0
- /package/{cli-tool/src β src}/hook-stats.js +0 -0
- /package/{cli-tool/src β src}/mcp-stats.js +0 -0
- /package/{cli-tool/src β src}/prompts.js +0 -0
- /package/{cli-tool/src β src}/sandbox-server.js +0 -0
- /package/{cli-tool/src β src}/sdk/global-agent-manager.js +0 -0
- /package/{cli-tool/src β src}/templates.js +0 -0
- /package/{cli-tool/src β src}/test-activity-data.json +0 -0
- /package/{cli-tool/src β src}/test-console-bridge.js +0 -0
- /package/{cli-tool/src β src}/tracking-service.js +0 -0
- /package/{cli-tool/src β src}/utils.js +0 -0
|
@@ -1,1123 +0,0 @@
|
|
|
1
|
-
# Complete Guide to Creating Claude Code Status Lines
|
|
2
|
-
|
|
3
|
-
This guide teaches you how to create custom status lines for Claude Code that display contextual information at the bottom of your interface, similar to terminal prompts in shells like Oh-my-zsh.
|
|
4
|
-
|
|
5
|
-
## What are Claude Code Status Lines?
|
|
6
|
-
|
|
7
|
-
Status lines are customizable information displays that appear at the bottom of the Claude Code interface. Each status line:
|
|
8
|
-
|
|
9
|
-
- **Shows contextual information** about your current session, model, directory, and project
|
|
10
|
-
- **Updates automatically** when conversation messages change (max every 300ms)
|
|
11
|
-
- **Supports ANSI colors** and emojis for rich visual formatting
|
|
12
|
-
- **Receives session data** as JSON input for dynamic content generation
|
|
13
|
-
- **Runs custom scripts** that you create and configure
|
|
14
|
-
|
|
15
|
-
## Key Benefits
|
|
16
|
-
|
|
17
|
-
### π Real-time Session Information
|
|
18
|
-
Display current model, directories, git status, and project metrics at a glance.
|
|
19
|
-
|
|
20
|
-
### π¨ Visual Customization
|
|
21
|
-
Use colors, emojis, and formatting to create informative and visually appealing status displays.
|
|
22
|
-
|
|
23
|
-
### π Dynamic Updates
|
|
24
|
-
Status line refreshes automatically as your session progresses and context changes.
|
|
25
|
-
|
|
26
|
-
### π οΈ Full Programmability
|
|
27
|
-
Write custom scripts in any language to display exactly the information you need.
|
|
28
|
-
|
|
29
|
-
### β‘ Contextual Awareness
|
|
30
|
-
Access rich session data including costs, duration, model info, and workspace details.
|
|
31
|
-
|
|
32
|
-
## Status Line Configuration
|
|
33
|
-
|
|
34
|
-
### Configuration Methods
|
|
35
|
-
|
|
36
|
-
You can set up a status line in two ways:
|
|
37
|
-
|
|
38
|
-
#### 1. Interactive Setup
|
|
39
|
-
Use the built-in command for guided setup:
|
|
40
|
-
```bash
|
|
41
|
-
/statusline
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
This will help you create a status line, often reproducing your terminal prompt by default.
|
|
45
|
-
|
|
46
|
-
**With custom instructions**:
|
|
47
|
-
```bash
|
|
48
|
-
/statusline show the model name in orange and git branch in green
|
|
49
|
-
/statusline include current time and session cost
|
|
50
|
-
/statusline make it minimal with just directory and model
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
#### 2. Manual Configuration
|
|
54
|
-
Add directly to your settings file:
|
|
55
|
-
|
|
56
|
-
**File**: `.claude/settings.json`
|
|
57
|
-
```json
|
|
58
|
-
{
|
|
59
|
-
"statusLine": {
|
|
60
|
-
"type": "command",
|
|
61
|
-
"command": "~/.claude/statusline.sh",
|
|
62
|
-
"padding": 0
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Configuration Options**:
|
|
68
|
-
- `type`: Always `"command"` (only supported type currently)
|
|
69
|
-
- `command`: Path to your status line script (absolute or relative to home directory)
|
|
70
|
-
- `padding`: Optional spacing from edges (default has padding, set to `0` for edge-to-edge)
|
|
71
|
-
|
|
72
|
-
### Settings File Locations
|
|
73
|
-
|
|
74
|
-
| Type | Location | Scope | Usage |
|
|
75
|
-
|------|----------|-------|--------|
|
|
76
|
-
| **User Settings** | `~/.claude/settings.json` | All projects | Personal status line across all projects |
|
|
77
|
-
| **Project Settings** | `.claude/settings.json` | Current project | Team-shared status line (committed) |
|
|
78
|
-
| **Local Project Settings** | `.claude/settings.local.json` | Current project | Personal project status line (not committed) |
|
|
79
|
-
|
|
80
|
-
## Session Data Input
|
|
81
|
-
|
|
82
|
-
### JSON Input Structure
|
|
83
|
-
|
|
84
|
-
Your status line script receives comprehensive session data via stdin:
|
|
85
|
-
|
|
86
|
-
```json
|
|
87
|
-
{
|
|
88
|
-
"hook_event_name": "Status",
|
|
89
|
-
"session_id": "abc123-def456-789",
|
|
90
|
-
"transcript_path": "/Users/you/.claude/projects/my-project/transcript.jsonl",
|
|
91
|
-
"cwd": "/Users/you/projects/my-project",
|
|
92
|
-
"model": {
|
|
93
|
-
"id": "claude-3-5-sonnet-20241022",
|
|
94
|
-
"display_name": "Sonnet"
|
|
95
|
-
},
|
|
96
|
-
"workspace": {
|
|
97
|
-
"current_dir": "/Users/you/projects/my-project/src",
|
|
98
|
-
"project_dir": "/Users/you/projects/my-project"
|
|
99
|
-
},
|
|
100
|
-
"version": "1.0.80",
|
|
101
|
-
"output_style": {
|
|
102
|
-
"name": "default"
|
|
103
|
-
},
|
|
104
|
-
"cost": {
|
|
105
|
-
"total_cost_usd": 0.01234,
|
|
106
|
-
"total_duration_ms": 45000,
|
|
107
|
-
"total_api_duration_ms": 2300,
|
|
108
|
-
"total_lines_added": 156,
|
|
109
|
-
"total_lines_removed": 23
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Available Data Fields
|
|
115
|
-
|
|
116
|
-
#### Model Information
|
|
117
|
-
- `model.id`: Full model identifier
|
|
118
|
-
- `model.display_name`: Human-readable model name (Sonnet, Haiku, Opus)
|
|
119
|
-
|
|
120
|
-
#### Workspace Information
|
|
121
|
-
- `workspace.current_dir`: Current working directory
|
|
122
|
-
- `workspace.project_dir`: Original project root directory
|
|
123
|
-
- `cwd`: Current working directory (same as workspace.current_dir)
|
|
124
|
-
|
|
125
|
-
#### Session Metrics
|
|
126
|
-
- `cost.total_cost_usd`: Total API cost in USD
|
|
127
|
-
- `cost.total_duration_ms`: Total session duration
|
|
128
|
-
- `cost.total_api_duration_ms`: Total API request time
|
|
129
|
-
- `cost.total_lines_added`: Lines of code added
|
|
130
|
-
- `cost.total_lines_removed`: Lines of code removed
|
|
131
|
-
|
|
132
|
-
#### Session Identity
|
|
133
|
-
- `session_id`: Unique session identifier
|
|
134
|
-
- `transcript_path`: Path to conversation transcript
|
|
135
|
-
- `version`: Claude Code version
|
|
136
|
-
- `output_style.name`: Current output style
|
|
137
|
-
|
|
138
|
-
## Complete Status Line Examples
|
|
139
|
-
|
|
140
|
-
### 1. Essential Information Display
|
|
141
|
-
|
|
142
|
-
**statusline.sh**:
|
|
143
|
-
```bash
|
|
144
|
-
#!/bin/bash
|
|
145
|
-
# Essential status line with model, directory, and git info
|
|
146
|
-
|
|
147
|
-
# Read JSON input from stdin
|
|
148
|
-
input=$(cat)
|
|
149
|
-
|
|
150
|
-
# Extract core information using jq
|
|
151
|
-
MODEL_DISPLAY=$(echo "$input" | jq -r '.model.display_name')
|
|
152
|
-
CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir')
|
|
153
|
-
PROJECT_DIR=$(echo "$input" | jq -r '.workspace.project_dir')
|
|
154
|
-
|
|
155
|
-
# Get directory name (relative to project if possible)
|
|
156
|
-
if [[ "$CURRENT_DIR" == "$PROJECT_DIR"* ]]; then
|
|
157
|
-
REL_DIR="${CURRENT_DIR#$PROJECT_DIR}"
|
|
158
|
-
REL_DIR="${REL_DIR#/}"
|
|
159
|
-
DISPLAY_DIR="${REL_DIR:-$(basename "$PROJECT_DIR")}"
|
|
160
|
-
else
|
|
161
|
-
DISPLAY_DIR=$(basename "$CURRENT_DIR")
|
|
162
|
-
fi
|
|
163
|
-
|
|
164
|
-
# Git branch information
|
|
165
|
-
GIT_INFO=""
|
|
166
|
-
if git rev-parse --git-dir > /dev/null 2>&1; then
|
|
167
|
-
BRANCH=$(git branch --show-current 2>/dev/null)
|
|
168
|
-
if [ -n "$BRANCH" ]; then
|
|
169
|
-
# Check for uncommitted changes
|
|
170
|
-
if ! git diff-index --quiet HEAD -- 2>/dev/null; then
|
|
171
|
-
GIT_STATUS="Β±"
|
|
172
|
-
else
|
|
173
|
-
GIT_STATUS="β"
|
|
174
|
-
fi
|
|
175
|
-
GIT_INFO=" \033[32mπΏ $BRANCH$GIT_STATUS\033[0m"
|
|
176
|
-
fi
|
|
177
|
-
fi
|
|
178
|
-
|
|
179
|
-
# Output with colors
|
|
180
|
-
echo -e "\033[94m[$MODEL_DISPLAY]\033[0m \033[93mπ $DISPLAY_DIR\033[0m$GIT_INFO"
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### 2. Comprehensive Development Status
|
|
184
|
-
|
|
185
|
-
**dev-statusline.py**:
|
|
186
|
-
```python
|
|
187
|
-
#!/usr/bin/env python3
|
|
188
|
-
import json
|
|
189
|
-
import sys
|
|
190
|
-
import os
|
|
191
|
-
import subprocess
|
|
192
|
-
from datetime import datetime, timedelta
|
|
193
|
-
|
|
194
|
-
def get_git_info():
|
|
195
|
-
"""Get comprehensive git information"""
|
|
196
|
-
if not os.path.exists('.git'):
|
|
197
|
-
return ""
|
|
198
|
-
|
|
199
|
-
try:
|
|
200
|
-
# Current branch
|
|
201
|
-
branch = subprocess.check_output(['git', 'branch', '--show-current'],
|
|
202
|
-
stderr=subprocess.DEVNULL).decode().strip()
|
|
203
|
-
if not branch:
|
|
204
|
-
return ""
|
|
205
|
-
|
|
206
|
-
# Check for changes
|
|
207
|
-
status_cmd = ['git', 'status', '--porcelain']
|
|
208
|
-
status_output = subprocess.check_output(status_cmd, stderr=subprocess.DEVNULL).decode().strip()
|
|
209
|
-
|
|
210
|
-
if status_output:
|
|
211
|
-
# Count changes
|
|
212
|
-
lines = status_output.split('\n')
|
|
213
|
-
modified = sum(1 for line in lines if line.startswith(' M'))
|
|
214
|
-
added = sum(1 for line in lines if line.startswith('A'))
|
|
215
|
-
deleted = sum(1 for line in lines if line.startswith(' D'))
|
|
216
|
-
untracked = sum(1 for line in lines if line.startswith('??'))
|
|
217
|
-
|
|
218
|
-
changes = []
|
|
219
|
-
if modified: changes.append(f"~{modified}")
|
|
220
|
-
if added: changes.append(f"+{added}")
|
|
221
|
-
if deleted: changes.append(f"-{deleted}")
|
|
222
|
-
if untracked: changes.append(f"?{untracked}")
|
|
223
|
-
|
|
224
|
-
status_indicator = f"({','.join(changes)})" if changes else "Β±"
|
|
225
|
-
else:
|
|
226
|
-
status_indicator = "β"
|
|
227
|
-
|
|
228
|
-
return f" \033[32mπΏ {branch}{status_indicator}\033[0m"
|
|
229
|
-
|
|
230
|
-
except subprocess.CalledProcessError:
|
|
231
|
-
return ""
|
|
232
|
-
|
|
233
|
-
def format_duration(ms):
|
|
234
|
-
"""Format duration in human readable format"""
|
|
235
|
-
seconds = ms / 1000
|
|
236
|
-
if seconds < 60:
|
|
237
|
-
return f"{seconds:.0f}s"
|
|
238
|
-
elif seconds < 3600:
|
|
239
|
-
minutes = seconds / 60
|
|
240
|
-
return f"{minutes:.1f}m"
|
|
241
|
-
else:
|
|
242
|
-
hours = seconds / 3600
|
|
243
|
-
return f"{hours:.1f}h"
|
|
244
|
-
|
|
245
|
-
def format_cost(cost_usd):
|
|
246
|
-
"""Format cost in readable format"""
|
|
247
|
-
if cost_usd < 0.01:
|
|
248
|
-
return f"{cost_usd*100:.1f}Β’"
|
|
249
|
-
else:
|
|
250
|
-
return f"${cost_usd:.3f}"
|
|
251
|
-
|
|
252
|
-
def get_node_version():
|
|
253
|
-
"""Get Node.js version if available"""
|
|
254
|
-
try:
|
|
255
|
-
if os.path.exists('package.json'):
|
|
256
|
-
version = subprocess.check_output(['node', '--version'],
|
|
257
|
-
stderr=subprocess.DEVNULL).decode().strip()
|
|
258
|
-
return f" \033[32m⬒ {version}\033[0m"
|
|
259
|
-
except (subprocess.CalledProcessError, FileNotFoundError):
|
|
260
|
-
pass
|
|
261
|
-
return ""
|
|
262
|
-
|
|
263
|
-
def get_python_version():
|
|
264
|
-
"""Get Python version if available"""
|
|
265
|
-
try:
|
|
266
|
-
if os.path.exists('requirements.txt') or os.path.exists('pyproject.toml'):
|
|
267
|
-
version = subprocess.check_output(['python', '--version'],
|
|
268
|
-
stderr=subprocess.DEVNULL).decode().strip()
|
|
269
|
-
version = version.replace('Python ', '')
|
|
270
|
-
return f" \033[33mπ {version}\033[0m"
|
|
271
|
-
except (subprocess.CalledProcessError, FileNotFoundError):
|
|
272
|
-
pass
|
|
273
|
-
return ""
|
|
274
|
-
|
|
275
|
-
def main():
|
|
276
|
-
# Read JSON from stdin
|
|
277
|
-
data = json.load(sys.stdin)
|
|
278
|
-
|
|
279
|
-
# Extract basic information
|
|
280
|
-
model = data['model']['display_name']
|
|
281
|
-
current_dir = data['workspace']['current_dir']
|
|
282
|
-
project_dir = data['workspace']['project_dir']
|
|
283
|
-
|
|
284
|
-
# Calculate relative directory
|
|
285
|
-
if current_dir.startswith(project_dir):
|
|
286
|
-
rel_dir = current_dir[len(project_dir):].lstrip('/')
|
|
287
|
-
display_dir = rel_dir if rel_dir else os.path.basename(project_dir)
|
|
288
|
-
else:
|
|
289
|
-
display_dir = os.path.basename(current_dir)
|
|
290
|
-
|
|
291
|
-
# Session metrics
|
|
292
|
-
cost = data['cost']
|
|
293
|
-
duration_str = format_duration(cost['total_duration_ms'])
|
|
294
|
-
cost_str = format_cost(cost['total_cost_usd'])
|
|
295
|
-
|
|
296
|
-
# Lines changed
|
|
297
|
-
lines_info = ""
|
|
298
|
-
if cost['total_lines_added'] > 0 or cost['total_lines_removed'] > 0:
|
|
299
|
-
lines_info = f" \033[36mπ +{cost['total_lines_added']}/-{cost['total_lines_removed']}\033[0m"
|
|
300
|
-
|
|
301
|
-
# Build status line
|
|
302
|
-
status_parts = [
|
|
303
|
-
f"\033[94m[{model}]\033[0m",
|
|
304
|
-
f"\033[93mπ {display_dir}\033[0m",
|
|
305
|
-
get_git_info(),
|
|
306
|
-
get_node_version(),
|
|
307
|
-
get_python_version(),
|
|
308
|
-
lines_info,
|
|
309
|
-
f"\033[90mβ± {duration_str} β’ {cost_str}\033[0m"
|
|
310
|
-
]
|
|
311
|
-
|
|
312
|
-
# Filter empty parts and join
|
|
313
|
-
status_line = "".join(part for part in status_parts if part.strip())
|
|
314
|
-
print(status_line)
|
|
315
|
-
|
|
316
|
-
if __name__ == "__main__":
|
|
317
|
-
main()
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
### 3. Minimal Clean Status
|
|
321
|
-
|
|
322
|
-
**minimal-statusline.sh**:
|
|
323
|
-
```bash
|
|
324
|
-
#!/bin/bash
|
|
325
|
-
# Minimal, clean status line
|
|
326
|
-
|
|
327
|
-
input=$(cat)
|
|
328
|
-
|
|
329
|
-
# Extract essentials
|
|
330
|
-
MODEL=$(echo "$input" | jq -r '.model.display_name')
|
|
331
|
-
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
|
|
332
|
-
DIR_NAME=$(basename "$DIR")
|
|
333
|
-
|
|
334
|
-
# Simple git branch
|
|
335
|
-
BRANCH=""
|
|
336
|
-
if git rev-parse --git-dir > /dev/null 2>&1; then
|
|
337
|
-
BRANCH_NAME=$(git branch --show-current 2>/dev/null)
|
|
338
|
-
if [ -n "$BRANCH_NAME" ]; then
|
|
339
|
-
BRANCH=" β’ $BRANCH_NAME"
|
|
340
|
-
fi
|
|
341
|
-
fi
|
|
342
|
-
|
|
343
|
-
echo "$MODEL β’ $DIR_NAME$BRANCH"
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### 4. Performance-Focused Status
|
|
347
|
-
|
|
348
|
-
**performance-statusline.js**:
|
|
349
|
-
```javascript
|
|
350
|
-
#!/usr/bin/env node
|
|
351
|
-
|
|
352
|
-
const fs = require('fs');
|
|
353
|
-
const path = require('path');
|
|
354
|
-
const { execSync } = require('child_process');
|
|
355
|
-
|
|
356
|
-
// Read JSON from stdin
|
|
357
|
-
let input = '';
|
|
358
|
-
process.stdin.on('data', chunk => input += chunk);
|
|
359
|
-
process.stdin.on('end', () => {
|
|
360
|
-
try {
|
|
361
|
-
const data = JSON.parse(input);
|
|
362
|
-
|
|
363
|
-
// Extract information
|
|
364
|
-
const model = data.model.display_name;
|
|
365
|
-
const currentDir = data.workspace.current_dir;
|
|
366
|
-
const projectDir = data.workspace.project_dir;
|
|
367
|
-
const cost = data.cost;
|
|
368
|
-
|
|
369
|
-
// Calculate directory display
|
|
370
|
-
const displayDir = currentDir.startsWith(projectDir)
|
|
371
|
-
? currentDir.slice(projectDir.length + 1) || path.basename(projectDir)
|
|
372
|
-
: path.basename(currentDir);
|
|
373
|
-
|
|
374
|
-
// Performance metrics
|
|
375
|
-
const avgResponseTime = cost.total_api_duration_ms / Math.max(1, cost.total_duration_ms / 10000);
|
|
376
|
-
const efficiency = cost.total_lines_added / Math.max(0.01, cost.total_cost_usd * 100);
|
|
377
|
-
|
|
378
|
-
// Git status (cached for performance)
|
|
379
|
-
let gitInfo = '';
|
|
380
|
-
try {
|
|
381
|
-
if (fs.existsSync('.git/HEAD')) {
|
|
382
|
-
const headContent = fs.readFileSync('.git/HEAD', 'utf8').trim();
|
|
383
|
-
if (headContent.startsWith('ref: refs/heads/')) {
|
|
384
|
-
const branch = headContent.replace('ref: refs/heads/', '');
|
|
385
|
-
gitInfo = ` \x1b[32mβ ${branch}\x1b[0m`;
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
} catch (e) {
|
|
389
|
-
// Ignore git errors
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
// Build status with performance focus
|
|
393
|
-
const parts = [
|
|
394
|
-
`\x1b[94m[${model}]\x1b[0m`,
|
|
395
|
-
`\x1b[93mπ ${displayDir}\x1b[0m`,
|
|
396
|
-
gitInfo,
|
|
397
|
-
`\x1b[36mβ‘ ${efficiency.toFixed(0)} lines/Β’\x1b[0m`,
|
|
398
|
-
`\x1b[90m${avgResponseTime.toFixed(0)}ms avg\x1b[0m`
|
|
399
|
-
];
|
|
400
|
-
|
|
401
|
-
console.log(parts.filter(p => p.trim()).join(' '));
|
|
402
|
-
|
|
403
|
-
} catch (error) {
|
|
404
|
-
console.log(`[Status Error] ${error.message}`);
|
|
405
|
-
}
|
|
406
|
-
});
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
### 5. Project-Aware Status Line
|
|
410
|
-
|
|
411
|
-
**project-statusline.py**:
|
|
412
|
-
```python
|
|
413
|
-
#!/usr/bin/env python3
|
|
414
|
-
import json
|
|
415
|
-
import sys
|
|
416
|
-
import os
|
|
417
|
-
import subprocess
|
|
418
|
-
from pathlib import Path
|
|
419
|
-
|
|
420
|
-
def detect_project_type():
|
|
421
|
-
"""Detect project type and return appropriate icon and info"""
|
|
422
|
-
if os.path.exists('package.json'):
|
|
423
|
-
with open('package.json', 'r') as f:
|
|
424
|
-
try:
|
|
425
|
-
package = json.load(f)
|
|
426
|
-
framework = ""
|
|
427
|
-
if 'react' in str(package.get('dependencies', {})):
|
|
428
|
-
framework = "βοΈ"
|
|
429
|
-
elif 'vue' in str(package.get('dependencies', {})):
|
|
430
|
-
framework = "π"
|
|
431
|
-
elif 'angular' in str(package.get('dependencies', {})):
|
|
432
|
-
framework = "π
°οΈ"
|
|
433
|
-
elif 'express' in str(package.get('dependencies', {})):
|
|
434
|
-
framework = "π"
|
|
435
|
-
else:
|
|
436
|
-
framework = "π¦"
|
|
437
|
-
|
|
438
|
-
name = package.get('name', 'unknown')
|
|
439
|
-
version = package.get('version', '0.0.0')
|
|
440
|
-
return f"{framework} {name}@{version}"
|
|
441
|
-
except:
|
|
442
|
-
return "π¦ Node.js"
|
|
443
|
-
|
|
444
|
-
elif os.path.exists('Cargo.toml'):
|
|
445
|
-
try:
|
|
446
|
-
with open('Cargo.toml', 'r') as f:
|
|
447
|
-
content = f.read()
|
|
448
|
-
# Simple parsing for name and version
|
|
449
|
-
name = "rust-project"
|
|
450
|
-
version = "0.1.0"
|
|
451
|
-
for line in content.split('\n'):
|
|
452
|
-
if line.strip().startswith('name ='):
|
|
453
|
-
name = line.split('=')[1].strip().strip('"')
|
|
454
|
-
elif line.strip().startswith('version ='):
|
|
455
|
-
version = line.split('=')[1].strip().strip('"')
|
|
456
|
-
return f"π¦ {name}@{version}"
|
|
457
|
-
except:
|
|
458
|
-
return "π¦ Rust"
|
|
459
|
-
|
|
460
|
-
elif os.path.exists('go.mod'):
|
|
461
|
-
try:
|
|
462
|
-
with open('go.mod', 'r') as f:
|
|
463
|
-
first_line = f.readline().strip()
|
|
464
|
-
if first_line.startswith('module '):
|
|
465
|
-
module_name = first_line.split(' ')[1].split('/')[-1]
|
|
466
|
-
return f"πΉ {module_name}"
|
|
467
|
-
except:
|
|
468
|
-
return "πΉ Go"
|
|
469
|
-
|
|
470
|
-
elif os.path.exists('pyproject.toml') or os.path.exists('requirements.txt'):
|
|
471
|
-
if os.path.exists('pyproject.toml'):
|
|
472
|
-
try:
|
|
473
|
-
import toml
|
|
474
|
-
with open('pyproject.toml', 'r') as f:
|
|
475
|
-
data = toml.load(f)
|
|
476
|
-
name = data.get('project', {}).get('name', 'python-project')
|
|
477
|
-
version = data.get('project', {}).get('version', '0.1.0')
|
|
478
|
-
return f"π {name}@{version}"
|
|
479
|
-
except:
|
|
480
|
-
return "π Python"
|
|
481
|
-
else:
|
|
482
|
-
return "π Python"
|
|
483
|
-
|
|
484
|
-
elif os.path.exists('pom.xml'):
|
|
485
|
-
return "β Java/Maven"
|
|
486
|
-
|
|
487
|
-
elif os.path.exists('build.gradle') or os.path.exists('build.gradle.kts'):
|
|
488
|
-
return "β Java/Gradle"
|
|
489
|
-
|
|
490
|
-
elif os.path.exists('Gemfile'):
|
|
491
|
-
return "π Ruby"
|
|
492
|
-
|
|
493
|
-
elif os.path.exists('composer.json'):
|
|
494
|
-
return "π PHP"
|
|
495
|
-
|
|
496
|
-
return "π Generic"
|
|
497
|
-
|
|
498
|
-
def get_testing_status():
|
|
499
|
-
"""Check testing status"""
|
|
500
|
-
test_files = []
|
|
501
|
-
for pattern in ['*test*', '*spec*', 'tests/', '__tests__/', 'test/']:
|
|
502
|
-
test_files.extend(Path('.').glob(pattern))
|
|
503
|
-
|
|
504
|
-
if test_files:
|
|
505
|
-
return " \033[32mπ§ͺ\033[0m"
|
|
506
|
-
return ""
|
|
507
|
-
|
|
508
|
-
def get_docker_status():
|
|
509
|
-
"""Check if Docker is configured"""
|
|
510
|
-
if os.path.exists('Dockerfile') or os.path.exists('docker-compose.yml'):
|
|
511
|
-
return " \033[36mπ³\033[0m"
|
|
512
|
-
return ""
|
|
513
|
-
|
|
514
|
-
def get_ci_status():
|
|
515
|
-
"""Check CI configuration"""
|
|
516
|
-
ci_files = ['.github/workflows/', '.gitlab-ci.yml', '.travis.yml', 'Jenkinsfile']
|
|
517
|
-
for ci_file in ci_files:
|
|
518
|
-
if os.path.exists(ci_file):
|
|
519
|
-
return " \033[35mπ\033[0m"
|
|
520
|
-
return ""
|
|
521
|
-
|
|
522
|
-
def main():
|
|
523
|
-
data = json.load(sys.stdin)
|
|
524
|
-
|
|
525
|
-
# Basic info
|
|
526
|
-
model = data['model']['display_name']
|
|
527
|
-
current_dir = data['workspace']['current_dir']
|
|
528
|
-
project_dir = data['workspace']['project_dir']
|
|
529
|
-
|
|
530
|
-
# Directory display
|
|
531
|
-
if current_dir.startswith(project_dir):
|
|
532
|
-
rel_dir = current_dir[len(project_dir):].lstrip('/')
|
|
533
|
-
display_dir = rel_dir if rel_dir else os.path.basename(project_dir)
|
|
534
|
-
else:
|
|
535
|
-
display_dir = os.path.basename(current_dir)
|
|
536
|
-
|
|
537
|
-
# Project detection
|
|
538
|
-
project_info = detect_project_type()
|
|
539
|
-
|
|
540
|
-
# Git info
|
|
541
|
-
git_info = ""
|
|
542
|
-
if os.path.exists('.git'):
|
|
543
|
-
try:
|
|
544
|
-
branch = subprocess.check_output(['git', 'branch', '--show-current'],
|
|
545
|
-
stderr=subprocess.DEVNULL).decode().strip()
|
|
546
|
-
if branch:
|
|
547
|
-
git_info = f" \033[32mπΏ {branch}\033[0m"
|
|
548
|
-
except:
|
|
549
|
-
pass
|
|
550
|
-
|
|
551
|
-
# Additional status indicators
|
|
552
|
-
test_status = get_testing_status()
|
|
553
|
-
docker_status = get_docker_status()
|
|
554
|
-
ci_status = get_ci_status()
|
|
555
|
-
|
|
556
|
-
# Session cost
|
|
557
|
-
cost_str = f"${data['cost']['total_cost_usd']:.3f}" if data['cost']['total_cost_usd'] >= 0.001 else f"{data['cost']['total_cost_usd']*100:.1f}Β’"
|
|
558
|
-
|
|
559
|
-
# Build final status
|
|
560
|
-
status = f"\033[94m[{model}]\033[0m \033[93m{project_info}\033[0m{git_info}{test_status}{docker_status}{ci_status} \033[90m{cost_str}\033[0m"
|
|
561
|
-
print(status)
|
|
562
|
-
|
|
563
|
-
if __name__ == "__main__":
|
|
564
|
-
main()
|
|
565
|
-
```
|
|
566
|
-
|
|
567
|
-
### 6. Time and Productivity Status
|
|
568
|
-
|
|
569
|
-
**productivity-statusline.sh**:
|
|
570
|
-
```bash
|
|
571
|
-
#!/bin/bash
|
|
572
|
-
# Productivity-focused status line with time tracking
|
|
573
|
-
|
|
574
|
-
input=$(cat)
|
|
575
|
-
|
|
576
|
-
# Basic info
|
|
577
|
-
MODEL=$(echo "$input" | jq -r '.model.display_name')
|
|
578
|
-
DIR=$(echo "$input" | jq -r '.workspace.current_dir' | xargs basename)
|
|
579
|
-
|
|
580
|
-
# Session metrics
|
|
581
|
-
DURATION_MS=$(echo "$input" | jq -r '.cost.total_duration_ms')
|
|
582
|
-
LINES_ADDED=$(echo "$input" | jq -r '.cost.total_lines_added')
|
|
583
|
-
LINES_REMOVED=$(echo "$input" | jq -r '.cost.total_lines_removed')
|
|
584
|
-
COST=$(echo "$input" | jq -r '.cost.total_cost_usd')
|
|
585
|
-
|
|
586
|
-
# Format duration
|
|
587
|
-
if [ "$DURATION_MS" -gt 0 ]; then
|
|
588
|
-
DURATION_SEC=$((DURATION_MS / 1000))
|
|
589
|
-
if [ $DURATION_SEC -lt 60 ]; then
|
|
590
|
-
DURATION="${DURATION_SEC}s"
|
|
591
|
-
elif [ $DURATION_SEC -lt 3600 ]; then
|
|
592
|
-
DURATION="$((DURATION_SEC / 60))m"
|
|
593
|
-
else
|
|
594
|
-
DURATION="$((DURATION_SEC / 3600))h$((($DURATION_SEC % 3600) / 60))m"
|
|
595
|
-
fi
|
|
596
|
-
else
|
|
597
|
-
DURATION="0s"
|
|
598
|
-
fi
|
|
599
|
-
|
|
600
|
-
# Productivity metrics
|
|
601
|
-
NET_LINES=$((LINES_ADDED - LINES_REMOVED))
|
|
602
|
-
if [ $NET_LINES -gt 0 ]; then
|
|
603
|
-
PRODUCTIVITY_COLOR="\033[32m"
|
|
604
|
-
PRODUCTIVITY_SYMBOL="+"
|
|
605
|
-
elif [ $NET_LINES -lt 0 ]; then
|
|
606
|
-
PRODUCTIVITY_COLOR="\033[31m"
|
|
607
|
-
PRODUCTIVITY_SYMBOL=""
|
|
608
|
-
else
|
|
609
|
-
PRODUCTIVITY_COLOR="\033[33m"
|
|
610
|
-
PRODUCTIVITY_SYMBOL=""
|
|
611
|
-
fi
|
|
612
|
-
|
|
613
|
-
# Cost formatting
|
|
614
|
-
if (( $(echo "$COST < 0.01" | bc -l) )); then
|
|
615
|
-
COST_DISPLAY=$(echo "$COST * 100" | bc -l | cut -d. -f1)Β’
|
|
616
|
-
else
|
|
617
|
-
COST_DISPLAY=\$$(printf "%.3f" "$COST")
|
|
618
|
-
fi
|
|
619
|
-
|
|
620
|
-
# Current time
|
|
621
|
-
CURRENT_TIME=$(date "+%H:%M")
|
|
622
|
-
|
|
623
|
-
# Build status line
|
|
624
|
-
echo -e "[$MODEL] π $DIR | β° $CURRENT_TIME | β± $DURATION | ${PRODUCTIVITY_COLOR}π ${PRODUCTIVITY_SYMBOL}${NET_LINES}\033[0m | π° $COST_DISPLAY"
|
|
625
|
-
```
|
|
626
|
-
|
|
627
|
-
## Advanced Status Line Techniques
|
|
628
|
-
|
|
629
|
-
### 1. Caching for Performance
|
|
630
|
-
|
|
631
|
-
```bash
|
|
632
|
-
#!/bin/bash
|
|
633
|
-
# Status line with caching for expensive operations
|
|
634
|
-
|
|
635
|
-
CACHE_DIR="$HOME/.claude/statusline_cache"
|
|
636
|
-
mkdir -p "$CACHE_DIR"
|
|
637
|
-
|
|
638
|
-
# Cache expensive git operations
|
|
639
|
-
get_git_info_cached() {
|
|
640
|
-
local cache_file="$CACHE_DIR/git_info_$(pwd | sed 's/\//_/g')"
|
|
641
|
-
local cache_timeout=5 # seconds
|
|
642
|
-
|
|
643
|
-
if [[ -f "$cache_file" && $(($(date +%s) - $(stat -f %m "$cache_file" 2>/dev/null || echo 0))) -lt $cache_timeout ]]; then
|
|
644
|
-
cat "$cache_file"
|
|
645
|
-
else
|
|
646
|
-
local git_info=""
|
|
647
|
-
if git rev-parse --git-dir > /dev/null 2>&1; then
|
|
648
|
-
local branch=$(git branch --show-current 2>/dev/null)
|
|
649
|
-
local status="β"
|
|
650
|
-
if ! git diff-index --quiet HEAD -- 2>/dev/null; then
|
|
651
|
-
status="Β±"
|
|
652
|
-
fi
|
|
653
|
-
git_info=" πΏ $branch$status"
|
|
654
|
-
fi
|
|
655
|
-
echo "$git_info" > "$cache_file"
|
|
656
|
-
echo "$git_info"
|
|
657
|
-
fi
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
# Use cached functions in your status line
|
|
661
|
-
input=$(cat)
|
|
662
|
-
MODEL=$(echo "$input" | jq -r '.model.display_name')
|
|
663
|
-
DIR=$(echo "$input" | jq -r '.workspace.current_dir' | xargs basename)
|
|
664
|
-
GIT_INFO=$(get_git_info_cached)
|
|
665
|
-
|
|
666
|
-
echo "[$MODEL] π $DIR$GIT_INFO"
|
|
667
|
-
```
|
|
668
|
-
|
|
669
|
-
### 2. Dynamic Color Schemes
|
|
670
|
-
|
|
671
|
-
```python
|
|
672
|
-
#!/usr/bin/env python3
|
|
673
|
-
# Status line with dynamic colors based on context
|
|
674
|
-
|
|
675
|
-
import json
|
|
676
|
-
import sys
|
|
677
|
-
import os
|
|
678
|
-
|
|
679
|
-
# Color schemes
|
|
680
|
-
COLORS = {
|
|
681
|
-
'production': {
|
|
682
|
-
'model': '\033[91m', # Red for production
|
|
683
|
-
'directory': '\033[93m',
|
|
684
|
-
'git': '\033[92m',
|
|
685
|
-
'reset': '\033[0m'
|
|
686
|
-
},
|
|
687
|
-
'staging': {
|
|
688
|
-
'model': '\033[93m', # Yellow for staging
|
|
689
|
-
'directory': '\033[94m',
|
|
690
|
-
'git': '\033[92m',
|
|
691
|
-
'reset': '\033[0m'
|
|
692
|
-
},
|
|
693
|
-
'development': {
|
|
694
|
-
'model': '\033[94m', # Blue for development
|
|
695
|
-
'directory': '\033[95m',
|
|
696
|
-
'git': '\033[92m',
|
|
697
|
-
'reset': '\033[0m'
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
def detect_environment():
|
|
702
|
-
"""Detect environment based on various indicators"""
|
|
703
|
-
# Check environment variables
|
|
704
|
-
env = os.environ.get('NODE_ENV', '').lower()
|
|
705
|
-
if env in ['production', 'prod']:
|
|
706
|
-
return 'production'
|
|
707
|
-
elif env in ['staging', 'stage']:
|
|
708
|
-
return 'staging'
|
|
709
|
-
|
|
710
|
-
# Check for environment files
|
|
711
|
-
if os.path.exists('.env.production'):
|
|
712
|
-
return 'production'
|
|
713
|
-
elif os.path.exists('.env.staging'):
|
|
714
|
-
return 'staging'
|
|
715
|
-
|
|
716
|
-
# Check git branch
|
|
717
|
-
try:
|
|
718
|
-
import subprocess
|
|
719
|
-
branch = subprocess.check_output(['git', 'branch', '--show-current'],
|
|
720
|
-
stderr=subprocess.DEVNULL).decode().strip()
|
|
721
|
-
if branch in ['main', 'master', 'production']:
|
|
722
|
-
return 'production'
|
|
723
|
-
elif branch in ['staging', 'stage']:
|
|
724
|
-
return 'staging'
|
|
725
|
-
except:
|
|
726
|
-
pass
|
|
727
|
-
|
|
728
|
-
return 'development'
|
|
729
|
-
|
|
730
|
-
def main():
|
|
731
|
-
data = json.load(sys.stdin)
|
|
732
|
-
|
|
733
|
-
# Detect environment and get colors
|
|
734
|
-
env = detect_environment()
|
|
735
|
-
colors = COLORS[env]
|
|
736
|
-
|
|
737
|
-
# Extract data
|
|
738
|
-
model = data['model']['display_name']
|
|
739
|
-
current_dir = os.path.basename(data['workspace']['current_dir'])
|
|
740
|
-
|
|
741
|
-
# Environment indicator
|
|
742
|
-
env_indicator = {
|
|
743
|
-
'production': 'π΄ PROD',
|
|
744
|
-
'staging': 'π‘ STAGE',
|
|
745
|
-
'development': 'π’ DEV'
|
|
746
|
-
}[env]
|
|
747
|
-
|
|
748
|
-
# Build colored status line
|
|
749
|
-
status = (f"{colors['model']}[{model}]{colors['reset']} "
|
|
750
|
-
f"{colors['directory']}π {current_dir}{colors['reset']} "
|
|
751
|
-
f"{env_indicator}")
|
|
752
|
-
|
|
753
|
-
print(status)
|
|
754
|
-
|
|
755
|
-
if __name__ == "__main__":
|
|
756
|
-
main()
|
|
757
|
-
```
|
|
758
|
-
|
|
759
|
-
### 3. Multi-line Status Support
|
|
760
|
-
|
|
761
|
-
```bash
|
|
762
|
-
#!/bin/bash
|
|
763
|
-
# Multi-line status line (only first line is used, but you can prepare data)
|
|
764
|
-
|
|
765
|
-
input=$(cat)
|
|
766
|
-
|
|
767
|
-
# Collect comprehensive information
|
|
768
|
-
MODEL=$(echo "$input" | jq -r '.model.display_name')
|
|
769
|
-
DIR=$(echo "$input" | jq -r '.workspace.current_dir' | xargs basename)
|
|
770
|
-
COST=$(echo "$input" | jq -r '.cost.total_cost_usd')
|
|
771
|
-
DURATION_MS=$(echo "$input" | jq -r '.cost.total_duration_ms')
|
|
772
|
-
LINES_NET=$(($(echo "$input" | jq -r '.cost.total_lines_added') - $(echo "$input" | jq -r '.cost.total_lines_removed')))
|
|
773
|
-
|
|
774
|
-
# Build a comprehensive but single-line status
|
|
775
|
-
# (Note: Only the first line of output is used by Claude Code)
|
|
776
|
-
STATUS_PARTS=()
|
|
777
|
-
STATUS_PARTS+=("[$MODEL]")
|
|
778
|
-
STATUS_PARTS+=("π $DIR")
|
|
779
|
-
|
|
780
|
-
# Add git info if available
|
|
781
|
-
if git rev-parse --git-dir > /dev/null 2>&1; then
|
|
782
|
-
BRANCH=$(git branch --show-current 2>/dev/null)
|
|
783
|
-
if [ -n "$BRANCH" ]; then
|
|
784
|
-
STATUS_PARTS+=("πΏ $BRANCH")
|
|
785
|
-
fi
|
|
786
|
-
fi
|
|
787
|
-
|
|
788
|
-
# Add metrics if significant
|
|
789
|
-
if [ $LINES_NET -ne 0 ]; then
|
|
790
|
-
STATUS_PARTS+=("π $LINES_NET lines")
|
|
791
|
-
fi
|
|
792
|
-
|
|
793
|
-
# Join with separators
|
|
794
|
-
IFS=' β’ '
|
|
795
|
-
echo "${STATUS_PARTS[*]}"
|
|
796
|
-
|
|
797
|
-
# You could output additional lines for your own debugging/logging
|
|
798
|
-
# (These won't be displayed in the status line)
|
|
799
|
-
echo "Debug: Session duration $(($DURATION_MS / 1000))s, Cost $COST" >&2
|
|
800
|
-
```
|
|
801
|
-
|
|
802
|
-
### 4. Conditional Information Display
|
|
803
|
-
|
|
804
|
-
```python
|
|
805
|
-
#!/usr/bin/env python3
|
|
806
|
-
# Smart status line that shows different info based on context
|
|
807
|
-
|
|
808
|
-
import json
|
|
809
|
-
import sys
|
|
810
|
-
import os
|
|
811
|
-
import subprocess
|
|
812
|
-
from datetime import datetime
|
|
813
|
-
|
|
814
|
-
def get_priority_info(data):
|
|
815
|
-
"""Determine what information is most important to show"""
|
|
816
|
-
current_dir = data['workspace']['current_dir']
|
|
817
|
-
cost = data['cost']
|
|
818
|
-
|
|
819
|
-
priorities = []
|
|
820
|
-
|
|
821
|
-
# High priority: Expensive session
|
|
822
|
-
if cost['total_cost_usd'] > 0.05: # More than 5 cents
|
|
823
|
-
priorities.append(('cost', f"π° ${cost['total_cost_usd']:.3f}", 1))
|
|
824
|
-
|
|
825
|
-
# High priority: Long session
|
|
826
|
-
if cost['total_duration_ms'] > 300000: # More than 5 minutes
|
|
827
|
-
duration_min = cost['total_duration_ms'] / 60000
|
|
828
|
-
priorities.append(('duration', f"β± {duration_min:.1f}m", 1))
|
|
829
|
-
|
|
830
|
-
# Medium priority: Significant changes
|
|
831
|
-
if cost['total_lines_added'] + cost['total_lines_removed'] > 50:
|
|
832
|
-
net_lines = cost['total_lines_added'] - cost['total_lines_removed']
|
|
833
|
-
sign = '+' if net_lines >= 0 else ''
|
|
834
|
-
priorities.append(('changes', f"π {sign}{net_lines}", 2))
|
|
835
|
-
|
|
836
|
-
# Medium priority: Git status with changes
|
|
837
|
-
try:
|
|
838
|
-
if os.path.exists('.git'):
|
|
839
|
-
status_output = subprocess.check_output(['git', 'status', '--porcelain'],
|
|
840
|
-
stderr=subprocess.DEVNULL).decode().strip()
|
|
841
|
-
if status_output:
|
|
842
|
-
change_count = len(status_output.split('\n'))
|
|
843
|
-
priorities.append(('git_changes', f"β οΈ {change_count} changed", 2))
|
|
844
|
-
except:
|
|
845
|
-
pass
|
|
846
|
-
|
|
847
|
-
# Low priority: Time
|
|
848
|
-
current_time = datetime.now().strftime("%H:%M")
|
|
849
|
-
priorities.append(('time', f"π {current_time}", 3))
|
|
850
|
-
|
|
851
|
-
return priorities
|
|
852
|
-
|
|
853
|
-
def main():
|
|
854
|
-
data = json.load(sys.stdin)
|
|
855
|
-
|
|
856
|
-
# Basic info (always shown)
|
|
857
|
-
model = data['model']['display_name']
|
|
858
|
-
current_dir = os.path.basename(data['workspace']['current_dir'])
|
|
859
|
-
|
|
860
|
-
# Get prioritized additional info
|
|
861
|
-
priorities = get_priority_info(data)
|
|
862
|
-
|
|
863
|
-
# Sort by priority and take top items
|
|
864
|
-
priorities.sort(key=lambda x: x[2]) # Sort by priority level
|
|
865
|
-
|
|
866
|
-
# Build status line with space management
|
|
867
|
-
max_length = 80 # Estimate terminal width
|
|
868
|
-
base_status = f"[{model}] π {current_dir}"
|
|
869
|
-
remaining_space = max_length - len(base_status)
|
|
870
|
-
|
|
871
|
-
additional_info = []
|
|
872
|
-
for info_type, info_text, priority in priorities:
|
|
873
|
-
if len(' β’ '.join(additional_info + [info_text])) < remaining_space - 3:
|
|
874
|
-
additional_info.append(info_text)
|
|
875
|
-
else:
|
|
876
|
-
break # Stop adding info if we're running out of space
|
|
877
|
-
|
|
878
|
-
# Combine everything
|
|
879
|
-
if additional_info:
|
|
880
|
-
full_status = f"{base_status} β’ {' β’ '.join(additional_info)}"
|
|
881
|
-
else:
|
|
882
|
-
full_status = base_status
|
|
883
|
-
|
|
884
|
-
print(full_status)
|
|
885
|
-
|
|
886
|
-
if __name__ == "__main__":
|
|
887
|
-
main()
|
|
888
|
-
```
|
|
889
|
-
|
|
890
|
-
## Best Practices
|
|
891
|
-
|
|
892
|
-
### 1. Performance Optimization
|
|
893
|
-
- **Keep scripts fast**: Status lines update frequently, so optimize for speed
|
|
894
|
-
- **Cache expensive operations**: Use caching for git status, file system checks
|
|
895
|
-
- **Limit external command calls**: Minimize subprocess execution
|
|
896
|
-
- **Use efficient parsing**: Prefer lightweight JSON parsing methods
|
|
897
|
-
|
|
898
|
-
### 2. Visual Design
|
|
899
|
-
- **Be concise**: Status lines should fit on one line
|
|
900
|
-
- **Use meaningful colors**: Color-code different types of information
|
|
901
|
-
- **Choose clear icons**: Use universally understood emojis and symbols
|
|
902
|
-
- **Maintain consistency**: Stick to a consistent visual style
|
|
903
|
-
|
|
904
|
-
### 3. Error Handling
|
|
905
|
-
```bash
|
|
906
|
-
#!/bin/bash
|
|
907
|
-
# Robust error handling example
|
|
908
|
-
|
|
909
|
-
input=$(cat)
|
|
910
|
-
|
|
911
|
-
# Always provide fallback values
|
|
912
|
-
MODEL=$(echo "$input" | jq -r '.model.display_name' 2>/dev/null || echo "Claude")
|
|
913
|
-
DIR=$(echo "$input" | jq -r '.workspace.current_dir' 2>/dev/null || pwd)
|
|
914
|
-
DIR_NAME=$(basename "$DIR" 2>/dev/null || echo "Unknown")
|
|
915
|
-
|
|
916
|
-
# Safe git operations
|
|
917
|
-
GIT_INFO=""
|
|
918
|
-
if command -v git >/dev/null 2>&1 && git rev-parse --git-dir >/dev/null 2>&1; then
|
|
919
|
-
BRANCH=$(git branch --show-current 2>/dev/null || echo "")
|
|
920
|
-
if [ -n "$BRANCH" ]; then
|
|
921
|
-
GIT_INFO=" | $BRANCH"
|
|
922
|
-
fi
|
|
923
|
-
fi
|
|
924
|
-
|
|
925
|
-
# Always output something, even if minimal
|
|
926
|
-
echo "[$MODEL] $DIR_NAME$GIT_INFO"
|
|
927
|
-
```
|
|
928
|
-
|
|
929
|
-
### 4. Testing and Development
|
|
930
|
-
|
|
931
|
-
**Test your status line script**:
|
|
932
|
-
```bash
|
|
933
|
-
# Create test JSON input
|
|
934
|
-
echo '{
|
|
935
|
-
"model": {"display_name": "Sonnet"},
|
|
936
|
-
"workspace": {"current_dir": "/test/project"},
|
|
937
|
-
"cost": {"total_cost_usd": 0.01, "total_duration_ms": 30000}
|
|
938
|
-
}' | ./your-statusline.sh
|
|
939
|
-
```
|
|
940
|
-
|
|
941
|
-
**Debug with logging**:
|
|
942
|
-
```python
|
|
943
|
-
#!/usr/bin/env python3
|
|
944
|
-
import json
|
|
945
|
-
import sys
|
|
946
|
-
import logging
|
|
947
|
-
|
|
948
|
-
# Set up logging for debugging
|
|
949
|
-
logging.basicConfig(
|
|
950
|
-
filename='/tmp/statusline-debug.log',
|
|
951
|
-
level=logging.DEBUG,
|
|
952
|
-
format='%(asctime)s - %(message)s'
|
|
953
|
-
)
|
|
954
|
-
|
|
955
|
-
try:
|
|
956
|
-
data = json.load(sys.stdin)
|
|
957
|
-
logging.debug(f"Received data: {data}")
|
|
958
|
-
|
|
959
|
-
# Your status line logic
|
|
960
|
-
result = "Status line output"
|
|
961
|
-
logging.debug(f"Generated: {result}")
|
|
962
|
-
print(result)
|
|
963
|
-
|
|
964
|
-
except Exception as e:
|
|
965
|
-
logging.error(f"Error: {e}")
|
|
966
|
-
print("[Status Error]") # Fallback display
|
|
967
|
-
```
|
|
968
|
-
|
|
969
|
-
### 5. Cross-Platform Compatibility
|
|
970
|
-
|
|
971
|
-
```bash
|
|
972
|
-
#!/bin/bash
|
|
973
|
-
# Cross-platform compatible status line
|
|
974
|
-
|
|
975
|
-
# Detect OS for different commands
|
|
976
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
977
|
-
# macOS
|
|
978
|
-
STAT_CMD="stat -f %m"
|
|
979
|
-
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
980
|
-
# Linux
|
|
981
|
-
STAT_CMD="stat -c %Y"
|
|
982
|
-
else
|
|
983
|
-
# Fallback
|
|
984
|
-
STAT_CMD="date +%s"
|
|
985
|
-
fi
|
|
986
|
-
|
|
987
|
-
# Use OS-appropriate commands
|
|
988
|
-
# Your status line logic here
|
|
989
|
-
```
|
|
990
|
-
|
|
991
|
-
## Configuration Examples
|
|
992
|
-
|
|
993
|
-
### Personal Development Setup
|
|
994
|
-
|
|
995
|
-
**.claude/settings.json** (Project):
|
|
996
|
-
```json
|
|
997
|
-
{
|
|
998
|
-
"statusLine": {
|
|
999
|
-
"type": "command",
|
|
1000
|
-
"command": "~/.claude/scripts/dev-statusline.py",
|
|
1001
|
-
"padding": 0
|
|
1002
|
-
}
|
|
1003
|
-
}
|
|
1004
|
-
```
|
|
1005
|
-
|
|
1006
|
-
### Team-Shared Configuration
|
|
1007
|
-
|
|
1008
|
-
**.claude/settings.json** (Committed):
|
|
1009
|
-
```json
|
|
1010
|
-
{
|
|
1011
|
-
"statusLine": {
|
|
1012
|
-
"type": "command",
|
|
1013
|
-
"command": "./.claude/statusline/team-status.sh",
|
|
1014
|
-
"padding": 1
|
|
1015
|
-
}
|
|
1016
|
-
}
|
|
1017
|
-
```
|
|
1018
|
-
|
|
1019
|
-
### Environment-Specific Status
|
|
1020
|
-
|
|
1021
|
-
**.claude/settings.local.json** (Not committed):
|
|
1022
|
-
```json
|
|
1023
|
-
{
|
|
1024
|
-
"statusLine": {
|
|
1025
|
-
"type": "command",
|
|
1026
|
-
"command": "$HOME/.claude/statuslines/production-status.py",
|
|
1027
|
-
"padding": 0
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
```
|
|
1031
|
-
|
|
1032
|
-
## Troubleshooting
|
|
1033
|
-
|
|
1034
|
-
### Common Issues
|
|
1035
|
-
|
|
1036
|
-
1. **Status line doesn't appear**
|
|
1037
|
-
- Check script is executable: `chmod +x your-script`
|
|
1038
|
-
- Verify path in settings.json is correct
|
|
1039
|
-
- Test script manually with mock JSON input
|
|
1040
|
-
|
|
1041
|
-
2. **Colors not displaying**
|
|
1042
|
-
- Ensure terminal supports ANSI colors
|
|
1043
|
-
- Check color codes are properly formatted
|
|
1044
|
-
- Test with simple color: `echo -e "\033[31mRed text\033[0m"`
|
|
1045
|
-
|
|
1046
|
-
3. **Script errors**
|
|
1047
|
-
- Add error logging to your script
|
|
1048
|
-
- Test with minimal functionality first
|
|
1049
|
-
- Check dependencies (jq, git, etc.) are installed
|
|
1050
|
-
|
|
1051
|
-
4. **Performance issues**
|
|
1052
|
-
- Profile your script execution time
|
|
1053
|
-
- Add caching for expensive operations
|
|
1054
|
-
- Minimize external command calls
|
|
1055
|
-
|
|
1056
|
-
### Debug Tools
|
|
1057
|
-
|
|
1058
|
-
**Test JSON Input**:
|
|
1059
|
-
```json
|
|
1060
|
-
{
|
|
1061
|
-
"hook_event_name": "Status",
|
|
1062
|
-
"session_id": "test-123",
|
|
1063
|
-
"model": {"display_name": "Sonnet"},
|
|
1064
|
-
"workspace": {
|
|
1065
|
-
"current_dir": "/Users/you/project",
|
|
1066
|
-
"project_dir": "/Users/you/project"
|
|
1067
|
-
},
|
|
1068
|
-
"cost": {
|
|
1069
|
-
"total_cost_usd": 0.05,
|
|
1070
|
-
"total_duration_ms": 120000,
|
|
1071
|
-
"total_lines_added": 25,
|
|
1072
|
-
"total_lines_removed": 8
|
|
1073
|
-
}
|
|
1074
|
-
}
|
|
1075
|
-
```
|
|
1076
|
-
|
|
1077
|
-
**Test Command**:
|
|
1078
|
-
```bash
|
|
1079
|
-
echo 'test-json-here' | ~/.claude/statusline.sh
|
|
1080
|
-
```
|
|
1081
|
-
|
|
1082
|
-
**Performance Testing**:
|
|
1083
|
-
```bash
|
|
1084
|
-
time echo 'test-json' | ~/.claude/statusline.sh
|
|
1085
|
-
```
|
|
1086
|
-
|
|
1087
|
-
## Status Line Gallery
|
|
1088
|
-
|
|
1089
|
-
### Inspiration Examples
|
|
1090
|
-
|
|
1091
|
-
```bash
|
|
1092
|
-
# Minimal
|
|
1093
|
-
[Sonnet] π my-project
|
|
1094
|
-
|
|
1095
|
-
# Git-aware
|
|
1096
|
-
[Sonnet] π src β’ πΏ feature-branch
|
|
1097
|
-
|
|
1098
|
-
# Development-focused
|
|
1099
|
-
[Sonnet] βοΈ React App β’ πΏ mainβ β’ π§ͺ β’ $0.02
|
|
1100
|
-
|
|
1101
|
-
# Performance-oriented
|
|
1102
|
-
[Sonnet] π api β’ β‘ 250ms avg β’ π° $0.01
|
|
1103
|
-
|
|
1104
|
-
# Time-tracking
|
|
1105
|
-
[Sonnet] π¦ Node.js β’ β° 14:30 β’ β± 25m β’ π +42 lines
|
|
1106
|
-
|
|
1107
|
-
# Project-aware
|
|
1108
|
-
[Sonnet] π data-pipeline@1.2.0 β’ πΏ develop β’ π³ β’ π
|
|
1109
|
-
```
|
|
1110
|
-
|
|
1111
|
-
## Conclusion
|
|
1112
|
-
|
|
1113
|
-
Claude Code status lines provide a powerful way to customize your development interface with contextual information that matters to you. With status lines, you can:
|
|
1114
|
-
|
|
1115
|
-
- **Monitor session metrics** like cost, duration, and productivity
|
|
1116
|
-
- **Display project context** including git status, environment, and dependencies
|
|
1117
|
-
- **Track development progress** with real-time updates
|
|
1118
|
-
- **Customize the interface** to match your workflow and preferences
|
|
1119
|
-
- **Enhance situational awareness** during coding sessions
|
|
1120
|
-
|
|
1121
|
-
Start with simple status lines and gradually add more sophisticated features as you become comfortable with the system. The key is finding the right balance of information density and visual clarity for your workflow.
|
|
1122
|
-
|
|
1123
|
-
For more advanced customization and community examples, explore the Claude Code documentation and share your status line configurations with other developers.
|