Deterministic, PDF-like documents that evolve docstep by docstep.

Flux keeps layout locked while inline parameters and grid slots update deterministically. The packet below is a typeset view of a real Flux document — click to turn pages.

Flux CLI preview
I. Install via npm
npm i -g @flux-lang/flux
II. Update Flux: flux self updateIII. Run Launcher: flux

flux self update updates the full toolchain via the launcher.

What is Flux?

A Flux document is a living specification.Write the document once. Let it evolve.

It describes structure, content, and transformation in one place—then compiles into stable outputs you can render, export, and automate. Local-first by design: your files stay yours, and the same document can be edited interactively or scripted in CI.

  • Declare: compose pages, layout, and semantics with a typed document model.
  • Transform: generators + slots + docsteps turn one spec into many precise variants.
  • Render: produce consistent outputs (web/print/export) from the same IR.
  • Automate: scriptable tooling makes builds reproducible, diffable, and boring-in-a-good-way.
One substrate. Many projections.
seed: 42
refresh: docstep · transition: none
Flux document
doc Packet {
  slot headline refresh: docstep
  layout pages = 1
  render { html, pdf }
}
IR-backed
Deterministic runtime (seed/docstep)
RenderExportAutomate
Changelog

Compiled from main.

Merged PRs summarized into release-ready highlights, refreshed directly from the Flux feed.

window
cursor
Latest entries
↑ ↓ to move · Enter to open
No changelog entries found for this window.
Concepts

Flux documents are living documents.

Word meets computer algebra meets a DAW.

A .flux file is source you can parse, validate, and render.

Every document has readable source and a dependable AST/IR snapshot, so the same file powers tools, layouts, and exports.

That structure makes diffs, validation, and rendering consistent across your workflow.

Share a .flux document you’ve made.

We’ll curate a few highlights for the upcoming Examples page.

Join the community