Versioned app config
Push managed snapshots with agents, task types, skills, capabilities, defaults, graders, and pipelines.
Managed agent backend
Trellis gives your app a control plane for agent execution: versioned config, runtime choice, automations, evals, pipelines, mesh coordination, and the telemetry to operate it all after launch.
Platform
Apps sync snapshots into Trellis. Trellis resolves the right prompt, runtime, tools, budgets, context, and task backend at execution time.
Push managed snapshots with agents, task types, skills, capabilities, defaults, graders, and pipelines.
One execution path resolves per-agent models, runtime overrides, capability tags, task templates, and resume state.
Expose backend routes as capabilities, opt agents into built-in tags, and add app data without changing Python code.
Per-context concurrency, API-key app isolation, budget limits, approval gates, and hardened webhook entry points.
Operate
App events, cron schedules, and inbound webhooks all become traceable Trellis runs with stable trigger identities.
Inspect tasks, live logs, run history, cost windows, prompts, knowledge, agents, app config, and health checks.
Turn failures into datasets, run graded sweeps, compare model or prompt variants, and triage cases with durable notes.
Coordinate agents through shared work, dispatch sandboxed CI jobs, stream logs, validate outputs, and emit lifecycle events.
Why teams pick Trellis
Trellis gives every run a home: the prompt that launched it, the snapshot it used, the events it emitted, the artifacts it wrote, and the operational trail your team needs when the answer matters.
Quickstart
Trellis stays close to the command line and API surface your engineering team already uses. Start local, then keep the same primitives in production.
# Install and migrate the control plane
just install
trellis migrate
# Start Trellis and publish app config
trellis serve
trellis app sync --config .trellis/app.yml --show-api-key
# Run, automate, evaluate, and observe
trellis run workspace chat --app my-app --prompt "Summarize today's risk"
trellis event "order.large_batch" '{"order_id":"ORD-123"}' --app my-app
trellis evals sweep runtime_parity --app trellis-self