Skip to main content

Requirements

  • Bun ≥ 1.0 — a required runtime dependency, not just a build tool. The pylon server binary spawns Bun as a child process to run your TypeScript functions and render React SSR. Every install path below (except Pylon Cloud) needs Bun on the host.
  • Rust — a recent stable toolchain (edition 2021). Only needed if you build the CLI from source; the prebuilt binary and Docker image need no Rust.
  • Node.js ≥ 18 (optional, for client tooling)

Fastest start — scaffold an app

The quickest path to a running full-stack app is the project scaffolder — no global install required, because it wires @pylonsync/cli in as a dev dependency:
That scaffolds a full-stack SSR app (schema, policies, functions, and file-based React routes under app/) and npm run dev runs the bundled CLI. Install the standalone CLI below if you want pylon on your PATH for other projects or CI.

Skip the install — use Pylon Cloud

If you don’t want to manage a binary or a server, Pylon Cloud hosts the same backend you’d run yourself. Sign up at www.pylonsync.com/dashboard, then:
You’ll still want the CLI for local development and deploys; install it below.

Install the CLI

The one-line installer downloads a prebuilt binary to ~/.local/bin. Linux and macOS, x86_64 and arm64. No Rust toolchain required. Verify:
pylon doctor checks that bun, node, and the supporting tooling are available.

Install Bun

Pylon uses Bun to run TypeScript server functions and to bundle the client code generator. If you don’t have it:

Client SDKs

Web (React, Next.js, Vite, vanilla JS)

For Next.js, also add @pylonsync/next. See Clients → React and Clients → Next.js.

React Native (iOS + Android)

See Clients → React Native.

Swift (iOS, macOS, tvOS, watchOS, Linux)

In your Package.swift:
Then per target:
Linux: apt-get install libsqlite3-dev for the SQLite-backed offline replica. See Clients → Swift.

Directory conventions

A Pylon app usually looks like this:
pylon dev app.ts watches app.ts + functions/ and regenerates pylon.manifest.json + pylon.client.ts on every change.

Environment variables

See Reference → CLI for the full list.