Native setup

Run the native kit, make it yours, and share it.

The native kit is an Expo app: Expo Router, React Native, NativeWind (Tailwind classes) and react-native-reusables (shadcn/ui for React Native), with the kit's own components on top.

Run it

npm install
npm run ios      # iOS Simulator, in Expo Go
npm run web      # the browser
npm run dev      # scan the QR code with a phone

Open Components in the app to see every component live, or Foundations for the tokens. On a physical iPhone, Expo Go only opens projects for members of your Expo account or organisation; a development build (eas build --profile development) works for anyone you send it to.

Make it yours

Name it

Set name, slug and scheme in app.json, and the bundle identifier as APP_ID in .env.local (copy .env.example). Account values never go into the repo.

Re-brand it

Pick a theme on this site (the bar at the bottom, or the theme studio), then apply its code:

npx kit-tokens theme apply pk1-XXXXXXXXXXXX

It rewrites the theme's part of tokens/tokens.json, installs its fonts and rebuilds. See Themes. To edit tokens/tokens.json by hand instead, run npm run tokens:build after: it refuses any palette that falls below WCAG AA and names the pairing that failed.

Remove the samples

npm run eject-samples

Deletes the Shop, Habits and Northwind apps, their data and every reference to them.

Build your prototype

A prototype lives in its own folder under app/, for example app/acme/, with its own tabs or stack. Or hand the agent a brief and let the transcript-to-prototype skill set it up.

Share it

ToRun
A phone with your development buildnpm run share -- "what changed" (EAS Update)
Anyone with a browsernpm run export:web && eas deploy
A teammate's agentSend them the repo; AGENTS.md and the skills travel with it

Device features

Camera, photo library, QR scanning, Face ID, sharing and notifications are all in the kit. Each one falls back to a simulated version where the real thing cannot run (the browser, the simulator, Expo Go, a denied permission), so a prototype never dead-ends in an error. Face ID needs a development build.

On this page