Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

runtime

A declarative application platform. You describe an application; the runtime serves it.

There is no build step. The runtime is an interpreter for a declarative model — an application is a directory of YAML, and the runtime reads it and serves it. Nothing is generated and nothing is compiled per application.

Three consequences follow, and most of what is surprising about the product comes from one of them:

  • Deploying an application builds nothing. One runtime image serves every application. A security patch is one rebuild, not one per customer.
  • The model is text. It diffs, it reviews, it merges — and a language model can read and write it, which a binary project file cannot.
  • There is a per-request cost. Interpreting is slower than a hand-written handler, on the order of tens of microseconds. Everything that can be is compiled once at model load rather than per request.

Where to start

You areStart here
New to thisGetting started
Building an applicationRuntime
Running the platformDeployment
Looking for what changedReleases

What it gives you

From roughly forty lines of YAML: a database schema, a REST API with pagination and conditional writes, an OpenAPI document generated per caller, row- and field-level access control compiled into every query, a Lua sandbox for the logic a model cannot express, and business metrics over OpenTelemetry.

None of that is scaffolded into your project. It is what the runtime does with your model, and changing your mind is an edit rather than a regeneration.

What this documentation is not

The reasoning behind the runtime — the architecture decisions, the internal invariants, why a particular trade-off went the way it did — lives with the source, not here. This is documentation for using the product.