# Sponson > One release, one plan. Declares and applies everything that ships beside the code. - [Introduction](https://sponson.mintlify.app/index.md): Sponson is the plan for everything that ships beside the code. - [Quickstart](https://sponson.mintlify.app/quickstart.md): Write a plan, read the diff, apply it: locally and in GitHub Actions. - [Concepts](https://sponson.mintlify.app/concepts.md): How a plan runs, where receipts live, and how Sponson is verified without a cloud account. - [CI with GitHub Actions](https://sponson.mintlify.app/guides/github-actions.md): One action for the whole life of a preview environment, and production behind an approval. - [Agents and MCP](https://sponson.mintlify.app/guides/agents.md): Drive Sponson from an agent: the MCP tools, the JSON envelope and the agent skill. - [Adopting an existing project](https://sponson.mintlify.app/guides/adopting.md): Bring resources that already exist under a plan without copying their values or ever destroying them. - [Production approvals](https://sponson.mintlify.app/guides/production-approvals.md): Production is never inferred, and no run writes to it without a named human approver. - [Integrations](https://sponson.mintlify.app/integrations/overview.md): Run Sponson from GitLab CI/CD, CircleCI, Bitbucket Pipelines and agent tools. - [GitLab CI/CD](https://sponson.mintlify.app/integrations/gitlab-ci.md): Merge request pipelines: plan, apply, finish after the deploy, destroy when the environment stops. - [CircleCI](https://sponson.mintlify.app/integrations/circleci.md): Plan and apply on pull request branches, destroy through the API, production behind a hold job. - [Bitbucket Pipelines](https://sponson.mintlify.app/integrations/bitbucket-pipelines.md): Pull request pipelines, a custom destroy pipeline, and production as a manual deployment step. - [Agent tools](https://sponson.mintlify.app/integrations/agent-tools.md): The MCP server and the skill in Claude Code, Cursor, Codex CLI, Windsurf and VS Code. - [Supported providers](https://sponson.mintlify.app/reference/providers.md): Every provider Sponson manages, by category: what it manages, the op or recipe, the credential and a line to start from. - [Plan format](https://sponson.mintlify.app/reference/plan-format.md): Every key of release.plan.yaml, the value forms, environments and the built-in ops. - [Errors](https://sponson.mintlify.app/reference/errors.md): Every error code, its exit code and remedy. - [CLI](https://sponson.mintlify.app/reference/cli.md): The sponson commands and their options. - [Examples](https://sponson.mintlify.app/reference/examples.md): Complete, tested plans to start from. - [API verification](https://sponson.mintlify.app/reference/api-verification.md): How the fake cloud's assumptions are checked against the real provider APIs. - [Recipes](https://sponson.mintlify.app/reference/recipes.md): Verified, tested building blocks for the generic http adapter: one line per provider operation. - [Provider coverage](https://sponson.mintlify.app/reference/coverage.md): Which per-environment SaaS state Sponson covers today, and the plan to cover the rest. - [Contributing](https://sponson.mintlify.app/contributing/contributing.md): Set up, run the tests, add an adapter, a secret source or a scenario. - [Architecture](https://sponson.mintlify.app/contributing/architecture.md): How plan and apply run through the code: the ledger, scopes, references and redaction. - [Decision records](https://sponson.mintlify.app/contributing/decisions.md): The design decisions behind Sponson and why they were made. - [ADR 0001: The plan file is YAML, not a DSL](https://sponson.mintlify.app/contributing/adr/0001-plan-file-is-yaml-not-a-dsl.md): Architecture decision record 0001. Status: Accepted - [ADR 0002: Three commands](https://sponson.mintlify.app/contributing/adr/0002-three-commands.md): Architecture decision record 0002. Status: Accepted - [ADR 0003: Receipts live on an orphan git branch, behind a ReceiptStore interface](https://sponson.mintlify.app/contributing/adr/0003-receipts-on-an-orphan-git-branch.md): Architecture decision record 0003. Status: Accepted. Amended by 0016: each environment and scope now has its own branch, - [ADR 0004: Apply phases are inferred from output availability](https://sponson.mintlify.app/contributing/adr/0004-apply-phases-inferred-from-output-availability.md): Architecture decision record 0004. Status: Accepted - [ADR 0005: Receipts are a ledger keyed by resource identity, with write-ahead intents](https://sponson.mintlify.app/contributing/adr/0005-receipts-are-a-ledger-with-write-ahead-intents.md): Architecture decision record 0005. Status: Accepted. Introduced in v0.2; receipts are version 2, and version 1 receipts are migrated when read. - [ADR 0006: Four kinds of drift, and apply refuses changed values](https://sponson.mintlify.app/contributing/adr/0006-drift-kinds-and-refusing-changed-values.md): Architecture decision record 0006. Status: Accepted - [ADR 0007: { keep: true } for adopting existing values](https://sponson.mintlify.app/contributing/adr/0007-keep-true-for-adoption.md): Architecture decision record 0007. Status: Accepted. Introduced in v0.2, replacing adopted values written as { secret: "env://KEY" }. - [ADR 0008: Scopes, pull request succession, and leases](https://sponson.mintlify.app/contributing/adr/0008-scopes-succession-and-leases.md): Architecture decision record 0008. Status: Accepted. Leases and succession were introduced in v0.2. Extended by 0019 (leases on - [ADR 0009: Single-point redaction](https://sponson.mintlify.app/contributing/adr/0009-single-point-redaction.md): Architecture decision record 0009. Status: Accepted. The redactor was rebuilt in v0.2. - [ADR 0010: One JSON envelope and an ERROR_CODES table](https://sponson.mintlify.app/contributing/adr/0010-one-json-envelope-and-error-codes-table.md): Architecture decision record 0010. Status: Accepted. Introduced in v0.2. - [ADR 0011: Testing against a local fake cloud with chaos, scenarios, journeys and property invariants](https://sponson.mintlify.app/contributing/adr/0011-testing-against-a-local-fake-cloud.md): Architecture decision record 0011. Status: Accepted - [ADR 0012: One flat plan with per-line environment filters; production is never inferred](https://sponson.mintlify.app/contributing/adr/0012-flat-plan-with-environment-filters.md): Architecture decision record 0012. Status: Accepted - [ADR 0013: Rollback undoes only what this run created](https://sponson.mintlify.app/contributing/adr/0013-rollback-undoes-only-this-run.md): Architecture decision record 0013. Status: Accepted - [ADR 0014: Secrets are references, never values](https://sponson.mintlify.app/contributing/adr/0014-secrets-are-references.md): Architecture decision record 0014. Status: Accepted - [ADR 0015: Adapters and secret sources describe themselves](https://sponson.mintlify.app/contributing/adr/0015-adapters-describe-themselves.md): Architecture decision record 0015. Status: Accepted - [ADR 0016: One receipts branch per environment and scope](https://sponson.mintlify.app/contributing/adr/0016-one-receipts-ref-per-scope.md): Architecture decision record 0016. Status: Accepted. Amends ADR 0003. - [ADR 0017: A generic, declarative http adapter](https://sponson.mintlify.app/contributing/adr/0017-generic-http-adapter.md): Architecture decision record 0017. Status: Proposed - [ADR 0018: Once-only outputs resolve to { keep: true } after the run that revealed them](https://sponson.mintlify.app/contributing/adr/0018-once-only-outputs.md): Architecture decision record 0018. Status: Proposed. Introduced with the planetscale adapter; amended (see "Amendment: proof by fingerprint, and - [ADR 0019: Locks on shared parent objects](https://sponson.mintlify.app/contributing/adr/0019-parent-object-locks.md): Architecture decision record 0019. Status: Accepted. Extends ADR 0008 (leases) and - [ADR 0020: Recipes: verified http specs as one-line building blocks](https://sponson.mintlify.app/contributing/adr/0020-recipes.md): Architecture decision record 0020. Status: Proposed. Amended by ADR 0023 (Amendment 5's Google Cloud Run recipe is replaced by - [ADR 0021: Manual steps for state no API can manage](https://sponson.mintlify.app/contributing/adr/0021-manual-steps.md): Architecture decision record 0021. Status: Proposed. Independent of ADR 0020 (recipes); verify reuses the generic adapter of ADR 0017. - [ADR 0022: One-off actions: http.action](https://sponson.mintlify.app/contributing/adr/0022-one-off-actions.md): Architecture decision record 0022. Status: Proposed. Builds on ADR 0017 (the generic adapter) and ADR 0020 - [ADR 0023: Cloud Run revisions: cloud_run.revision](https://sponson.mintlify.app/contributing/adr/0023-cloud-run-revisions.md): Architecture decision record 0023. Status: Proposed. Amends ADR 0020 (Amendment 5's Google Cloud Run decision): the cloud_run.traffic_tag - [Security policy](https://sponson.mintlify.app/contributing/security.md): Supported versions, how to report a vulnerability, and what is in scope. - [Roadmap](https://sponson.mintlify.app/contributing/roadmap.md): What Sponson needs next, cut into pieces one contributor can pick up. - [Changelog](https://sponson.mintlify.app/contributing/changelog.md): Notable changes in every release. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.