Skip to content

Build pipeline

Build pipeline

A build turns workspace source into one immutable bundle. This page is the pipeline: sync, compile, validate, and emit.

bolt sync

bolt sync is the compiler front half: role discovery, structural validation, generated $types and registries, and one generated TypeScript config. Anything misplaced or misnamed fails here, before Vite runs.

The pipeline at a glance

One source tree in, one immutable bundle out:

  1. bolt sync — discovery, validation, generated types, client build
  2. client build — Vite compiles Svelte and Tailwind into the browser client inside bolt sync
  3. migrations — the committed lineage is read and embedded; the schema fingerprint is recorded
  4. emit — the portable server artifact and the client under .norbital/

The Vite plugin

Bolt plugs into Vite as a plugin: Svelte, Tailwind, and the browser client all flow through it, with compiler diagnostics attached to the build. bolt sync runs a second, separate programmatic Vite build for the server artifact; migrations come from bolt migrate and the host applies the compiled DDL.

DDL validation

Collection models compile to DDL through the schema plan. The artifact carries the migration lineage and the schema fingerprint; the host validates and applies that DDL against the tenant database (schema.validate, schema.verify, schema.migrate), and the browser client carries no DDL of its own — it renders from the answers the sync engine pushes.

The artifact

The pipeline emits the complete bundle under .norbital/artifact/ — the compiled server runtime, tenant apps, assets, migrations, and the host shim a host loads. The compiled browser client lands in .norbital/dist/.

The mental model is Bolt framework ; how Colony runs the pipeline is Colony platform .