Quicken is the product-facing family of Cadence interpreters. Domain state, closed messages, update logic, commands, subscriptions, components, and most semantic views remain shared. Each Quicken runtime owns only the mechanics and capabilities of its platform.
Runtime family
| Runtime | Platforms | Module |
|---|---|---|
| Quicken Web | Browsers and server rendering | goforge.dev/quicken/web |
| Quicken TUI | Interactive terminals | goforge.dev/quicken/tui |
| Quicken Desktop | Windows, macOS, Linux | goforge.dev/quicken/desktop |
| Quicken Mobile | iOS, Android | goforge.dev/quicken/mobile |
| Quicken Native | Shared Gio interpretation | goforge.dev/quicken/native |
| Quicken Build | Build, package, install, launch | goforge.dev/quicken/build |
Applications may share a semantic element tree across every runtime or provide a richer platform-specific view while retaining the same behavior.
Native semantic adapters apply platform mechanics after interpretation: desktop density, 44 dp iOS controls and safe areas, and 48 dp Android controls and safe areas. Those app-store idioms do not leak into Cadence state or update logic.
Architecture
Cadence
Model + Msg + Update + Cmd + Subscriptions
Components + Semantic Elements + Semantic Styles
|
+---------+-------+--------+----------+
| | | |
Web TUI Desktop Mobile
Every module is independently versioned so a web service does not acquire Gio or terminal dependencies and a desktop application does not acquire an HTTP runtime.
One build surface
GoForge Task and Quicken Build expose the same commands in every Quicken application:
task doctor
task build:web
task build:desktop
task run:ios
task run:android
The application supplies only its identity, entry packages, target versions,
and platform policies in quicken.yaml.
Generate a complete starter:
go run goforge.dev/quicken/build/cmd/quicken-build@v0.4.0 \
-module example.com/myapp \
-name MyApp \
-appid com.example.myapp \
init ./myapp