Isolated environments
Every project or git worktree gets its own reserved Metro port and its own owned simulator or emulator. Several coding agents build the same app on one machine at the same time without fighting over ports and devices.
Built for agent loops
Never prompts, prints on the order of ten lines, takes --json everywhere, and reports a failing build as the extracted compiler diagnostic plus a log path — not four thousand lines of transcript. logs --errors returning nothing is the pass condition.
Builds that hit a cache
Native inputs are fingerprinted; when nothing native changed, the app installs from a shared cache instead of compiling. When two workspaces miss at once, exactly one compiles and the other installs its artifact.
Cleans up after dying agents
A killed agent leaves a booted simulator, a Metro squatting on a port, a stale lock. stop, worktree remove and gc reclaim all of it — and stim-cli never touches a device it did not create.