driftx

Eyes and hands for agentic mobile development

Install driftx, connect your agent, and it can see and interact with your running app on iOS simulators and Android emulators.

View on GitHub
MIT License iOS Simulator Android Emulator React Native
Works with Claude Code Cursor Gemini CLI Codex

Real prompts, real workflows

driftx gives your agent the ability to see and interact with your app. What it does with that ability is up to you.

01

UI Implementation

"Make this screen match the Figma"

Agent compares your design against the running app, spots differences, writes code, rechecks.

02

Visual Debugging

"The login button is cut off, why?"

Agent sees the problem, inspects the component tree, finds the offending component, fixes it.

03

Inspection

"What components are on this screen?"

Full component hierarchy with testIDs, bounds, and props.

04

Design QA & Accessibility

"Run an accessibility check on this screen"

Pixel-diff against designs. Contrast, labels, touch target audits.

05

Flow Verification

"Walk through onboarding and screenshot each step"

Agent navigates, interacts, captures along the way.


Built for reliability

Three systems working together to give your agent accurate, fast feedback.

TAP

Tap Resolution

4-tier fallback system: CDP fiber tree, XCUITest companion, accessibility query, fiber measureInWindow. If one path fails, the next takes over automatically.

IOS

iOS Companion

Pre-built XCUITest server that auto-launches on your simulator. Ships in the npm package. No Xcode build step required.

VIS

Visual Analysis

Pixel-by-pixel comparison against designs, accessibility checks, and layout regression detection. Your agent sees what your users see.


Three steps to get going

1

Install

npm install -g driftx
2

Configure your agent

driftx setup-claude
3

Verify setup

driftx doctor

What your agent can call

Grouped by purpose. Your agent picks the right tool for the job.

See

capture Take a screenshot of the current screen
inspect Get the full component hierarchy with testIDs, bounds, and props

Interact

tap Tap an element by testID, text, or coordinates
type Type text into the focused input
swipe Swipe in a direction on the screen
go-back Navigate back
open-url Open a deep link in the app

Compare

compare --design <path> Pixel-diff the current screen against a design file
compare --with a11y Run accessibility checks on the current screen
compare --baseline Compare against a layout regression baseline

Where driftx runs

Platform Status
iOS Simulator Supported
Android Emulator Supported
Physical Devices Coming soon