Skip to content

Get started

Choose the database your application already uses. Each quickstart creates one table, generates a schema snapshot, proves an exact query contract with the stable compiler, and executes through an explicitly selected driver adapter.

  1. Database schema
  2. Schema snapshot
  3. SQL template
  4. Compiler check
  5. Driver execution

The snapshot is compiler input. Application code imports sql from its grammar package and keeps connection, pool, migration, and lifecycle ownership.

Choose a database

All three grammar packages are stable. Their supported database ranges and exact verification targets differ, so each path links its dialect evidence before setup.

What every path establishes

  1. Install one grammar and explicitly select its driver or built-in runtime.
  2. Create the smallest configuration needed for introspection and checking.
  3. Generate deterministic schema evidence.
  4. Write SQL with values represented as parameters.
  5. Run typed-sql check and inspect the exact row and ordered parameter tuple.
  6. Execute the same query object without moving connection ownership into typed-sql.
  7. Confirm that an invalid parameter is rejected.

This first success does not require manifests, live verification, plan capture, migration analysis, observability, or editor extensions.

Stable check, optional editor

typed-sql check is the stable, authoritative correctness path. Published declarations fail closed, so an ordinary TypeScript server can display Query<unknown> even after the CLI proves an exact contract. The optional language server provides richer hovers through an isolated TypeScript preview process and remains experimental.

Read Compiler and editor workflow after completing a dialect quickstart.

Shared references

Released under the MIT License.