A static site generator used as a living demonstration of concept design, sync composition, and the brittle edges found in review.
This repository is not just a static site generator. It is a worked example of concept design: independent units of behavior are implemented as concepts, then composed by declarative synchronizations.
The example site documents the project from the inside. It explains what the concepts do, how the sync engine moves work through the pipeline, and where the current implementation is still fragile.
Each concept is a small state machine with actions and queries. A concept should not import another concept or assume what application it lives in.
The build is declared as when, where, and then rules over journaled actions instead of imperative orchestration code.
The review log is published as part of the example site, grouped by the layer each problem belongs to so the architecture can be improved openly.
The generator turns markdown, HTML layouts, and public assets into a static site. The interesting part is how it is decomposed.
The process starts with one CLI action. Commands and builds track lifecycle state while syncs decide what happens next.
Files are discovered, read, split into metadata and body, rendered to HTML, and assigned clean routes.
Layouts wrap content, collections feed index pages, and final output is written to disk.
Dev mode serves the output directory, watches source files, rebuilds on change, and reloads browsers.
Read the repo as a running system: concepts, syncs, file flow, dev mode, and tradeoffs.
Browse the review findings by category: concept design, sync layer, engine, filesystem, and parsing.
See how the generator is divided into reusable units and what each one owns.
Understand the places where declarative sync composition becomes awkward or brittle.
bun run example:build