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. Install

$ npm i -g crescodb

You can also run it without installing, with npx crescodb. The global install is worth it because everything after this is a cresco command.

2. Create a project

$ cresco init --starter ✓ created schema.cresco (starter demo) ✓ created config.json ✓ created cresco.routes.mjs ✔ created cresco.db

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.

3. Start the server

$ cresco dev REST API on :3000 · dashboard ready

Every model now 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.

4. Add auth

$ 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.

5. Check it before it ships

$ cresco 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 account and no card.

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 i -g crescodb

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