Skip to main content
Skybridge ships one CLI, available as both skybridge and sb once it’s installed in your project. It’s a project dependency, not a global install, so run it through your package manager, or the package scripts a scaffold sets up.

create

Scaffold a new project. Run it before the package is installed with npx:
See Quickstart to scaffold and run a project.

dev

Start the development server with hot module reloading and DevTools.
  • Serves the MCP endpoint at http://localhost:3000/mcp
  • Opens DevTools for local testing at http://localhost:3000/
  • Watches files and restarts the server, with HMR for views
The scaffolded package.json adds a dev:tunnel script, shorthand for skybridge dev --tunnel. The port also reads from the PORT environment variable. Set SKYBRIDGE_OPEN=false in your shell profile to skip opening DevTools on every run, the equivalent of always passing --no-open.

Formatting structured logs

If your server uses a structured JSON logger like bunyan or pino, pass --plain and pipe through the logger’s formatter:

build

Compile your views and MCP server for production.
The output lands in dist/, ready for the deploy script or skybridge start.

Excluding packages from the server bundle

The build’s last step bundles your server into a single deployable function with esbuild. Bundling means every reachable dependency has to be resolved, including ones your code never runs. Some packages break that step. A common case is a logger with an optional native dependency, like bunyan, which does require('dtrace-provider') inside a try/catch. You never use DTrace, but esbuild still tries to resolve it and fails on the native binding. List those packages in the Vite plugin’s serverExternal to leave them out of the bundle:
vite.config.ts
An external package stays a plain import in the output, resolved from node_modules at runtime. Only list packages your server doesn’t need at runtime, or that your deployment target installs itself.

start

Run the production server from the build output. Run skybridge build first.
  • Serves the MCP endpoint at http://localhost:3000/mcp
  • Runs the compiled server and pre-built view assets from dist/

telemetry

The CLI reports anonymous usage, on by default. Toggle it with skybridge telemetry disable, enable, or status. See Telemetry for what’s collected and every way to opt out.

Package scripts

A scaffolded project wires the commands into package.json: Run them with your package manager:

Quickstart

Scaffold and run your first app

Ship

Deploy to your platform of choice

McpServer

The server the CLI builds and runs