QUESTPIE

Documentation

QUESTPIE derives a database schema, a typed API, an admin and a client from one description of your data. These pages cover what you declare, what you write beside it, and what you configure underneath.

View markdown

Nine groups. These two teach, in order.

The other seven are where you look things up.

The shortest version

You describe a table in a file. The generator reads that file and writes a typed app object, five REST routes and a client that carries the same types. Change the description and all of them move together, because none of it was written twice.

src/questpie/server/collections/news.ts
import { collection } from "#questpie/factories";

export const news = collection("news").fields(({ f }) => ({
	title: f.text(255).label("Title").required(),
	isPublished: f.boolean().default(false),
}));

What QUESTPIE is takes that file apart: what the core builds from it, what the modules add, and which package each piece comes from.

On this page