Skip to main content

Schemalint

Schemalint is a static analysis tool that checks your JSON Schemas for compatibility with LLM structured-output providers like OpenAI and Anthropic. It catches keywords, patterns, and structural choices that will be rejected or silently altered by a provider's API before you submit them.

Features

  • Provider-aware: Built-in profiles for OpenAI Structured Outputs and Anthropic Structured Outputs
  • Multi-format output: Human-readable, JSON, SARIF, GitHub Actions annotations, JUnit XML
  • CI-ready: Zero-config integration with GitHub Actions, pre-commit hooks, and any CI pipeline
  • Language integrations: First-class helpers for Python (Pydantic) and Node.js (Zod)
  • JSON-RPC server: Headless mode for editor and tool integration

Quick Start

# Install via cargo
cargo install schemalint

# Check a schema against OpenAI
schemalint check --profile openai.so.2026-04-30 schema.json

# Check against Anthropic
schemalint check --profile anthropic.so.2026-04-30 schema.json

Supported Providers

ProviderProfileVersion
OpenAI Structured Outputsopenai.so.2026-04-302026-04-30
Anthropic Structured Outputsanthropic.so.2026-04-302026-04-30

License

Schemalint is licensed under MIT OR Apache-2.0.