# Preloop - [Introduction](https://docs.preloop.dev/introduction.md): What Preloop runs, and whether you need the self-hosted control plane or the standalone runner. - [Compatibility](https://docs.preloop.dev/compatibility.md): Understand Preloop's GitHub Actions compatibility target, verification evidence, and current limitations. - [Comparison](https://docs.preloop.dev/comparison.md): Compare Preloop with GitHub-hosted runners, official self-hosted runners, act, agent-ci, and forge-based alternatives. - [Roadmap](https://docs.preloop.dev/roadmap.md) - [Quickstart](https://docs.preloop.dev/control-plane/quickstart.md): Install the Preloop CLI, configure the engine, and run a workflow from your working tree. - [Install](https://docs.preloop.dev/control-plane/install.md): Requirements for macOS, Linux, and WSL2, the install methods for the Preloop CLI, and how to run the engine as a background service. - [Configuration](https://docs.preloop.dev/control-plane/configuration.md): Where Preloop keeps its configuration, how GitHub credentials and secrets are stored, and what state the engine keeps. - [Control-plane architecture overview](https://docs.preloop.dev/control-plane/architecture/overview.md): A tour of the self-hosted control plane, workflow engine, runner protocol, microVM pool, storage, and observability. - [HTTP APIs and durable state](https://docs.preloop.dev/control-plane/architecture/api-and-state.md): How runners, the CLI, GitHub, and operators connect to the control plane and how state changes become durable events. - [Job lifecycle](https://docs.preloop.dev/control-plane/architecture/job-lifecycle.md): How a webhook or CLI submission becomes a runner job, executes in an isolated machine, and reports checks and results. - [Workflow engine](https://docs.preloop.dev/control-plane/architecture/workflow-engine.md): How Preloop parses workflow YAML, expands jobs, builds the needs graph, and evaluates expressions. - [MicroVM pool](https://docs.preloop.dev/control-plane/architecture/sandboxes.md): How preloop serve runs each job in a microVM — VM providers, golden forks, the warm pool, and teardown. - [Observability](https://docs.preloop.dev/control-plane/architecture/observability.md): Where Preloop sends logs, Prometheus metrics, OpenTelemetry signals, and operational health state. - [GitHub App](https://docs.preloop.dev/control-plane/github/app.md): Register a GitHub App, receive signed webhooks, and publish Check Runs from a self-hosted control plane. - [GitHub tokens](https://docs.preloop.dev/control-plane/github/tokens.md): Understand the local runner credentials, job GITHUB_TOKEN, App installation tokens, and PAT fallback. - [Webhook resilience](https://docs.preloop.dev/control-plane/github/webhook-resilience.md): Understand durable webhook delivery, recovery layers, breaker behavior, and operator repair commands. - [GitHub-compatible REST API](https://docs.preloop.dev/control-plane/github/rest-api.md): Dispatch workflows and inspect or control runs through the GitHub-shaped API served by Preloop. - [Pull requests without webhooks](https://docs.preloop.dev/control-plane/guides/pull-requests-without-webhooks.md): Submit CI directly, then publish the exact tested commit and optionally open a pull request. - [Debugging failed jobs](https://docs.preloop.dev/control-plane/guides/debugging.md): Pause a failed job, inspect its live VM, repair the workspace, and retry without starting over. - [Using Preloop from coding agents](https://docs.preloop.dev/control-plane/guides/agents.md): Let a coding agent run safe checks, consume structured events, and drive a failed-job debug session before a human pushes. - [Deploy the control plane](https://docs.preloop.dev/control-plane/operate/deploy.md): Install, expose, operate, and upgrade a self-hosted Preloop control plane. - [Security and operator policy](https://docs.preloop.dev/control-plane/operate/security.md): Keep the control plane private and enforce fork, workflow, token, and secret policies from operator-owned configuration. - [Storage and retention](https://docs.preloop.dev/control-plane/operate/storage.md): Choose SQLite or Postgres, apply migrations safely, retain run data, and back up operator state. - [VM images and runner bundles](https://docs.preloop.dev/control-plane/operate/vm-images.md): Select, build, refresh, and troubleshoot the golden image and Linux runner bundle used by the microVM pool. - [Retries and capacity limits](https://docs.preloop.dev/control-plane/operate/limits.md): Tune retry behavior, pool concurrency, memory ceilings, and queue limits from an operator's perspective. - [CLI reference](https://docs.preloop.dev/control-plane/reference/cli.md): Every preloop command, subcommand, and flag, with defaults and examples. - [Environment variables](https://docs.preloop.dev/control-plane/reference/environment.md): Environment variables read by the Preloop control plane and CLI. - [Runner overview](https://docs.preloop.dev/runner/overview.md): preloop-runner is a Rust drop-in for the official GitHub Actions runner. It registers directly with GitHub or a Preloop control plane. - [Install the runner](https://docs.preloop.dev/runner/install.md): Install preloop-runner, register it with GitHub or a Preloop control plane, run it as a service, and remove it. - [Runner configuration](https://docs.preloop.dev/runner/configuration.md): Every command, flag, environment variable, and file of the standalone preloop-runner, with the official runner equivalents. - [Runner architecture](https://docs.preloop.dev/runner/architecture.md): How preloop-runner's listener and per-job worker processes poll, execute, cancel, and report GitHub Actions jobs. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.