CLI vs SDK Comparison
Choose the approach that best fits your development workflow. The Erdo platform supports both command-line and programmatic Python interfaces.Quick Comparison
- CLI
- SDK
Best for: Command-line workflows, CI/CD pipelines, shell scriptingPros:
- Quick installation with Homebrew
- Familiar command-line interface
- Great for scripts and automation
- Works with any editor
- Requires separate Go binary installation
- Less IDE integration
- Context switching between Python and CLI
Installation & Setup
- CLI
- SDK
Core Operations
Agent Synchronization
- CLI
- SDK
Agent Invocation
- CLI
- SDK
Testing & Validation
- CLI
- SDK
Agent Management
- CLI
- SDK
Development Workflows
CLI-First Workflow
SDK-First Workflow
Mixed Workflow
You can combine both approaches:Configuration
Both approaches use the same configuration system:Config File (~/.erdo/config.yaml)
Environment Variables
Programmatic Config (SDK Only)
Feature Comparison Matrix
| Feature | CLI | SDK | Notes |
|---|---|---|---|
| Agent Creation | ✅ Templates | ✅ Programmatic | SDK offers more flexibility |
| Agent Sync | ✅ Full featured | ✅ Python-native | Same backend, different interface |
| Agent Invocation | ✅ Testing focused | ✅ Production ready | SDK better for programmatic use |
| Testing | ✅ Comprehensive | ✅ Basic | CLI has more test runner features |
| Deployment | ✅ Multi-env | ✅ Via sync | CLI has dedicated deploy commands |
| File Watching | ✅ Built-in | ❌ Manual | CLI better for development server |
| IDE Integration | ⚠️ Limited | ✅ Excellent | SDK has full type hints |
| CI/CD Integration | ✅ Shell scripts | ✅ Python scripts | Both work well |
| Learning Curve | ⚠️ Commands to learn | ✅ Python APIs | SDK more intuitive for Python devs |
Recommendations
Choose CLI if you:
- Prefer command-line tools and shell scripting
- Need file watching and development server features
- Want to get started quickly with templates
- Are building CI/CD pipelines with shell scripts
- Work with multiple programming languages
Choose SDK if you:
- Work primarily in Python
- Use Jupyter notebooks or interactive development
- Want programmatic control over agent operations
- Prefer type-safe APIs with IDE autocompletion
- Are building Python applications that manage agents
Choose Both if you:
- Want the best of both worlds
- Have a team with mixed preferences
- Need CLI for some tasks (like file watching) and SDK for others (like programmatic control)
- Want flexibility to use whichever tool fits the specific task
Using Both Together
You can freely mix CLI and SDK in your workflow - they share configuration and authentication:- Shared authentication:
erdo loginworks for both CLI and SDK - Shared configuration: Both use
~/.erdo/config.yaml - Same platform: Both interact with the same backend and agents