AI-Optimized Planning System for Claude Code
CARL bridges the gap between human cognitive simplicity and AI context precision through structured planning, execution, and tracking capabilities designed specifically for AI-assisted development.
CARL requires the following tools:
- jq - JSON processor (install guide)
- yq - YAML processor (install guide)
Quick install:
# macOS
brew install jq yq
# Ubuntu/Debian
sudo apt-get install jq && sudo snap install yq
# Windows
choco install jq yqInstall CARL with a single command:
curl -fsSL https://github.com/ClaytonHunt/carl/releases/latest/download/install.sh | bashAlternative installation options:
# Install specific version
curl -fsSL https://github.com/ClaytonHunt/carl/releases/download/v2.0.0/install.sh | bash
# Dry run (see what would be installed)
curl -fsSL https://github.com/ClaytonHunt/carl/releases/latest/download/install.sh | CARL_DRY_RUN=1 bash
# Verbose installation
curl -fsSL https://github.com/ClaytonHunt/carl/releases/latest/download/install.sh | CARL_VERBOSE=1 bash# Let CARL analyze and set up your project
/carl:analyzeCreate your first work item:
/carl:plan "Add user authentication system"Start implementing:
# Standard execution (with full breakdown)
/carl:task user-authentication.feature.carl
# Rapid prototyping (yolo mode)
/carl:task user-authentication.feature.carl --yoloCheck your progress:
/carl:status- Zero Cognitive Load: Four simple commands handle all complexity
- Automatic Dependency Management: Work executes in the right order
- Session Continuity: Never lose context between coding sessions
- Quality Gates: Built-in TDD and testing integration
- Rich Context: Every work item has comprehensive requirements and progress
- Schema Validation: Automatic data integrity with self-healing
- Specialized Agents: Domain-specific assistants created as needed
- Progress Tracking: Detailed activity logs for trend analysis
| Command | Purpose | Example |
|---|---|---|
/carl:analyze |
Set up project foundation | /carl:analyze |
/carl:plan |
Create work items | /carl:plan "Add user dashboard" |
/carl:task |
Execute work | /carl:task dashboard.feature.carl |
/carl:task --yolo |
Rapid prototyping | /carl:task dashboard.feature.carl --yolo |
/carl:status |
Monitor progress | /carl:status --week |
CARL automatically classifies work as Epic (3-6mo), Feature (2-4wk), Story (2-5d), or Technical based on complexity and requirements.
Advanced topological sorting enables parallel execution of independent work while respecting dependencies.
Daily session tracking with velocity analysis, health monitoring, and actionable insights.
Automatically generates specialist agents for unfamiliar technologies or domains.
All CARL files validated against schemas with automatic error fixing.
Branch-aware session isolation with git integration for team coordination.
Skip breakdown requirements for rapid prototyping and exploration:
# Full yolo - implement entire epic without breakdown
/carl:task user-auth.epic.carl --yolo
# Hybrid yolo - execute existing stories, yolo missing parts
/carl:task payment.feature.carl --yoloKey Features:
- Smart Gap Analysis: Identifies existing vs missing breakdown
- Hybrid Execution: Preserves structured work, yolos only gaps
- Technical Debt Tracking: Auto-creates cleanup tasks
- Coverage Reporting: Shows % structured vs % yolo execution
- Ephemeral Mode: No persistence beyond single execution
When to Use:
- β Rapid prototyping and exploration
- β Solo development and hackathons
- β Time-boxed proof of concepts
- β Team development (needs coordination)
- β Production systems (needs structure)
CARL uses a dual-layer architecture:
- Human Layer: Simple commands (
/carl:analyze,/carl:plan,/carl:task,/carl:status) - AI Layer: Rich CARL files with comprehensive context and relationships
.carl/
βββ project/
β βββ epics/ # Strategic initiatives (3-6 months)
β βββ features/ # User capabilities (2-4 weeks)
β βββ stories/ # Implementation tasks (2-5 days)
β βββ technical/ # Infrastructure work (varies)
βββ sessions/ # Daily developer tracking
βββ schemas/ # Validation rules
- Claude Code (Claude AI's official CLI)
- Git (for session tracking and multi-developer support)
- Bash (for hook system automation)
- curl (for installation)
- tar (for extracting releases)
- jq (optional, for better JSON processing)
- CARL.md - Complete system documentation
- docs/ - Detailed architecture and integration guides
- .claude/commands/carl/ - Command implementations
/carl:plan "Implement user authentication with OAuth integration"
# β Creates user-authentication.feature.carl with proper scope and breakdown/carl:task user-authentication.feature.carl
# β Automatically handles child stories in dependency order
# β Runs tests and quality gates
# β Updates progress and session tracking/carl:status
# β Shows velocity, active items, blockers, and recommendations
# β Provides actionable insights for improving productivity- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Use CARL to plan and execute your changes
- Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Prerequisites not found:
# macOS
brew install jq yq
# Ubuntu/Debian
sudo apt-get install jq && sudo snap install yq
# Windows
choco install jq yqPermission denied during installation:
# Run with explicit bash
curl -fsSL https://github.com/ClaytonHunt/carl/releases/latest/download/install.sh | sudo bashClaude Code not found:
- Ensure Claude Code is installed and accessible
- Verify you can run
claudecommand from terminal
CARL commands not recognized:
# Verify CARL installation
ls -la .carl/ .claude/
# Should show CARL directory structure
# Check Claude Code settings
cat .claude/settings.json
# Should show CARL hooks configurationSchema validation errors:
# Check file format
cat your-file.carl | yq '.'
# Validate against schema
bash .carl/hooks/schema-validate.shSession tracking not working:
# Check git configuration
git config --get user.name
git config --get user.email
# Verify session file exists
ls -la .carl/sessions/Hook errors:
- Ensure bash scripts are executable:
chmod +x .carl/hooks/*.sh - Check CLAUDE_PROJECT_DIR environment variable is set
- Verify all dependencies (jq, yq) are available in PATH
- Documentation: CARL.md and docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Ready to transform your development workflow? Start with /carl:analyze and let CARL handle the complexity while you focus on building great software.