Skip to content

CLI

Entry point: aire → aire.cli.main:app (Typer).

Command Purpose
aire init <name> Scaffold project (aire.yaml, app.py, docs/, evals/)
aire run <prompt> One-shot generation (--model, --config)
aire evaluate <dataset> Eval suite (--model, --metrics, --output)
aire serve Serve build_target() from app.py via FastAPI/uvicorn
aire gateway OpenAI-compat gateway (-m/--model, -a/--alias, --embed-alias, --routing, --objective, --auth-token, --rate-limit)
aire mcp-serve Builtin + registered tools over MCP stdio
aire inspect [what] models | tools | plugins | config | all
aire plugins List discovered/loaded plugins
aire doctor [--smoke] [--live] [--output PATH] [--config PATH] Versioned diagnostic report; offline smoke or explicit live probes
aire scaffold <kind> Recipe snippet: rag | agent | finetune | gateway | workflow
aire version Print version
aire deploy scale Docker Compose + K8s scale pack
aire foundation Toy architecture only (--describe for catalog) — not pretrained weights
aire analytics Analytics report (demo counters unless process metrics / AIRE_ANALYTICS attached)

Examples:

aire init mybot --model mock:echo
aire doctor
aire run 'hello' --model mock:echo
aire gateway -m mock:echo
aire foundation --describe

Diagnostic evidence

aire doctor --smoke --output doctor.json exercises mock generation, local hashing embeddings, a real tool and cited retrieval without network or model downloads. The JSON report records version, Python, healthy, and explicit passed, failed and skipped statuses. The saved report matches stdout; required failures exit 1. Invalid configuration is reported without echoing its contents. --config requires the requested file/directory to exist.

Default doctor checks availability/configuration without executing model calls. Unrelated missing credentials and optional serving dependencies are skipped. --live adds the offline smoke, probes OpenAI/Anthropic only when a resolved configuration/environment credential exists, and probes local Ollama. Cloud health probes are bounded to ten seconds each and may incur usage; errors omit provider bodies and credentials. Client resources are closed after probing.

aire inspect config excludes provider settings and masks common secret-bearing keys recursively, including gateway bearer tokens. Add custom keys to observability.mask_fields; masking cannot detect secrets in arbitrary text. Unknown inspection selectors exit 2.