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. vite build — Svelte and Tailwind compile into the browser client
  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 client build all flow through it, with compiler diagnostics attached to the build. The plugin also manufactures the server bundle the artifact stands on.

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 replica provisions itself from the same steps (sync.provisioning).

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 .