AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Give your AI coding agent the ability to see, tap, and interact with React Native apps running on iOS simulators and Android emulators.
Developer toolsTypeScript · SwiftGitHub @nomanrOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Eyes and hands for agentic mobile development
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Your AI agent can code. Now it can use your app.
driftx gives coding agents eyes and hands inside apps running on iOS simulators and Android emulators.
Watch an AI agent inspect, interact with, and verify a live app
Fix UI bugs faster, compare screens to designs, and validate real app flows visually.Read the full README ↗Your AI agent can code. Now it can use your app.
driftx gives coding agents eyes and hands inside apps running on iOS simulators and Android emulators.
https://github.com/user-attachments/assets/9d757aa6-ac70-4eae-bbf4-49df70ff345a
Fix UI bugs faster, compare screens to designs, and validate real app flows visually.
Ask your agent things like:
https://github.com/user-attachments/assets/c99076cc-83fc-4c23-b215-0d1b3912f991
npx -y driftx@latest init
Creates project config and auto-registers with detected AI tools (Claude Code, Cursor). Restart your AI tool after.
Handled automatically by npx -y driftx@latest init. Just restart Claude Code.
Fallback - if auto-detection doesn't work:
npx driftx setup-claude
Verify with npx driftx doctor, then restart Claude Code.
Tell Cursor:
Fetch and follow instructions from https://raw.githubusercontent.com/nomanr/driftx/main/.cursor/INSTALL.md
Verify with driftx doctor, then close and restart the chat.
Tell Gemini:
Fetch and follow instructions from https://raw.githubusercontent.com/nomanr/driftx/main/.gemini/INSTALL.md
Verify with driftx doctor, then close and restart the chat.
Tell Codex:
Fetch and follow instructions from https://raw.githubusercontent.com/nomanr/driftx/main/.codex/INSTALL.md
Verify with driftx doctor, then close and restart the chat.
Any agent that runs shell commands can use driftx. Add this to your agent's system prompt:
You have access to `driftx` for seeing and interacting with mobile apps:
- npx driftx capture -o screenshot.png # capture a screenshot
- npx driftx inspect --json # get the component tree
- npx driftx tap "Button Text" # tap by text, testID, or name
- npx driftx type input-id "text" # type into a field
- npx driftx swipe up # swipe gestures
- npx driftx compare --design design.png --format json # compare against a design
Always capture a screenshot after interactions to verify the result.
Ask your AI agent:
What do you know about driftx?
If it describes driftx and its capabilities, you're all set. You can also run npx driftx doctor to check that Metro, adb, xcrun, and your simulators are ready.
# See: capture screenshots and inspect the component tree
npx driftx capture -o screenshot.png
npx driftx inspect --json
# Interact: tap, type, swipe, navigate
npx driftx tap "Login" # by text
npx driftx tap login-btn # by testID
npx driftx tap 150,300 --xy # by coordinates
npx driftx type email-input "[email protected]"
npx driftx swipe up
npx driftx swipe down --distance 200
npx driftx go-back
npx driftx open-url "myapp://profile/123"
# Compare: diff against designs, audit accessibility, detect regressions
npx driftx compare --design mockup.png --format json
npx driftx compare --design mockup.png --with a11y --format json
npx driftx compare --baseline --format json
# Utilities
npx driftx devices
npx driftx doctor
npx driftx clean
| Flag | Description |
|---|---|
-d, --device <id> | Device ID or name (picker shown if multiple) |
--bundle-id <id> | iOS bundle identifier (auto-detected from Metro) |
--verbose | Debug logging |
--format <type> | terminal, markdown, or json |
--copy | Copy output to clipboard |
npx react-native start)adb available, emulator bootedxcrun simctl available, simulator bootedTap resolution uses a 4-tier fallback: CDP fiber tree → XCUITest companion hierarchy → accessibility element query → fiber measurement via measureInWindow().
iOS companion is a pre-built XCUITest server that auto-launches on the simulator. Ships in the npm package, no Xcode build step required.
Visual analysis compares screenshots pixel-by-pixel against design images, runs accessibility checks, and detects layout regressions between builds.
| Platform | Emulator/Simulator | Physical Device |
|---|---|---|
| Android | Supported | Not yet |
| iOS | Supported | Not yet |
npx -y driftx@latest init
Creates .driftxrc.json:
{
"platform": "react-native",
"metroPort": 8081,
"threshold": 0.1,
"diffThreshold": 5
}
npm install
npm run dev # watch mode
npm test # run tests
npm run build:ios # rebuild iOS companion