developers
Build with React, Vite and Tailwind
Author with Vite, React, Tailwind, and shadcn/ui. Develop and package native apps, scan app and service source, and sync reviewed candidates to ICE Develop.
the cli
The app development loop
Sign in with waid login, then scaffold, scan action candidates, develop live, and build for your target. Local scans work without an ICE session.
$ waid new my-appscaffolds Vite + React + Tailwind + shadcn/ui, ready to run
apps & services
Scan, review, and sync
Scan local source, review action handlers and service curation, then sync an immutable candidate to ICE Develop. Publication and tenant installation happen separately in ICE.
Choose the environment with waid login --env local or --env staging. Staging service sync requires a verified release ID.
$ waid app scan --in ./frontendlocal source candidates for review; no login or running app required
quickstart
Setting up a project
- 01
waid newStart from React
Scaffold a Vite + React + Tailwind app with shadcn/ui already wired up.
- 02
waid app scanMake it agent-native
Find action candidates in your app’s source to review and implement.
- 03
waid devDevelop live
Run Vite HMR and preview your app in the Detir runtime.
- 04
waid buildShip everywhere
Bundle one dist into native artifacts for every platform.
scaffold
Project structure
waid new scaffolds an ordinary Vite app at the project root with shadcn/ui components already in place. Anything that builds to a static dist works.
my-app/├── waid.config.json # name, icon, capabilities├── package.json├── vite.config.ts├── index.html├── components.json # shadcn config└── src/ ├── main.tsx ├── App.tsx └── components/ui/ # button, card, badge…surface area
Command-line flags
Common options for source selection, environments, development, and signing. Run waid help <command> for the options accepted by each command.
Choose a source, target, login environment, and build mode. Options are command-specific.
--src--in--out--target--env--mode--tenant--port--dev-host--runtime-dir--check--release--no-launch
Choose a simulator or device, select a team, and configure signing and provisioning.
--simulator--ios-destination--ios-team--ios-bundle-id--ios-device-udid--ios-allow-provisioning-updates--ios-no-sign--ios-profile
the runtime
Where the runtime comes from.
Native targets embed a prebuilt detir binary. You never commit one - WAID resolves it at build time.
The shared cache
By default WAID resolves the runtime from ~/.detir/runtimes, so several projects share one download instead of vendoring a binary each.
Your own build
Point --runtime-dir (or WAID_RUNTIME_DIR) at a directory with one subdirectory per platform to build against a runtime you compiled yourself.
Nothing in your repo
The runtime is never committed. Your repository holds React source and waid.config.json; the binary is resolved at build time.
command guide
Command reference
| waid login [--env …] | Sign in to ICE through Splenta ID; local is the default |
| waid session --json | Check the shared CLI/Studio ICE session |
| waid new <name> | Scaffold a Vite + React + Tailwind (shadcn) project |
| waid app scan | Scan app source for reviewable action candidates |
| waid app sync | Submit an immutable App candidate to ICE Develop |
| waid service scan | Regenerate service MCP and dataset artifacts |
| waid service sync | Check drift and submit a Service candidate to ICE Develop |
| waid dev --in <dir> | Run Vite HMR and launch the runtime |
| waid build --src <dir> [--target …] | Build the dist and package a native artifact |
| waid deploy --target <ios|android> | Resolve a connected device, install, and launch |
| waid devices --target <ios|android> | List the devices and simulators WAID can deploy to |
| waid doctor | Check your toolchain and environment |
| waid clean --dir <dir> | Preview removal; add --force to delete the selected output |
| waid migrate-config --src <dir> | Migrate an older waid.config.json |
| waid apps [--json] | List registered apps visible to your account |
| waid actions list --app <id> | Inspect a registered app’s catalog actions |
| waid whoami [--json] | Inspect the signed-in ICE identity |
| waid logout | Clear the stored ICE session |
| waid signing-teams [--json] | List Apple signing teams known to Xcode |
| waid version | Print the installed CLI version |
| waid help <command> | Show focused options and examples |
Build your first agent-native app with us.
Design partners get direct access to the team and early builds of the CLI.