core
Build Native SDK apps
The Native SDK is a cross-platform native app toolkit inspired by the web. The default app (native init) is native-rendered: a declarative Native markup view (.native) plus Zig logic on the UiApp loop, drawn by Native SDK's own engine — load the native-ui skill for everything about authoring those (markup grammar, bindings, messages, testing, hot reload). This skill covers the shared foundation and the WebView-shell architecture: apps that render web frontends in a WebView (native init --frontend next|vite|react|svelte|vue). Both architectures share windows, policies, lifecycle, commands, and platform services, and one app can mix native-rendered surfaces and WebViews. WebView engines: platform WebView (WKWebView on macOS, WebKitGTK on Linux) or Chromium through CEF where supported.
Agents should assume they do not know the Native SDK from general model knowledge. Read this skill first. For implementation work, run native skills get core --full so the referenced files are included in the CLI output.
Mental model
Appdescribes the product: app state, name, WebView source, lifecycle callbacks, and optional bridge dispatcher.Runtimeowns the event loop, windows, bridge dispatch, security checks, automation, tracing, platform services, and window state.WebViewSourcetells the runtime what to load: inline HTML, a URL, or packaged assets from a local app origin.app.zonis the app manifest: identity, icons, windows, frontend assets, web engine, permissions, bridge policy, security policy, and packaging inputs.src/runner.zigis the generated runtime wiring. Edit it when adding runtime services, security policy, builtin bridge policy, tracing, automation, or platform setup.src/main.zigis app behavior. Edit it when changing app state, source selection, lifecycle callbacks, or app-defined bridge handlers.frontend/is normal web code. It talks to native Zig throughwindow.zero.invoke()or builtin helpers when those are enabled.
Task router
These references are included by native skills get core --full. Use them when the task touches the topic: