Fleury
None of these are screenshots — each is a real Fleury widget tree compiled to
JavaScript with dart2js, running live in your browser: the clock ticks, the
bars stream, the table takes your clicks. The same trees also run native in a
terminal. How that works →
What you get
Section titled “What you get”A widget, element, and render tree with a real layout engine — painting to a grid of cells, not pixels. Rebuilds stay on the dirty subtree, so an idle app emits nothing.
Controls and content publish their role, state, and actions to a live
semantic tree. Agents drive your app through it over MCP — and your tests
assert on the same tree — instead of scraping the screen. No agent code in
your app: fleury_mcp connects it to an MCP host.
The same widget tree renders natively to a terminal, or to the browser —
compiled in with dart2js, or streamed live by fleury serve. A
shared rendering pipeline, and regression tests that check each target’s
output against the same cell buffer, keep them aligned.
Stateful hot reload on save — rare in a terminal — so a running app picks up your edits in place, state intact. And a debug shell in every dev run: Ctrl+G for frame timings, paint-flash, the live semantic tree, logs and errors — right there, even over SSH.
Read the full case for Fleury — and how it compares →
Start building
Section titled “Start building”Write Dart. See it run.
Section titled “Write Dart. See it run.”This one is yours to change. Edit the greeting, make the button count by two, or add a widget, then press Run. Edit again and Hot reload keeps your count. For a full-page editor, open Fleury Pad.
See it in action
Section titled “See it in action”Featured apps, each built only from Fleury widgets and running live in your browser. Open one and drive it with your keyboard and mouse.
How it works
Section titled “How it works”One widget tree, two surfaces rests on a retained-mode engine: it turns your widgets into cells and paints them wherever you point it — a terminal, a browser, a streamed session. These two pages walk the whole pipeline.