Example project — Frond is not real.

Authored demo content for a fictional plant-care app, rendered by the same parsers and held to the same invariants as a real project's dashboard. This is the system in use, three months in.

Site

The route tree as the code declares it — one entry per page file, dynamic segments shown as such. Never drawn by hand: a run's picture holds the map it is building toward, and this is the map that exists.

A run's picture is planning/<run>-picture.md, linked from the run board's Picture: line and cut from the picture mold. No run is open here, so there is none to reconcile.

This mount declares no routes directory — routesDir in lib/surfaces.ts. A project that keeps its pages under one folder names it there, and the tree appears here.

Source: the routes directory (none declared) — a folder is a segment, a page file is a page, a route file is a handler, (groups) add no segment. Read at build; the tree changes when the code does.