# JSON Schemas

All schemas use JSON Schema 2020-12. Each `$id` is the URL the file is served at, and the files are served byte for byte. Clients compare `$schema` values as opaque strings and need not fetch them.

## Editor's draft

| Schema | Describes |
|---|---|
| [catalog.schema.json](draft/catalog.schema.json) | `<base>catalog.json` |
| [entry.schema.json](draft/entry.schema.json) | `<base>entries/*.json` |
| [install-prompt.schema.json](draft/install-prompt.schema.json) | install prompt objects |
| [lock.schema.json](draft/lock.schema.json) | the lock kept in the source repository |
| [case.schema.json](draft/case.schema.json) | conformance `case.json` files |
| [terms.schema.json](draft/terms.schema.json) | the glossary, `glossary/terms.json` |

Draft identifiers use `/schemas/draft/` and change meaning without notice. Released versions will live at `/schemas/<version>/` and never change.
