Declarative, not programmatic
Routing, guardrails, and memory live in ai.yaml, not hand-wired Python graph code or agent/crew objects.
Describe agents, handoffs, tools, and guardrails in ai.yaml — verified before you run them, not just prompted and hoped for.


No hand-wired routing, no loops nobody planned, no token bill nobody bounded. Declare the swarm instead: one command turns it into a running graph, and every agent loads only the tools it actually needs — smaller prompt, smaller bill. Same commands shown throughout this page, just faster to watch than to read.
Describe what you want in plain English — blueprint.md — and let inta compile turn it into a validated ai.yaml. Re-running it against an updated blueprint diffs against what you already have and merges instead of overwriting, self-healing against schema and router-condition errors before anything ever touches disk.
# Vision
A support agent that triages tickets, hands
billing to a specialist, and asks a human
before issuing any refund.$ inta compile blueprint.md
✓ Schema + router-condition validated
✓ Scaffolded prompts/triage.jinja2
✓ inta verify: acyclic, cost-bounded
Successfully compiled blueprint into ai.yamlA live, drag-and-drop graph of your actual ai.yaml — not a diagram you drew once and forgot to update. Watch handoffs happen in real time, review exactly which arguments a gated tool call wants to run with before you approve it — including a generated image, not just a wall of JSON — and push a visual edit straight back to ai.yaml on disk. inta monitor — nothing to deploy, nothing to sign up for.