Quick start ·
See it ·
Docs ·
Community ·
Website ·
Free workshops






Trinity is the operating system for the AI-native company - that you own.
Compounding intelligence your company owns.
Persistent agents that keep their memory, share what they learn, and ship their own improvements - governed by receipts: git history, audit logs, human gates. Open source and self-hosted: your infrastructure, your data, your compounding intelligence - not rented from a vendor.
Your coding agent writes the agent. Trinity runs it in production - with state, permissions and receipts. It runs agents on Claude Code, OpenAI Codex or Gemini CLI, organised into departments with roles and reporting lines, with Cornelius, our cognitive architecture for making the work compound, built in.
Apache 2.0 · independently pentested, UnderDefense Grade A · we run our own company on it.
Find this useful? ⭐ Star the repo - it's how other people find Trinity.
Note
📦 Trinity 1.0 is the release where Trinity runs a company, not a console:
- a role for every agent, with objectives tied to a number the company actually tracks
- approvals in your Inbox - anything irreversible waits for a person, and the answer wakes the agent
- gated skills, approvers by role, skill sets you assign as one unit
- Projects with tasks, a log and a steward (Enterprise)
- rate the work, reply in-thread, one Skills tab, agents that pull their own repo
What's new → · Release notes → · Previous: v0.9.5
See it move
One task, end to end: a schedule fires, the agent works in its container, reaches an action it may not take alone, asks the right person in their Inbox, and finishes with a commit, an audit row and a metric point.
Watch more
More in the workshop archive. Live and free, every Thursday.
Organised the way your company is
Agents live in departments, hold a role, and report along lines you draw. A role is a seat on record: who the agent serves, what it is for, and which objective it moves. Objectives bind to declared metrics, so "is it working" is a number with a date on it, not an impression. Nothing crosses a line you have not granted: an agent can call only the agents it has an edge to, and may change its own shape only with a grant.
# template.yaml - the agent declares the number it moves ...
metrics:
- name: close_rate
type: gauge
unit: percent
direction: up_good
# ... and the company's canon declares the objective that binds it to a seat
id: q4-close-rate
statement: Lift close rate to 35% by the end of Q4.
owner: role:revenue-lead
metrics:
- { name: close_rate, direction: up, target: 35, by: 2026-12-31 }
The company, as a grid - departments as zones, reporting lines drawn, live status and cost per agent, the system agent at the top.
Anything irreversible waits for a person
Mark a skill as gated and name who approves: the primary contact, or a role. From then on any request that names that skill - from a person, another agent, a schedule or a channel - is frozen before the agent sees it. The approver gets one card in their Inbox: the agent, the skill, the input, who asked. Approve runs it once; Discuss opens the thread; Reject ends it. The agent that asked is told how it ended. Guardrails bound agents by what they hold, not what they are told: hooks an agent cannot switch off, cost limits, loop budgets, a kill switch for outbound calls.
# the same gate, over MCP
set_skill_gate(agent="proposal-writer", skill="send-proposal", approver="role:revenue-lead")
Every agent has a history you can read
An agent is a git repository you own. Create it from github:owner/repo, let it commit its own work, pull it back, reset it to upstream. Every tool call lands in an append-only audit log; compliance mode adds an opt-in SHA-256 hash chain with verification. Every run is a row in the execution ledger with its trigger, cost and outcome, and you can search across all of them.
$ git log --oneline agents/proposal-writer
a1f3c9e Q4 proposal v3 - pricing from the October sheet
8e21bb0 Q4 proposal v2 - reviewed by revenue-lead
4d07a1c Lessons from the September proposals (kept by Cornelius)
One Workspace. Every agent.
A chat per topic, a conversation rail, a live Work card while the agent runs, deliverables you can rate, files by drag-and-drop, a canvas each agent can draw on, and voice over the current chat. The same agents answer in Slack, Telegram and WhatsApp, on a phone call, over a public chat link, over MCP and from the CLI. Projects (Enterprise) give a cross-agent piece of work its tasks, its log, its health and a steward that keeps it moving.
The work compounds
Cornelius is our cognitive architecture for making the work compound. It turns what agents do into knowledge the company keeps: lessons from a run become notes, notes become instructions, instructions become the next agent's starting point - all as files in repositories you own, without retraining a model. Swap the model and what the company has built up stays.

Brain Orb (opt-in) - a knowledge-base agent renders its own notes and edges as a live graph.
Inside your perimeter. On any model.
Three runtimes - Claude Code, OpenAI Codex, Gemini CLI - and a model picker per chat. Each agent is its own container on a network the data plane cannot see. Credentials are encrypted at rest and scrubbed from the runtime; no telemetry leaves unless you opt in. Export every agent, every log and every credential, and walk away whenever you choose.

Model picker - choose the runtime per chat; the agent's state, history and permissions do not change.
Quick start
One line, on a machine you control (Docker and Docker Compose v2):
curl -fsSL https://raw.githubusercontent.com/abilityai/trinity/main/install.sh | bash