Features¶
Polychro combines deterministic linting primitives, integration surfaces, and extension points into a single validation engine for semi-structured specifications.
Key features¶
| Feature | Description |
|---|---|
| CLI | Single binary - lint any YAML/JSON/XML/Markdown/HTML spec from the command line |
| MCP Server Mode | Expose linting as MCP tools for AI agent consumption |
| Native Executable | Standalone binaries for Linux, macOS, and Windows - no JVM required |
| GitHub Action | Lint specs in CI with structured SARIF output |
| Spectral-Format Rulesets | Execute governance rulesets with given/then semantics |
| Polyglot Custom Functions | JavaScript, Python, and Groovy custom functions via sandboxed GraalVM |
| Java Custom Functions | Native RuleFunction SPI - fastest path, no GraalVM required |
| Schema-Model Validation | Formal document models including JSON Schema Draft 2020-12 and JSON Structure |
| Well-Formedness Validation | Duplicate keys, encoding, depth limits, YAML-specific traps |
| Format-Aware Validation | Heading hierarchy, internal links, relative file references, HTML structure / accessibility / security, and other document-specific checks |
| Unified Diagnostics | All validators produce the same Diagnostic format - one pipeline, one output |
| Pluggable SPI | Add custom validators via ServiceLoader - zero framework coupling |
| Embeddable Java API | In-process linting for JVM applications - no subprocess, no Node.js |
| SDK Clients | Idiomatic wrappers for Go, Node.js / TypeScript, and Python over the native binary |
Next Steps¶
- Getting Started — Install Polychro and run your first lint
- Architecture — See how the feature set maps to modules
- Tutorial — Follow an end-to-end workflow