I recently added a yeero do subcommand to the YeeroAI CLI — describe a task in natural language, and it auto-matches or generates a Python script to execute.
The motivation comes from everyday terminal work. There are always small tasks — checking the IP, viewing a file tree, killing a process on a port, listing directory files. None of them are complicated individually, but commands differ across platforms, and you end up looking them up every time you switch systems. yeero do collapses all of that into one sentence — you say what you want, it runs it for you.
Here's how it works.
What is yeero do?
yeero do is a subcommand of the YeeroAI CLI. The idea is simple: describe your intent in natural language, and the CLI will:
- Search through your locally synced Python apps for the best match.
- Run it directly if the match is strong.
- Create a new Python app generated by AI if no good match exists.
Under the hood, it still executes a Python app via yeero app. The difference is that you don't need to remember app IDs or subcommands.
Installation
macOS / Linux
curl -fsSL https://yeero.ai/cli/install.sh | sh
The installer detects your platform, downloads the binary, and sets up PATH automatically.
Windows (PowerShell)
irm https://yeero.ai/cli/install.ps1 | iex
Default install path: %LOCALAPPDATA%\yeero.
Verify
yeero --version
Log In
yeero login
It uses email verification code login. Non-interactive login is also supported:
yeero login --email you@example.com --code 123456
Check login status:
yeero whoami
Your token is stored securely in the system keychain.
Basic Syntax
yeero do [INTENT] [OPTIONS]
Options:
| Option | Description |
|---|---|
--dry-run |
Preview the routing result without executing |
--name <NAME> |
Name for the newly created app |
--no-create |
Fail if no matching app is found |
--model <MODEL> |
Model to use when generating a new app |
How It Works
When you run yeero do "...", the CLI first sends a dry-run probe:
- Strong match: runs the app directly.
- Multiple candidates: shows a list for you to pick from.
- No / weak match: asks you to confirm the model, then generates, installs, and runs the app.
Stage messages like creating, generating, installing, and running are printed in real time.
Practical Examples
System info
# Show IP address — no need to remember ipconfig / ip addr / ifconfig
yeero do "local IP"
Output:
IPv4: 192.168.1.100
IPv6: fe80::1
yeero do "system info"
Output:
OS: macOS 14.5
CPU: Apple M3
Memory: 16 GB
Uptime: 3d 12h
Files and directories
yeero do "file tree"
Output:
.
├── src
│ ├── main.py
│ └── utils.py
├── README.md
└── requirements.txt
yeero do "get all files in directory"
Output:
README.md
package.json
src/
public/
yeero do "list subdirectories by size"
Output:
node_modules/ 1.2 GB
dist/ 45 MB
src/ 3 MB
Equivalent: du -sh * | sort -rh.
File batch processing
# Convert images
yeero do "batch convert png to webp"
Output:
image1.png -> image1.webp
image2.png -> image2.webp
# CSV deduplication and export
yeero do "deduplicate CSV, sort by amount, export to Excel"
Output:
Removed 12 duplicate rows
Sorted by amount descending
Exported to output.xlsx
Traditional approach: pandas read, groupby, sort, to_excel.
# Sort files by date
yeero do "sort images into folders by date"
Output:
2024-01-01/IMG_001.jpg
2024-01-02/IMG_002.jpg
Dev / ops tasks
# Generate a QR code
yeero do "generate QR code for example.com"
Output:
Saved QR code to example_com_qr.png
Traditional approach: pip install qrcode plus five lines of code.
# Kill process on port 8080
yeero do "stop process occupying port: 8080"
Output:
Found process node (PID 12345) on port 8080
Process 12345 terminated
Traditional approach: lsof -i:8080 to find the PID, then kill -9. Two steps.
Dry-run mode
yeero do "generate QR code for example.com" --dry-run
No-create mode
yeero do "just testing" --no-create
yeero do vs yeero app run
yeero do |
yeero app run |
|
|---|---|---|
| Input | Natural language intent | App ID / name |
| Routing | Auto-match, creates app if needed | Runs specified app directly |
| Use case | "I want to do X" | "I want to run this app" |
| Essence | Both ultimately execute a yeero app Python script |
Cost Advantage
Using AI agents for these small tasks was like ordering a bowl of white rice on a food delivery app — it works, but the delivery fee costs more than the food. Running a script for three seconds, but the token cost takes longer to tally up than the script takes to run.
yeero do takes a different approach: it only calls the LLM once when creating the app. Every subsequent run executes the local Python script directly — zero additional token cost. It's like having a key cut — a one-time cost, then you can open the door yourself every time without calling a locksmith.
For high-frequency utility tasks like log analysis, file cleanup, or report generation, this adds up to real savings over time.
Notes
-
yeero doneeds the daemon running. It will be started automatically on demand. - The first creation may take a while because AI generates the code and installs dependencies.
- If generation fails, the CLI prints the app ID so you can iterate with
yeero app discuss <app-id>. - Created apps are synced to your account and can be edited from the web or desktop app.
Top comments (0)