> ## Documentation Index
> Fetch the complete documentation index at: https://docs-stg.outerlayer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# What OuterLayer is

> An open-source software factory: issue in, reviewed and verified code out, on your agents, in your repos.

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](/concepts) defines both, with every other term.

Use the hosted service at [app.outerlayer.ai](https://app.outerlayer.ai), which is invite-only for now, or read the source on [GitHub](https://github.com/outerlayerai/outerlayer).

## How it works

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/outerlayer-stg/M2z6K_ww2sAtqE1w/images/work-overview-light.svg?fit=max&auto=format&n=M2z6K_ww2sAtqE1w&q=85&s=0bad0592f2c12fd199f0acfeeec3482e" alt="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." width="660" height="690" data-path="images/work-overview-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/outerlayer-stg/M2z6K_ww2sAtqE1w/images/work-overview-dark.svg?fit=max&auto=format&n=M2z6K_ww2sAtqE1w&q=85&s=d92d50b84e153226edcedc2222a613fc" alt="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." width="660" height="690" data-path="images/work-overview-dark.svg" />
</Frame>

See [How a work item flows](/how-a-work-item-flows) for each step, and [Key concepts](/concepts) for the terms.

## What you get

<CardGroup cols={2}>
  <Card title="Only the sessions you name leave your machine" icon="shield-check">
    A session uploads only when you start it naming the work item it is for. Any other session stays on your machine.
  </Card>

  <Card title="See what each change cost" icon="coins">
    Open any pull request and see the agent sessions behind it, what they did, and what they cost.
  </Card>

  <Card title="A person approves before the merge" icon="gavel">
    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](/policy-and-validators#the-outerlayer-evidence-check).
  </Card>

  <Card title="Agent instructions versioned and tracked" icon="chart-line">
    The instruction files and skills your agents read are versioned, and the Context overview shows which skills and servers your sessions use.
  </Card>
</CardGroup>

## Where to start

<Steps>
  <Step title="Get your first issue on the Work page">
    The [quickstart](/quickstart) ends with one of your issues built into a pull request by a session you start.
  </Step>

  <Step title="Set up a host">
    [Set up your first host](/set-up-a-host) adds the machine where a runner builds the items you queue with **Build**, unattended.
  </Step>

  <Step title="Understand the launch gate">
    [Launch a session](/launch-a-session) explains the one rule that decides what uploads.
  </Step>

  <Step title="Bring your team">
    [Invite your team](/invite-your-team) covers adding people, each signed in on their own machine. To add another repository, see [Connect a repository](/connect-repository).
  </Step>
</Steps>

## Running your own instance

Builds already run on your own machines, with [self-hosted runners](/run-work-on-your-machines). The platform stays at app.outerlayer.ai, and each build and its code stay on a machine you control.

[Self-hosting the platform](/self-host) itself, meaning the dashboard, the gateway and the database, is coming soon.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.