Skip to content

Introduction to caro

caro is a Rust CLI tool that converts natural language descriptions into safe, POSIX-compliant shell commands using local LLMs.

Instead of memorizing complex command syntax or searching Stack Overflow, simply describe what you want to do:

Terminal window
$ caro "find all log files larger than 100MB"
find . -name "*.log" -size +100M
$ caro "show processes using port 3000"
lsof -i :3000
$ caro "compress all jpg files in current directory"
tar -czvf images.tar.gz *.jpg

Local LLM Inference

All processing happens on your machine. No cloud API, no data leaving your computer.

Safety Validation

Dangerous commands are detected and blocked before you can execute them.

Apple Silicon Optimized

GPU acceleration via MLX for fast inference on M1/M2/M3/M4 Macs.

Multi-Backend Support

Works with MLX, Ollama, and vLLM for flexible deployment options.

  1. You describe what you want to accomplish in plain English
  2. caro sends your description to a local LLM (no internet required)
  3. The LLM generates a POSIX-compliant shell command
  4. Safety validation checks for dangerous patterns
  5. You review the command before execution
┌─────────────────┐ ┌─────────────┐ ┌──────────────┐
│ Natural │────▶│ Local LLM │────▶│ Safety │
│ Language │ │ (MLX/etc) │ │ Validation │
└─────────────────┘ └─────────────┘ └──────────────┘
┌──────────────┐
│ Shell Command │
│ (reviewed) │
└──────────────┘

caro prioritizes safety with multiple layers of protection:

Risk LevelColorDescription
SafeGreenNormal operations like listing files
ModerateYellowOperations that modify files
HighOrangeSystem-level changes
CriticalRedBlocked - dangerous commands

Blocked patterns include:

  • rm -rf / and variations
  • Fork bombs (:(){:|:&};:)
  • Disk destruction (dd if=/dev/zero)
  • System path modifications
BackendFirst InferenceSubsequentBest For
MLX (GPU)< 2s< 500msApple Silicon Macs
Ollama~3s~2sCross-platform
vLLM~2s~1sServer deployment

Ready to get started?