# Overview

An application platform for teams whose code is written by agents. Every agent gets its own sandbox running your whole stack; staging and production run the same manifest.

Parity hosts your application: its services and the built-ins they use, Postgres, Redis, S3, SMTP, Auth and certificates. You describe the app once in `parity.yaml`. From that file Parity runs production, a staging environment that matches it, and a sandbox for every agent and every branch.

A sandbox is the whole stack. Each one is a Kubernetes namespace with its own built-ins, generated credentials, inbox and OIDC issuer, behind a default-deny network that only reaches the hosts you list. Agents drive it through the CLI, the API or MCP, and hand reviewers a signed record of what they did.

<Cards>
  <Card href="/quickstart" title="Quickstart">From a repository to a running sandbox.</Card>
  <Card href="/guides/agents" title="Agents">Give a coding agent its own sandbox and token.</Card>
  <Card href="/manifest" title="Manifest">Every key of parity.yaml.</Card>
  <Card href="/reference/cli" title="CLI">Every parity command and flag.</Card>
  <Card href="/reference/api" title="API">Every endpoint and the permission it needs.</Card>
  <Card href="/reference/mcp" title="MCP">The tools agents call.</Card>
</Cards>

## The model [#the-model]

| Term | What it is |
| --- | --- |
| **Project** | One application and its repository. It holds the manifest, members, secrets and environments. |
| **Manifest** | `parity.yaml`: the app's services, built-ins, jobs and egress allowlist. One file for every environment. |
| **Sandbox** | A short-lived copy of the whole app for one task, created by `parity up`. |
| **Build** | One commit's images and the rollout steps they ran in each environment. |
| **Staging** | Follows your default branch. Every merge builds and deploys to it. |
| **Production** | Changes only when someone promotes a build that passed staging. |

## In one file [#in-one-file]

```yaml title="parity.yaml"
version: 1
project: shop

managed:
  db:    { type: postgres }
  cache: { type: redis }
  mail:  { type: email }

services:
  web:
    build: .
    health: { http: /healthz }
    expose: true
    depends_on: [db, cache, mail]

jobs:
  migrate: { service: web, command: npm run migrate, on: deploy }
```

```sh title="Terminal"
parity up
```
