AI App Execution
Describe what you want in one sentence — yeero matches or creates a Python app and runs it. No platform commands to memorize, no tokens burned on every run.
Overview
yeero do is essentially still executing a Python app script from yeero app. The difference is that you do not need to remember an app ID or subcommand: just describe your intent in one sentence. The system will:
- Search the locally synced Python apps for the best match;
- Execute that app directly if the match is strong;
- Create a new Python app generated by AI and then run it if no suitable app exists (or the match is weak).
So yeero do works both for "I want to run an existing app" and for "I have a new idea; generate and run it for me."
Another compelling scenario: no more memorizing platform-specific commands. Windows uses ipconfig, while Linux / macOS uses ifconfig or ip addr; checking processes, clearing caches, and managing services all have different commands across systems — now you can just type yeero do "show my IP address" without worrying about which OS you are on.
More importantly, yeero do dramatically cuts token costs. Unlike AI agents that call an LLM on every interaction, yeero do only uses one LLM call when first creating the app; every subsequent run executes the local Python script directly — zero additional tokens consumed. For utility tasks you run frequently, switching from an agent to yeero do can save a significant amount of money.
Syntax & Options
yeero do [INTENT] [OPTIONS]
| Argument / Option | Description |
|---|---|
INTENT | Natural-language intent. You will be prompted if omitted. |
--dry-run | Preview the routing result without actually executing. |
--name <NAME> | When no app matches, specify the name for the newly created script. Auto-generated by default. |
--no-create | Fail instead of creating a new app when no match is found. |
--model <MODEL> | Model ID used to generate code when creating a new app. Falls back to the app default if omitted. |
Execution Flow
When you run yeero do "...", the CLI first sends a dry-run probe:
- Strong match: if one app clearly matches, it runs directly. If several apps score highly, a candidate list is shown for you to select with the up/down arrow keys (non-terminal environments fall back to typing a number).
- No match / weak match: you are asked to confirm the model that will generate the new app, then the app is created, installed, and executed.
During execution, stage messages such as creating, generating, installing, and running are printed to the terminal in real time.
Examples
# I want something done — no need to know how; yeero matches or creates an app
yeero do "sort these 200 photos into folders by date taken"
# No need to memorize cross-platform commands — no looking up Windows vs Linux syntax
yeero do "show which process is using the most memory"
# Daily automation — one sentence for repetitive work
yeero do "deduplicate this CSV, sort by amount, and export to Excel"
# Preview which app would match, without actually running it
yeero do "generate a Pomodoro timer web page" --dry-run
# Specify a name and model when creating a new app
yeero do "write a script to back up the database and upload to S3 daily" --name db-backup --model gpt-4o
# Fail on no-match instead of creating a new app
yeero do "just testing" --no-create
Difference from yeero app run
yeero do | yeero app run | |
|---|---|---|
| Input | Natural-language intent | App ID / name |
| Matching | Automatic routing; creates a new app if needed | Runs the specified app directly |
| Best for | “I want to do X” | “I want to run this app” |
| Essence | Both ultimately execute a Python app script from yeero app | |
Notes
yeero dorequires the daemon; it will be started automatically on demand.- The first time an app is created, you may wait for AI code generation and dependency installation.
- If the generated app fails, the CLI prints the app ID so you can continue iterating with
yeero app discuss <app-id>.