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 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, serializes rebuilds, and reloads browsers.
Read the repo as a running system: concepts, syncs, file flow, dev mode, and tradeoffs.
The complete specification of every concept and sync in the SSG, using the concept-design DSL with instantiation details.
Understand the places where declarative sync composition becomes awkward or brittle.
bun run example:build