Start Here
kick/db is KickJS's database layer: you write the schema in TypeScript, and it derives the migrations and the query types from it. Where you begin depends on what you already have.
A new project
Pick the database you'll run in production, and follow its page from install to the first query:
- SQLite — nothing to provision, so it's the quickest way to try kick/db. Good for small apps, embedded use and tests.
- PostgreSQL — the most complete dialect. Choose it unless you have a reason not to.
- MySQL / MariaDB — when your infrastructure already runs MySQL.
The schema, migrations and queries read the same on all three; the pages differ in connection setup and a few day-one details. Drivers compares them.
An existing database
Adopting kick/db on an existing database introspects the live schema into a schema.ts, baselines the migration history so nothing re-runs, and checks that the two really match — so you can move over while your current code keeps running.
Coming from another ORM
Each guide maps that ORM's concepts onto kick/db, shows common tasks side by side, and says plainly what kick/db doesn't have yet:
Learning by building
Taskboard builds one app in five parts — modules, a database, authentication, permissions, file uploads, a production deploy — so you see the patterns in place rather than one at a time.
Then
- How kick/db works — how schema, snapshots, migrations and the typed client fit together. Reading it once makes most error messages make sense.
- Tables & Columns, Queries, Transactions, Migrations — the references you'll come back to.