native-ui

Installation
SKILL.md

Author native UI with markup + Zig

A native-rendered Native SDK app is a markup view plus Zig logic:

  • src/<view>.native — the entire UI: elements, layout, bindings, message dispatch.
  • src/main.zigModel (plain struct), Msg (tagged union), update(model, msg), and a main that hands them to native_sdk.UiApp(Model, Msg).

The markup compiles to the same widget tree a hand-written canvas.Ui(Msg) builder view would produce: identical structural widget ids, identical typed handler table. Markup can never mutate state — it binds values and dispatches messages; all logic lives in Zig.

Editors highlight .native markup well in HTML mode — the default scaffold writes no editor config, so add .vscode/settings.json with "files.associations": {"*.native": "html"} yourself, or scaffold with native init --full, which writes it.

Start a new app with native init (zero-config: app.zon + src + assets, the CLI generates the build graph), or copy examples/habits/ (smallest): change the name/id in app.zon and assets/ copies verbatim — there are no build files to edit. The native dev|test|build verbs drive any app directory shaped this way.

App wiring

const HabitsApp = native_sdk.UiApp(Model, Msg);
Installs
1
GitHub Stars
7.2K
First Seen
Today
native-ui — vercel-labs/native