A compiler front-end for Cypher and GQL, written in Rust. Lex, parse, type-check, lint, format, and lower queries to a logical plan IR. cyrs does not execute queries — that is the database's job.
cargo install cyrs-clicypher parse demo/samples/good.cyp
cypher check demo/samples/unknown_var.cyp
cypher fmt demo/samples/needs_fmt.cypAs a library: cyrs-lang.
As a language server: cyrs-lsp — see demo/.
openCypher v9 TCK: 3 632 / 3 897 scenarios accepted (93.2 %).
GQL ISO/IEC 39075:2024 bootstrap: 140 / 140 scenarios accepted
(100 %); 153 of 574 grammar productions reached (26.7 %).
All numbers measure parser acceptance, not runtime conformance.
Breakdown: docs/coverage.md.
docs/overview.md— what each layer is, in plain words.docs/concepts/— per-layer concept guides.docs/integration-depth.md— decision table for which layer to consume.docs/specs/— normative architecture commitments.AGENTS.md— context for AI agents working on this repo.
0.1.0 on crates.io. Pre-1.0; the API is depend-able, with minor breakage
possible on the path to 1.0. Surface-by-surface stability contract:
docs/stability.md.
Dual-licensed under Apache-2.0 OR MIT. Contributions are dual-licensed under the same terms unless stated otherwise.
