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-app

scaffolds 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.

Scan and sync reference
$ waid app scan --in ./frontend

local source candidates for review; no login or running app required

quickstart

Setting up a project

  1. 01
    waid new

    Start from React

    Scaffold a Vite + React + Tailwind app with shadcn/ui already wired up.

  2. 02
    waid app scan

    Make it agent-native

    Find action candidates in your app’s source to review and implement.

  3. 03
    waid dev

    Develop live

    Run Vite HMR and preview your app in the Detir runtime.

  4. 04
    waid build

    Ship 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.

project structure
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.

13common options

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
8for iOS signing and devices

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 --jsonCheck the shared CLI/Studio ICE session
waid new <name>Scaffold a Vite + React + Tailwind (shadcn) project
waid app scanScan app source for reviewable action candidates
waid app syncSubmit an immutable App candidate to ICE Develop
waid service scanRegenerate service MCP and dataset artifacts
waid service syncCheck 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 doctorCheck 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 logoutClear the stored ICE session
waid signing-teams [--json]List Apple signing teams known to Xcode
waid versionPrint 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.