# Opslane > Opslane watches errors and session recordings from a web app, investigates the ones worth fixing against the connected repository, and opens a pull request whose build and tests ran in a sandbox. When it cannot fix something it records a reason code. Self-hosted with Docker Compose. JavaScript browser errors and GitHub repositories are supported end to end. Reference tables (SDK options, HTTP routes, environment variables, reason codes) are checked against source on every CI run, so they are the authoritative answer for exact names and values. Keys come in three scopes: opslane_pk_ ingest keys ship in the browser bundle, opslane_sk_ source-map keys stay in CI, and opslane_ak_ MCP keys let a coding agent read issues. ## Documentation Sets - [Abridged documentation](https://docs.opslane.com/llms-small.txt): a compact version of the documentation for Opslane, with non-essential content removed - [Complete documentation](https://docs.opslane.com/llms-full.txt): the full documentation for Opslane - [Reference only](https://docs.opslane.com/_llms-txt/reference-only.txt): SDK options, HTTP routes, environment variables, and reason codes ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation ## Optional - [Run Opslane locally](https://docs.opslane.com/quickstart/self-host/): Docker Compose stack and a first event - [Install the SDK](https://docs.opslane.com/install/): React, Vue, or vanilla setup, identity, and environment labels - [Connect GitHub](https://docs.opslane.com/guides/github-app/): GitHub App or token, permissions, webhooks - [Source maps](https://docs.opslane.com/guides/source-maps/): Vite plugin and OPSLANE_SOURCEMAP_KEY - [How Opslane works](https://docs.opslane.com/how-it-works/): From captured errors to verified fix pull requests - [Friction and session recordings](https://docs.opslane.com/guides/friction/): Rage clicks, dead clicks, and promotion - [Environments](https://docs.opslane.com/guides/environments/): Labels, the project default, and action scope - [API keys](https://docs.opslane.com/guides/api-keys/): Ingest, source-map, and MCP keys; creation and rotation - [Connect a coding agent](https://docs.opslane.com/guides/mcp/): Connect Claude Code or Codex to the remote MCP server - [Slack notifications](https://docs.opslane.com/guides/slack-notifications/): Webhooks, alerts, and the daily digest - [Your data](https://docs.opslane.com/architecture/trust/): What Opslane collects and what each integration sends out - [SDK options](https://docs.opslane.com/reference/sdk-options/): Every init() option with type and default - [Reason codes](https://docs.opslane.com/reference/reason-codes/): Every needs_human code with its remediation - [Environment variables](https://docs.opslane.com/reference/environment-variables/): Every variable each service reads - [HTTP routes](https://docs.opslane.com/reference/http-routes/): Every route with its auth mode