nimbus

Developer quickstart

Scaffold a Nimbus app, write TypeScript functions, and get reactive queries in about five minutes.

Build an app on Nimbus with server-side TypeScript functions and reactive queries. If you'd rather connect existing drivers (MongoDB, Firestore, plain HTTP), see the self-host quickstart.

1. Install Nimbus

brew trust --cask nimbus/tap/nimbus
brew install --cask nimbus/tap/nimbus

Other platforms ship via the install script and release binaries — see the install options.

For Convex-style authoring, also install Node.js 22 or newer with npm. Nimbus runs codegen inside its own binary; Node is only needed to install your project's npm dependencies.

2. Scaffold an app

nimbus init convex my-app
cd my-app

nimbus init convex scaffolds backend files only: a schema, an example query and mutation, package.json, tsconfig.json, and .gitignore. Add your own frontend, or point an existing one at the local deployment URL.

3. Start the dev server

nimbus dev

nimbus dev auto-runs npm install when declared packages are missing, creates a demo tenant, and serves on localhost:3210. Adapter detection is automatic — here it picks Convex from the convex/ directory; a Firebase, MongoDB-driver, or DynamoDB-SDK app is detected the same way, with no flag. It watches the TypeScript files, re-runs codegen on change, and activates updated functions with reactive subscriptions.

4. Write functions

// convex/messages.ts
import { query, mutation } from "./_generated/server";
import { v } from "convex/values";

export const list = query({
  args: {},
  handler: async (ctx) => await ctx.db.query("messages").take(50),
});

export const send = mutation({
  args: { author: v.string(), body: v.string() },
  handler: async (ctx, { author, body }) =>
    await ctx.db.insert("messages", { author, body }),
});
// In your React app — data updates in real time
const messages = useQuery(api.messages.list);

No REST endpoints, no GraphQL, no polling — your frontend gets reactive queries and mutations from a single local process.

Next steps

  • Deploy to production — take this app from nimbus dev to a production server with one command.
  • Convex example apps — runnable apps, including the shared tasks list with a live reactive query.
  • Developers — functions, schema, scheduling, file storage, auth, and the per-adapter guides.
  • Concepts — how the engine, data model, and tenancy work.
  • Reference — CLI commands and configuration.

On this page