AGENTS.md@mirrord/config · git:20261028.be6a47a · 2026-10-28 · sha256 25a2f9cffa0fa2f8
AGENTS.md@mirrord/config git:20261028.be6a47aA
Immutable. This exact content never changes and is served at /api/v1/blob/25a2f9cffa0fa2f8.
# `mirrord-config`
## Overview
`mirrord-config` holds the config types and their validation, which the CLI and the layer use to decide what features
are enabled and what target to use.
## Plans
Every option records the plan it needs (`oss`, `team`, or `enterprise`, per its docs page) as `x-mirrord-plan` in the
schema, as a `mirrord_config::plan::Plan`: `#[config(plan = Team)]` on `MirrordConfig` fields,
`#[schemars(extend("x-mirrord-plan" = crate::plan::Plan::Team))]` elsewhere. Nested options inherit it, except that
every option under `feature` and every target kind needs its own; tests in `mirrord-mcp` fail on an option without
one.
## Schemas and Docs
The doc comments here are user documentation. They go into `mirrord-schema.json`, and on each release that changes
it, the release workflow publishes them as the configuration reference, onto this repository's `docs` branch.
`<!--${internal}-->` keeps a doc comment out of the reference. `typos` checks this crate's Rust in CI.
After any change to the types or their docs, regenerate the schema, or `schema_file_is_up_to_date` fails. The same
change can reach `mirrord-up-schema.json`, which `mirrord/up/AGENTS.md` covers.
```bash
cargo test -p mirrord-config check_schema_file_exists_and_is_valid_or_create_it -- --ignored --nocapture
```