APIWEBADMAPP

Platform statusAll monitored systems operational.

All languages

Web authoring language

Quire

In development

Author the web in a language that can't break.

Quire is a typed, compiled language for authoring the web. It weaves content and typed blocks into pages and compiles to a clean block IR, so a page is a checked program rather than a string of fragile template tags. Crucially, the code and a visual builder are two views of the same model - edit either and the other stays in sync - which makes Quire a real successor to Liquid and Handlebars instead of another templating dialect.

Overview

Quire is a typed, safe, compiled language for authoring web pages. Instead of interpolating untyped strings the way Liquid or Handlebars do, Quire treats a page as a program: content and typed blocks are woven together, type-checked, and compiled to a clean block IR. Because the page is checked at compile time, an authoring mistake is a build error rather than a broken page in production.

  • Typed blocks - every section, text node, and field has a checked shape.
  • Compiles to a clean, portable block IR.
  • Code and a visual builder are two views of one model - they never drift.
  • A real successor to Liquid / Handlebars, not another template dialect.

Install

Quire is in active development and has no public release artifacts yet. Use the docs and roadmap pages for current integration guidance.

Quick start

Write a page in a `.quire` file. A page declares the data model it expects, a route, a title, and a tree of typed blocks. Compile it with the CLI to produce the block IR that renders your page.

quire / quick-start
quire HomePage {  model { site: Site }   route "/"  title site.name   section hero {    text heading {      value site.tagline      variant "display"    }  }}

Key concepts

Quire is organised around the model, the page, and blocks. A page binds a typed `model` so every reference (like `site.tagline`) is checked. Blocks - `section`, `text`, and the rest - nest to form the page tree, and each carries typed fields. Compilation lowers that tree into a block IR, the same structure the visual builder reads and writes, which is why the two views can never disagree.

  • `model` - the typed data a page expects; references are checked against it.
  • Blocks - `section`, `text`, and more nest into the page tree.
  • Typed fields - `value`, `variant`, and friends are validated at compile time.
  • Block IR - the compiled, portable representation shared with the builder.
  • One model, two views - editing code or the builder keeps both in sync.

Download

Quire is in active development and has no public downloads or releases yet.

No public download artifacts are available yet for this language.

Looking for everything in one place? See the downloads index.