Introduction

Quickstart

Run a blog API locally, then add a field to its database and API.

This guide takes about ten minutes. You need Node.js 22.12 or newer and pnpm 10 or newer. You do not need a cloud account.

1. Create a Project

Run these commands from the directory where you keep your projects. Choose Standalone for an API server, or Nuxt for an application with pages and an API:

pnpm dlx @cloudconfig/core@beta init blog-api --target standalone
cd blog-api
pnpm install

The CLI creates cloud.config.ts, a post model, and the project scripts used below. The Nuxt option also registers @cloudconfig/nuxt inside the application.

The --target flag here chooses a framework. You will choose a hosting platform later, when you deploy.

2. Create the Database

Generate a SQL migration from the config, then apply it to local SQLite:

pnpm db:generate
pnpm db:migrate

The first command writes migration files. The second creates the tables. Keep the generated SQL and migrations/meta snapshots in version control.

3. Make Your First Request

Start the development server:

pnpm dev

Open http://localhost:3000/api/_docs. Expand GET /api/posts, select Try it out, then Execute.

You should receive a successful response with an empty list: there are no posts yet. The same routes are available in both framework options. In Nuxt, they run alongside your pages.

You now have a local database, validated REST routes, access rules, and interactive API documentation.

4. Store a Summary with Each Post

Open cloud.config.ts. Add this line beside title in the existing post model, keeping its other fields and access rules:

cloud.config.ts
summary: t.text(),

Update the database:

pnpm db:generate
pnpm db:migrate

Review the new SQL file: it adds the summary column. Restart the development server and reopen /api/_docs. The post schema now includes summary; the typed client also accepts the new field.

What to Learn Next

Continue with Essentials to describe fields, decide who can change a post, and call the API with types.

You can stay on local SQLite while building. Read Deployment when you are ready to put the app online.

Copyright © 2026