Skip to main content
OuterLayer is an open-source software factory. An issue goes in, and a reviewed pull request comes out, with the checks it passed and what it cost. Your coding agents do the work, in your own GitHub repositories. OuterLayer records each agent session, joins it to the pull request it produces, and checks that pull request for the evidence you require. It is not another coding agent. Claude Code sessions are recorded as work. Codex CLI and Cursor sessions are captured on your machine only. Two words you will meet on every page: factory and Work page. Key concepts defines both, with every other term. Use the hosted service at app.outerlayer.ai, which is invite-only for now, or read the source on GitHub.

How it works

From issue to shipped: an issue is added as a work item. Build sends it to a host, Build locally leaves it for your own session. Either way an agent session runs, declares a pull request, and checks are recorded on the item. A person reviews once the agent is done, even while checks run; a request for changes goes back to the agent, an approval waits for the checks and leads to merge and the item ships with its cost and time.From issue to shipped: an issue is added as a work item. Build sends it to a host, Build locally leaves it for your own session. Either way an agent session runs, declares a pull request, and checks are recorded on the item. A person reviews once the agent is done, even while checks run; a request for changes goes back to the agent, an approval waits for the checks and leads to merge and the item ships with its cost and time.
See How a work item flows for each step, and Key concepts for the terms.

What you get

Only the sessions you name leave your machine

A session uploads only when you start it naming the work item it is for. Any other session stays on your machine.

See what each change cost

Open any pull request and see the agent sessions behind it, what they did, and what they cost.

A person approves before the merge

On the item’s page in the dashboard, the Merge pull request button stays disabled until a person approves. GitHub’s own merge button is not blocked by default. You can block it when a check fails or a person asks for changes. To do so, turn on session summaries and set merge_gate: on-flag in the policy. Then require the OuterLayer evidence check in branch protection. See The OuterLayer evidence check.

Agent instructions versioned and tracked

The instruction files and skills your agents read are versioned, and the Context overview shows which skills and servers your sessions use.

Where to start

1

Get your first issue on the Work page

The quickstart ends with one of your issues built into a pull request by a session you start.
2

Set up a host

Set up your first host adds the machine where a runner builds the items you queue with Build, unattended.
3

Understand the launch gate

Launch a session explains the one rule that decides what uploads.
4

Bring your team

Invite your team covers adding people, each signed in on their own machine. To add another repository, see Connect a repository.

Running your own instance

Builds already run on your own machines, with self-hosted runners. The platform stays at app.outerlayer.ai, and each build and its code stay on a machine you control. Self-hosting the platform itself, meaning the dashboard, the gateway and the database, is coming soon.