CANONICAL DEFINITIONS

JSON Schema Directory

Machine-readable JSON Schemas conforming to standard JSON Schema specifications (Draft 2020-12 and Draft-07).

Current Stable Draft 2020-12

msr-2.1.json

MSR JSON 2.1.0: the 2.0 schema plus availability (RFC 0006), media, distribution and requirements (RFC 0008), and entity category (RFC 0009). Every 2.1 field is optional.

Download Schema (.json) View Raw Schema
Stable, still valid Draft 2020-12

msr-2.0.json

MSR JSON 2.0.0. Manifests that declare it stay valid and need no change.

Download Schema (.json) View Raw Schema
Legacy Bridge Draft-07

msr-1.1.json

Bridge format connecting legacy PAD XML structures to early JSON registries.

Download Schema (.json) View Raw Schema
Superseded Draft 2020-12

msr-2.1-draft.json

The v2.1 draft, superseded by msr-2.1.json and identical to it apart from $id. Kept so manifests that name the draft keep resolving.

Download Schema (.json) View Raw Schema
Official NPM Package · v2.0.0 npmjs.com/package/@msrjson/schema ↗

@msrjson/schema

The canonical JSON Schemas and reference manifests are published on npm for Node.js, TypeScript, and JavaScript runtimes. Bundle schemas locally for offline validation, build pipelines, and automated CI/CD without network requests.

# Install via npm
npm install @msrjson/schema

# Import canonical schemas in TypeScript / JavaScript
import msrSchema from "@msrjson/schema/msr-2.0.json";
import legacySchema from "@msrjson/schema/msr-1.1.json";
import draftSchema from "@msrjson/schema/msr-2.1-draft.json";

Referencing Schemas in Manifests

Manifests declare their canonical schema URI in the top-level $schema property. This enables code editors (such as VS Code, JetBrains, and Cursor) to provide instant auto-completion, linting, and hover documentation:

{
  "$schema": "https://msrjson.org/schemas/msr-2.1.json",
  "protocol": {
    "name": "MSR JSON",
    "version": "2.1.0",
    "author": "Antonio Santos",
    "specification_license": "CC-BY-4.0",
    "reference_implementation_license": "MIT"
  }
}

Automated Validation in CI/CD

You can validate your manifest against the canonical schema in GitHub Actions or pre-commit hooks using standard JSON Schema CLI engines:

# Using python check-jsonschema
pip install check-jsonschema
check-jsonschema --schemafile https://msrjson.org/schemas/msr-2.1.json .well-known/msr.json
# Using standard ajv-cli in Node.js
npx ajv-cli validate -s https://msrjson.org/schemas/msr-2.1.json -d .well-known/msr.json --spec=draft2020

The reference msr CLI is specified but not yet released — see the CLI reference. No install command for it is advertised here until a signed artifact exists.