Kysely is a TypeScript SQL query builder inspired by Knex.js. It checks table and column references at compile time and infers result row types, including aliases, subqueries and `with` statements. It targets Node.js and also runs on Deno, Bun, Cloudflare Workers and browsers. It is not an AI project, so it fits this list only loosely.
Who it is for: TypeScript developers who want typed SQL without an ORM
Strengths
Result types contain only selected columns, with aliases inferred from the query
Dialects for PostgreSQL, MySQL, MSSQL, SQLite and PGlite
Runs on Node.js, Deno, Bun, Cloudflare Workers and browsers
`sql` template tag and DynamicModule cover queries that cannot be typed statically
Weaknesses
Query builder only: no auth, storage or API layer, and no AI features
Table types must be declared or generated, for example with kysely-codegen
Not an ORM, so no relation mapping or model layer
What it needs
no GPU
Compose
Needs PostgreSQL, MySQL, MSSQL, SQLite or PGlite database
Quick answers
Is kysely open source?
Yes. Its code is on GitHub under the MIT license.
Can you run kysely with Docker?
Yes. Its repository has a Docker setup: a Dockerfile, a Compose file or a published image.