Steadmesh

Documentation

Build an agent team you can return to: give it roles, shared context and a place to work, then talk to it through Slack or a terminal. Steadmesh runs the team on Kubernetes, with its structure declared in Terraform.

New to Steadmesh? Watch the introduction for a short tour before choosing a setup guide.

Start with a team and a task

Start with a small piece of work and the roles it needs: perhaps a representative to talk with you, an engineer to make a change and a reviewer to check it. In an infrastructure repository, you describe the organisation's culture, teams, seats, harnesses, memory, tools, communication routes and external connections. Running terraform apply provisions it on Kubernetes. Once it is ready, each person can message their own representative, which keeps persistent context, delegates through the routes you declared and reports back. Work items can also be mirrored to a tracker such as Linear.

To run it you need a Kubernetes cluster whose CNI enforces NetworkPolicy, a default StorageClass, Terraform 1.5 or later and kubectl. For real work you also need credentials for the model providers your seats use, and a Slack app or terminal access for the people who talk to it. Model usage is billed by your provider.

Ways to put a team to work

These are starting points for your own instructions and configuration. Begin with a bounded task, review what the team produces, and expand its access as needed.

Choose a route

How it fits together

Infrastructure repoTerraform roots + modules steadmesh providervalidates, plans, waits for ready AgentOrganizationKubernetes custom resource Controllerseats, lifecycle, readiness Seat Podsharness + seat-runner,persistent workspace Platform serviceinbox, memory, tools gateway,operation ledger, model proxy Slack or terminalpeople message theirrepresentatives Linear (optional)mirrored work items Postgres + Secretsdurable state and credentials

Terraform is the desired-state interface. The controller keeps running after Terraform exits: it wakes sleeping seats when messages arrive, stops idle ones, recovers crashed ones and reports readiness. Seats act on external services by calling tools on the platform service, which checks each call against the grants you declared, and they reach models through the platform's model proxy, which holds the provider credentials.

Check the credential boundary before adding access. With GitHub sandbox delivery, a seat deliberately receives a GitHub credential it can read and use with git and gh, and browser sessions deliver stored session state into the sandbox. Secrets that Terraform creates can also be present in that stage's state. See where API keys go and GitHub and the sandbox.

Core concepts

ConceptWhat it means
OrganisationOne steadmesh_organization resource, which becomes one AgentOrganization object in its own namespace.
SeatA continuing agent identity with durable state: a workspace volume, memory, conversation history and an inbox. Starting a process activates a seat; replacing its container keeps that identity and durable state.
RepresentativeA seat bound to one human through a channel binding. Normal human input goes through representatives, and each has a private conversation history. See what the representative does.
Team and templateA team groups seats and gives them shared instructions and resources. Templates are reusable; for example, engineering extends base. Membership is declared on the seat.
InstructionsCulture, team and role guidance, stored as content-addressed bundles. They are applied in order: organisation, then teams, then role, then seat. Instructions shape behaviour but never grant permissions.
HarnessThe agent program that runs inside a seat: claude-code, codex, pi, or the deterministic fake used in tests. A harness is not a model: each seat's harness profile also names a model connection. A seat's harness can be changed without losing its identity or memory. See Harnesses and models.
Memory storeA searchable, revisioned record store scoped as personal, team or organisation. Agents decide what to write; the platform enforces who can read what.
Connection and grantA connection describes an external service (Slack, Linear, GitHub, a model API) by reference. A grant lets a seat or team perform specific operations on a connection, memory store or workspace.
Message routeWhich seats may message which other seats, and whether replies are allowed.
RunA recorded execution of a seat handling a delivered message. See what a run is.

Shape how your team works

Use instructions to describe how the team should divide work, share context, review changes and report back. Steadmesh provides the seats, memory, execution environments and capabilities; you choose the roles, approval expectations and definition of done. Agents coordinate within that setup. Projects and tasks live in the organisation's work items or your tracker, while Terraform defines the team and its access.

Common questions

Release and test coverage

Recorded coverage from 8 October 2026 (v0.5.0). Local end-to-end tests cover the flow from apply to conversation using deterministic fakes. The mixed-harness demo has a recorded run with real model endpoints for Claude Code, Codex and Pi seats and a real GitHub repository; Slack and Linear were fakes in that run, and its key-rotation step was skipped. These historical results do not establish a new full live run for v0.6.0. For focused new-feature checks, recorded results and remaining gaps, see Status and limits and Example run.