# NatUI

- [NatUI documentation](/docs): Build real SwiftUI and WinUI 3 desktop interfaces with React and TypeScript.
- [Agents](/docs/agents): Install the NatUI Agent Skill and connect coding agents to current machine-readable documentation.
- Getting started
  - [Getting started](/docs/start): Set up NatUI from source and open your first native desktop window.
  - [Source setup](/docs/start/source-setup): Clone the NatUI repository and install its pnpm workspace prerequisites.
  - [First app](/docs/start/first-app): Render React state into a real native NatUI window.
  - [macOS](/docs/start/macos): Build and verify the native SwiftUI host on macOS.
  - [Windows](/docs/start/windows): Build and run the native WinUI 3 host on Windows.
  - [Kitchen sink](/docs/start/kitchen-sink): Explore NatUI app-shell, form, data, menu, and presentation workflows in one native example.
- Components
  - [Components](/docs/components): Browse all 37 typed NatUI host components by capability.
  - [Layout components](/docs/components/layout): Arrange native controls with stacks, scrolling, lists, spacing, and dividers.
  - [Content components](/docs/components/content): Present native text, symbols, progress, links, and icon-label pairs.
  - [Input components](/docs/components/inputs): Build controlled native buttons, fields, toggles, pickers, and editors.
  - [App shell and navigation](/docs/components/app-shell-navigation): Build native menus, toolbars, split views, and tab navigation.
  - [Menus](/docs/components/menus): Add native dropdown and context menus from serializable item trees.
  - [Presentation components](/docs/components/presentation): Present controlled native sheets, alerts, and anchored popovers.
  - [Data components](/docs/components/data): Group content, display sortable tables, and reveal controlled detail.
- Guides
  - [Guides](/docs/guides): Learn the state, layout, runtime, and verification patterns behind NatUI applications.
  - [Common props](/docs/guides/common-props): Apply shared layout, appearance, identity, and accessibility props to NatUI components.
  - [Controlled state](/docs/guides/controlled-state): Keep native inputs responsive and authoritative with React state and sequence acknowledgements.
  - [App shell and data](/docs/guides/app-shell-and-data): Coordinate native window chrome, navigation, selection, and sorting from React state.
  - [Overlays](/docs/guides/overlays): Coordinate controlled sheet, alert, and popover presentation.
  - [Runtime modes](/docs/guides/runtime-modes): Choose between the Node development process and an embedded JavaScript runtime.
  - [Application bundles](/docs/guides/application-bundles): Package a NatUI entry as a native macOS app or a portable Windows executable.
  - [Testing and debugging](/docs/guides/testing-and-debugging): Validate renderer contracts and inspect the real native tree with NatUI debug messages.
- API
  - [API reference](/docs/api): Reference the public NatUI package entrypoints and lower-level renderer interfaces.
  - [natui entrypoint](/docs/api/natui): Reference run, RunOptions, NatuiApp, components, protocol types, and advanced exports.
  - [natui/components](/docs/api/components): Reference the Node-free component entrypoint and its shared TypeScript types.
  - [natui/inproc](/docs/api/inproc): Reference the in-process runtime for a native host that embeds JavaScript.
  - [Bridge API](/docs/api/bridge): Reference the lower-level bridge that batches commits and dispatches native events.
  - [Renderer API](/docs/api/renderer): Reference createNatuiRenderer and the custom React renderer interface.
  - [Transport API](/docs/api/transport): Reference the NatUI transport contract and standard-stream host implementation.
  - [Protocol API](/docs/api/protocol): Reference NatUI protocol constants, messages, operations, and tree types.
- Internals
  - [Architecture](/docs/internals/architecture): Understand the NatUI reconciler, bridge, native hosts, controlled state, and runtime paths.
  - [Wire protocol](/docs/internals/protocol): Specify NatUI protocol version 1 messages, operations, events, selection, and sequence acknowledgements.
- Status
  - [Platform support](/docs/status/platform-support): Compare implemented and verified NatUI behavior on macOS and Windows.
  - [Verification status](/docs/status/verification): See which NatUI behaviors are covered by tests, native tree assertions, and screenshots.
  - [Roadmap](/docs/status/roadmap): Understand the current NatUI boundaries and likely next engineering stages.