Skip to content

Repository files navigation

Vibrant Gio Workbench

Vibrant Gio is a design system for building beautiful, native desktop applications on macOS, Windows, and Linux with Gio — analogous to what Material Design is for Google, but built for a Functional Reactive Programming application model on top of reactivego/rx.

This repository is the workbench: it holds the architecture and design documentation, and three complete example applications that exercise the design system end-to-end.

The stack

The design system is layered — each layer only depends on the ones below it:

Layer Module Role
Patterns cadence Prebuilt application patterns: shells, tables, modals, popovers, tabs, toasts, navbars, sidebars, pagination, marketing sections
Effects pulse Motion & vibrancy: tweens, spring physics, glow, depth, a shared animation conductor
Theme runtime spectrum Reactive theming: live OS dark-mode/accent tracking, preference persistence, animated theme transitions, window integration
Foundation prism Component catalogue: buttons, inputs, lists, icons, layout, focus/a11y, tokens, theme contract, keyed identity, coordination
Runtime mvu Model-View-Update runtime for Gio: NewWindow, MessageOp widget protocol, commands

Supporting libraries: seen (3D scenes to SVG/Gio), traer (particle physics), svg and ivg (vector graphics), backdrop, noise, style, textdraw, font.

The example apps

Each app is a full, runnable product built the way a real Vibrant Gio app is meant to be built — MVU state, spectrum theming, cadence patterns:

  • launcher/ — the workbench front door: the example apps as cards floating on a live seen 3D triangle field (noise-animated, colour-keyed to the live theme), each with a Launch button that runs the app and tracks its process. Also the reference for compositing a seen scene as an mvu background layer and for a single streaming mvu.Command (Started → Exited).
  • todos/start here: the minimal canonical MVU app (~700 lines). One window, one Model, pure reducers, prism components, live OS light/dark theming — the smallest complete demonstration of the bootstrap every other app follows.
  • iconbrowser/ — a searchable catalogue of the 961 Material Design icons the apps draw from: type to filter the scrolling grid live, every glyph captioned with the name to import. Also the reference for prism TextField + per-keystroke MVU updates.
  • sitedocs/ — a documentation & marketing site app: application shell, hero/feature/pricing/testimonial sections, accordion-grouped sidebar navigation, breadcrumbs, light/dark theming.
  • feeds/ — an RSS reading-list app: sortable/filterable/ paginated article table, tabbed detail view in a split pane, modal CRUD forms with alerts and toasts, popovers and tooltips.
  • watchlist/ — a persistent watchlist editor: JSON-backed storage, sidebar with right-click context menu, add/edit modals, bulk delete with confirmation popovers, conditional pagination. Its on-disk format is specified in WATCHLIST-FORMAT.md.
  • mindchat/ — an OpenAI chat client and the most feature-complete app: streaming completions routed through the MVU command loop, a resizable/collapsible split-pane shell, trash-backed undo with Cmd/Ctrl-Z, chat rename/delete/create, and per-chat streaming indicators. Set OPENAI_API_KEY to chat.

Each app is its own Go module, so run it from inside its directory:

cd todos && go run .

Or run the launcher and start them from there:

cd launcher && go run .

Documentation

  • DESIGN.md — the architecture document: vision, the five core patterns (including the WithLatestFrom2 frame-synchronisation model and the rx.Defer subscription-state pattern), threading rules, accessibility, performance methodology, and the phase plan that produced Prism, Spectrum, Pulse, and Cadence.
  • llms.txt — a condensed guide for AI coding assistants (Claude, etc.) to write applications against the Vibrant Gio packages. It is maintained once, at the root of vibrantgio/.github; the llms.txt in this repo is only a pointer to it.
  • PLAN.md — the executed implementation plan, kept as the historical record of how the system was built and validated.
  • BASELINE.md — measured performance baselines the component benchmarks compare against.

Requirements

Go 1.25+, and Gio's platform dependencies (on Linux: Wayland/X11 dev packages; macOS and Windows need nothing extra).

License

MIT — see LICENSE. Individual library repositories carry their own licenses.

About

Design-system workbench: architecture docs, llm.txt, and complete example apps (sitedocs, feeds, watchlist) built with Gio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages