Describe apps, infrastructure, secrets, and dependencies in
Gantry.yaml.
Agent-ready development environments
One command.
The whole stack.
Gantry coordinates native processes, containers, secrets, and certificates, then gives developers and AI agents one truthful map of what is running.
$ Gantry start
✓ secret:jwt_key generated · stored locally
✓ postgres ready 1.8s → :54932
✓ redis ready 0.7s → :56379
✓ api healthy → localhost:3000
✓ 2 services, 1 app ready in 3.2s
$
No collisions
from day one
01 / THE PROBLEM
“Works on my machine” is even worse when the new developer is an agent.
README archaeology. Stale environment files. Mystery ports. Logs written for people and scraped by machines.
Gantry replaces that uncertainty with a reproducible execution graph and a stable JSON contract.
02 / ONE EXECUTION GRAPH
Your repository,
materialized.
Plain YAML goes in. A healthy local stack and its complete state map come out.
References become graph edges. Dynamic ports and generated values bind at runtime.
Native tools and OCI containers start concurrently, gated by real health checks.
Humans get a live terminal tree. Agents get one canonical JSON state map.
03 / BUILT FOR TWO USERS
A clear interface
for humans.
A contract for agents.
No log scraping. No guessing which service owns which port. Gantry exposes health, URLs, process IDs, and resolved environment values in a stable structure.
{
"project": "acme-payments",
"ok": true,
"services": {
"postgres": {
"status": "ready",
"health": "healthy",
"port": 54932
}
},
"apps": {
"api": {
"url": "http://localhost:3000"
}
}
}
Ready for Codex, scripts, CI, or any tool that speaks JSON.
04 / THE MISSING LAYER
Not another
package manager.
docker-composeContainers only
devcontainersEditor environment
.env filesStatic, manual values
GantryNative + containers + agents
From repository to ready
Stop documenting
how to start.
Start it.
$ bunx Gantry-cli start