Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Quickstart

This guide gets you from zero to a running Reactor server on your machine. By the end you will have a project directory, a local dev server with ephemeral Postgres, and a deployed bundle ready for a remote target.

  • macOS or Linux — Windows is supported via WSL2.
  • curl — for the install script (optional).
  • Homebrew (macOS/Linux) or Rust 1.78+ — for CLI installation.
Terminal window
brew install reactor-cloud/tap/reactor

Verify the installation:

Terminal window
reactor version

Expected output (version numbers will vary):

reactor-cli 0.1.0
reactor-server (not running)

Initialize a new project in the current directory’s parent:

Terminal window
reactor init my-app
cd my-app

This creates:

PathPurpose
reactor.tomlProject manifest — ID, name, capability paths
.reactorignorePatterns excluded from deploy bundles
functions/hello/index.tsSample HTTP function
data/migrations/001_sample.sqlSample database migration
functions/, sites/, data/migrations/Empty scaffold directories

Inspect the manifest:

Terminal window
reactor project show

From your project root:

Terminal window
reactor dev

reactor dev does the following:

  1. Starts an embedded PostgreSQL instance (ephemeral — data resets when you stop).
  2. Runs pending SQL migrations from data/migrations/.
  3. Launches reactor-server with all capabilities enabled.
  4. Prints the local endpoint (default http://localhost:8080).

Leave this terminal open. Open a second terminal for the commands below.

Prefer a daemon-style server?

Terminal window
reactor up # start in background
reactor status # check health
reactor down # stop
Terminal window
reactor doctor
reactor data migrate # ensure migrations are applied
reactor functions list

Migrations run automatically during reactor dev, but you can apply them manually:

Terminal window
reactor data migrate

Inspect a table after migration:

Terminal window
reactor data inspect items

Local dev often runs with relaxed auth. When you connect to a remote server, log in first:

Terminal window
reactor login
reactor whoami

Tokens are stored in your OS keychain or an environment variable, depending on context configuration.

Before deploying, add a context — a named connection to a Reactor server:

Terminal window
# Local (created automatically by reactor dev in many setups)
reactor context add local --endpoint http://localhost:8080
# Reactor.cloud production
reactor context add production \
--endpoint https://api.reactor.cloud \
--org my-org
reactor context use production
reactor login

List and inspect contexts:

Terminal window
reactor context list
reactor context show production

When you are ready to push to a remote server:

Terminal window
# Build a deployment bundle (validates manifest, packages functions/sites/migrations)
reactor build
# Deploy to the active context
reactor deploy

Deploy runs migrations on the target, uploads function bundles, and publishes site assets. Progress is printed to the terminal; use --output json in CI.

✓ Validated reactor.toml
✓ Built bundle (1.2 MB)
✓ Applied 1 migration
✓ Deployed 1 function
✓ Published site "web"
Deployed to production (https://my-app.reactor.cloud)
SymptomFix
project manifest not foundRun commands from the project root or pass --manifest path/to/reactor.toml
connection refused on deployCheck reactor context show — is the endpoint correct? Is the server running?
Port already in useStop other services on :8080 or set REACTOR_DEV_PORT=9090
Migration failedRun reactor data inspect <table> and fix SQL in data/migrations/

Run diagnostics anytime:

Terminal window
reactor doctor
  • Your first app — end-to-end tutorial with auth, data, a function, and site deploy.
  • Concepts — deep dive into reactor.toml, contexts, and deployment grades.
  • CLI reference — full command list and global flags.