🪝 QAIL

The Universal Query Transpiler

SQL is Assembly. Compile to Safety.

SQL (Assembly) SELECT id, email FROM users WHERE active = true LIMIT 10;
QAIL get::users:'id'email [ 'active == true, 0..10 ]
cargo install qail
npm i qail-wasm

Why QAIL?

Write once. Run everywhere. No database dependencies.

🌐

Universal

One language for Rust, Node.js, and the Browser. Works everywhere via WASM.

Compile-Time Safe

Syntax validated at build time. No live database needed for CI/CD.

🔗

Rust-Native Syntax

' for columns, : for links, == for equality. Feels like Rust.

🦀

Zero DB Dependencies

Pure parser + transpiler. You bring your own driver (sqlx, diesel, tokio-postgres).

🎯

End-to-End Validation

Same query validation in your React frontend and Rust backend.

🧬

AST-First

Parse → AST → Transpile. Manipulate the AST for permissions, policies, and more.

One Language. Everywhere.

🦀

Rust

qail-core + qail! macro

🌐

Browser

qail-wasm (~50KB)

📦

Node.js

npm install qail-wasm

Stop writing Assembly.

Write Qail. Compile to Safety.