stomme

stomme (Swedish), the load-bearing frame of a building: the part you raise before the walls go on.

An open-source site engine, AGPL-3.0-only.

Ink-and-wash drawing of half a roof truss, with its tie beam, rafters and joints, by J. J. Lequeu, around 1800
  • 42blocks in the library
  • 0cookies in the metrics

A block-based site engine for Astro. Editors change typed blocks in a Git-backed CMS with a live preview, and the site ships static.

The CMS at /admin, editing the demo site’s home page.

Named for the frame

In Swedish, a building’s stomme is its load-bearing frame. It decides where every wall can go, and it stays when the walls are repainted or moved.

The engine is that frame for a site. You build it once, as blocks, fields and a theme. A page is a Markdown file of blocks, so you can change the theme or upgrade the engine and the words stay where they are.

It is for developers who build sites that other people edit. Editors compose pages but cannot set a margin or a font size, so every page stays inside the design. stomme is open source, AGPL-3.0-only.

Engraved section of a timber roof truss over a stage, with its tie beam, struts and the winches hung from it
Roof truss over a stage, from the plates on theatre machinery in Diderot and d’Alembert’s Encyclopédie, 1772.

What you get

All of it ships in the engine. The optional parts stay off until a site turns them on.

From file to page

First it is a file in your repository.

A page is Markdown whose frontmatter lists blocks in order.

Then an editor opens it in /admin.

The form is generated from the block catalog. Nothing to keep in step.

The preview draws the real block.

/preview renders the draft through the same renderer and layout as the built site.

The build writes it out as a file.

Save, the CMS commits, a host that builds on every commit publishes /pricing/.

Measured drawing of a farmhouse: the bare timber framing elevation of the west wall above a finished section of the same house

Raise your first site

You need Node.js 22.19 or later, pnpm 11 and git. The scaffolder asks for a blank site or the Wren & Sorrel demo, then the site runs at localhost:4321 and the CMS at /admin.

Start the tutorial
pnpm create stomme my-site
cd my-site
pnpm install
pnpm dev