Contribute

OpenModels is an open-source, community-maintained registry. Every model, provider, skill, and MCP server is a small YAML file validated against a JSON Schema. Contributions are welcome — here's how to add yours.

What you can contribute

How it works

  1. 1

    Fork & clone

    Fork the repository on GitHub and clone it locally. Create a new branch for your change.

  2. 2

    Add your YAML file

    Create a file in the right directory. The filename must match the id field inside (kebab-case).

  3. 3

    Validate locally

    Run the validation script for the registry you changed to catch schema and reference errors early.

  4. 4

    Open a pull request

    Push your branch and open a PR. CI validates your change automatically, then a maintainer reviews it.

Validate before you push

Each registry ships a Python validator that checks YAML syntax, schema conformance, duplicate IDs, and referential integrity.

# Registry (models, providers, mappings)
cd openmodels && pip install -r requirements.txt && python validate_registry.py

# Skills
cd skills && pip install -r requirements.txt && python validate.py

# MCP servers
cd mcp && pip install -r requirements.txt && python validate.py

Conventions

  • IDs use kebab-case: lowercase alphanumeric with hyphens (^[a-z0-9]+(-[a-z0-9]+)*$).
  • Filenames must match the id field inside the file.
  • Timestamps use ISO 8601 (YYYY-MM-DDTHH:MM:SS.sssZ).
  • Country codes use ISO 3166-1 alpha-2 lowercase (e.g. us, cn, uz).