Holocron
A declarative schema & query compiler — one YAML file as the single source of truth for your SQL schema and a type-checked query catalog.
What is this?
Holocron is a compiler whose target language is SQL. You write one declarative YAML file that defines both:
- your database schema (tables, views, indexes), and
- a semantic rulebook — which columns are filterable/searchable/sortable, what the aggregates and entities are, who owns a row, which view is the default list.
From that single file it produces the physical schema and an in-memory catalog. Any query — written in RSQL (compact, URL-friendly) or YAML (full specs) — is type-checked against the catalog before it runs: unknown field, not-filterable, wrong-operator-for-type are caught at build time, with no database connection needed, because the YAML is the schema.
Why
ORMs are code-first and language-bound, and migration tools know nothing about how the app is allowed to use the data. Holocron's novel piece is the bridge: one declarative source that is simultaneously the physical schema and the application's query/authz/read contract, consumable from any language.
The guarantee: any query that compiles is well-formed against the declared schema — every field exists, is allowed, and is used with a valid operator for its type — and produces runnable SQL.
Status
⚠️ Early / design phase. The what is settled; the implementation is just getting
started. The full design, rationale, and roadmap live in
holocron-seed/DESIGN.md.
Installation
Or add it as a dependency:
Development
This project uses Conventional Commits. Releases
are fully automated: merging to main bumps the version, updates the changelog, tags,
publishes to crates.io, and creates a GitHub Release.
pre-commit hooks mirror CI (formatting, clippy, tests, commit linting):
License
Licensed under the Mozilla Public License 2.0.