We're excited to announce that cmdai has been renamed to caro! ๐
A New Name, The Same Mission
Thanks to the incredible generosity of @aeplay, who graciously transferred the caro crate name to our project, we now have a name that better reflects our vision: a friendly, approachable AI companion for your terminal.
What is Caro?
caro is a single-binary Rust CLI tool that converts natural language descriptions into safe POSIX shell commands using local LLMs. Built with safety-first design and optimized for Apple Silicon via the MLX framework, caro makes complex command-line operations accessible to everyone.
$ caro "find all PDF files larger than 10MB in Downloads"
Generated command:
find ~/Downloads -name "*.pdf" -size +10M -ls
Execute this command? (y/N) Why "Caro"?
The name caro offers several advantages:
- Brevity: Shorter and easier to type (4 characters)
- Memorability: More distinctive and memorable as a brand
- Pronounceability: Natural pronunciation in multiple languages
- Brandability: Better suited for a product name
In Latin, caro means "dear" or "beloved"โfitting for a tool designed to make your terminal experience more friendly and approachable. And for those who know Kyaro's story, the connection runs even deeper.
Key Features
- ๐ Fast startup - Single binary with quick initialization
- ๐ง Local LLM inference - Embedded models optimized for Apple Silicon (MLX) and CPU
- ๐ค Intelligent refinement - 2-iteration agentic loop for platform-specific commands
- ๐ Platform-aware - Automatically detects OS, architecture, shell, and available commands
- ๐ก๏ธ Safety-first - Comprehensive validation with 52+ dangerous command patterns
- ๐ฆ Self-contained - Single binary distribution
- ๐ฏ Multiple backends - Extensible system supporting MLX, CPU, vLLM, and Ollama
Getting Started
Quick Installation
# One-line setup (recommended)
bash <(curl --proto '=https' --tlsv1.2 -sSfL https://setup.caro.sh)
# Or via cargo
cargo install caro First Command
$ caro "show me the top 5 processes by CPU usage" caro will generate the appropriate command for your platform, validate it for safety, and ask for confirmation before execution.
What's New in v0.1.0
- โ Core CLI with comprehensive argument parsing
- โ Embedded model backend with MLX (Apple Silicon) and CPU variants
- โ Agentic context loop with iterative refinement
- โ Platform-aware command generation
- โ Safety validation with 52+ dangerous command patterns
- โ Remote backend support (Ollama, vLLM)
- โ Interactive execution with shell detection
- โ Multiple output formats (JSON, YAML, Plain)
Migration from cmdai
If you previously installed cmdai, migration is simple:
# Uninstall old version
cargo uninstall cmdai
# Install new version
cargo install caro
# Migrate config (if you have custom configuration)
mv ~/.config/cmdai ~/.config/caro For detailed migration instructions, see our Naming History documentation.
Thank You, @aeplay
We want to extend our heartfelt gratitude to @aeplay for:
- Graciously transferring the
carocrate name to this project - Believing in the project's future and potential
- Supporting the open-source Rust community
This generosity has enabled us to have a better, more memorable name that will serve the project well as it grows.
What's Next
We have exciting plans for caro's future:
- ๐ Enhanced analytics - Command history and usage insights
- ๐ Multi-step workflows - Complex task automation
- ๐ Learning from feedback - Adaptive command generation
- ๐ Plugin system - Custom backends and validators
- ๐ฑ Shell integration - Direct shell plugins for zsh, bash, fish
Join the Community
- ๐ Website: caro.sh
- ๐ป GitHub: github.com/wildcard/caro
- ๐ฆ Crates.io: crates.io/crates/caro
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
Try It Today
Ready to supercharge your terminal experience?
bash <(curl --proto '=https' --tlsv1.2 -sSfL https://setup.caro.sh) We can't wait to see what you build with caro!
Built with Rust | Safety First | Open Source