---
title: "Record fixtures"
description: "Verify a provider's reads against the live forge."
canonical_url: "https://docs-oquac2tli-poetry.vercel.app/contributing/record-fixtures"
---
# Record fixtures

> Verify a provider's reads against the live forge.

Providers in this repository declare a capability `true` only when a test exercises it. To verify reads, record them against the live forge:

```sh
GITHUB_TOKEN=ghp_... pnpm record-fixtures github
```

`pnpm record-fixtures <forge>` runs the shared steps in `test/recording/steps.ts` against the forge. It writes the responses to `test/fixtures/<forge>/recorded/<host>/`, with a manifest that lists the steps that succeeded.

## Replay and update snapshots

`test/recorded.test.ts` replays those steps and snapshots the normalised output to `golden.json`. To update the snapshot, run:

```sh
pnpm vitest run test/recorded.test.ts -u
```

## Record other targets

Each [provider page](https://docs-oquac2tli-poetry.vercel.app/providers) lists the variables its recording reads. They name the repository, issue and pull request to record, and the base URL of a self-hosted instance. For example, GitHub reads `FIXTURE_GITHUB_REPO` and `GITHUB_BASE_URL`.

## Check the capabilities

CI runs `pnpm test:capabilities`. It fails for any capability that a provider declares `true` and no test called. See [Capabilities](https://docs-oquac2tli-poetry.vercel.app/concepts/capabilities#how-ci-enforces-it).


## Sitemap

See the full [sitemap](https://docs-oquac2tli-poetry.vercel.app/sitemap.md) for all pages.
