From an empty folder to a live REST API

Empty folder to a working, authenticated REST API. The only prerequisite is Node 20 or newer.

1. Create the project

$ npm create crescodb@latest my-app installing CrescoDB… ✔ created cresco.db ✓ my-app is ready.

That one command makes the folder, installs CrescoDB into it, builds the database, starts the server and opens the dashboard connected to it. Sign in when it asks, and the dashboard's checklist walks you through the next steps.

Want a head start? Add a starter: npm create crescodb@latest my-app -- --template store. The others are auth, blog, chat, payments and todo.

schema.cresco is the whole thing: your models, your fields, and who is allowed to read them. It is JSON, it lives in your repo, and it is the only place you describe your data.

2. Start it again later

$ cd my-app $ npm run dev REST API on :3000 · dashboard opened

Every model has full CRUD. GET, POST, PUT, PATCH and DELETE on the collection and on /:id, plus bulk insert, filtering, ordering and pagination. You did not write a route.

3. Add auth

$ npx cresco create auth ✓ auth/login.js · auth/register.js · auth/middleware.js … ✓ wired into cresco.routes.mjs

Those are real files in your project that you own and can edit. Not a dependency you have to guess at. If you want to change how login works, you open the file.

4. Check it before it ships

$ npm run audit

This answers "who can read this table" from the schema in your repo, offline. It is worth running before you deploy anything, and cresco deploy refuses to ship on a critical finding.

Where to go next

The full command reference, the SDK, storage, realtime and deployment all live in the docs.

Common questions

What do I need installed?

Node 20 or newer. That is the only prerequisite. No Docker, no database server, no cloud account.

Does this cost anything?

No. Local development is free forever with no card. The dashboard asks you to sign in to a free account.

Can I use Postgres instead of SQLite?

Yes, from day one. Point CrescoDB at Postgres or MySQL in config and the same schema and the same API work unchanged.

Keep reading
How do I know my backend is safe to deploy?Check which database tables are publicly readable before you deploy, offline, from the schem… Deploying to your own serverShip a CrescoDB backend to a VPS you own, with automatic HTTPS, an access audit that runs fi…

Try it

$ npm create crescodb@latest my-app

Local development is free forever, with no card. Read the docs or see pricing.