Skip to main content

Requirements

  • Bun ≥ 1.0 is a runtime dependency. The pylon server binary spawns Bun as a child process to run 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). You need it only 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. It needs no global install, because it adds @pylonsync/cli as a dev dependency:
This scaffolds a full-stack SSR app (schema, policies, functions, and file-based React routes under app/). 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 do not want to manage a binary or a server, Pylon Cloud hosts the same backend you would run yourself. Sign up at www.pylonsync.com/dashboard, then:
You will 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. It supports Linux and macOS, on x86_64 and arm64. It needs no Rust toolchain. 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 do not 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 and functions/, and regenerates pylon.manifest.json and pylon.client.ts on every change.

Environment variables

See the CLI reference for the full list.