[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83669":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":42,"readmeContent":43,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":44,"lastSyncTime":45,"discoverSource":46},83669,"agent-device","callstack\u002Fagent-device","callstack","CLI to control iOS and Android devices for AI agents","https:\u002F\u002Fagent-device.dev",null,"TypeScript",2679,147,7,37,0,182,546,28.51,"MIT License",false,"main",true,[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"adb","agentic-ai","agents","ai-agents","android-emulator","automation","e2e-testing","expo","flutter","ios-simulator","mcp","mobile","mobile-testing","performance-optimization","react-native","testing","xcuitest","2026-06-12 02:04:35","\u003Ca href=\"https:\u002F\u002Fwww.callstack.com\u002Fopen-source?utm_campaign=generic&utm_source=github&utm_medium=referral&utm_content=agent-device\" align=\"center\">\n  \u003Cpicture>\n    \u003Cimg alt=\"agent-device: device automation CLI for AI agents\" src=\"website\u002Fdocs\u002Fpublic\u002Fagent-device-banner.jpg\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n---\n\n# agent-device\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fagent-device.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fagent-device)\n[![CI](https:\u002F\u002Fgithub.com\u002Fcallstackincubator\u002Fagent-device\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcallstackincubator\u002Fagent-device\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-black.svg)](LICENSE)\n[![Glama MCP server](https:\u002F\u002Fglama.ai\u002Fmcp\u002Fservers\u002Fcallstackincubator\u002Fagent-device\u002Fbadges\u002Fscore.svg)](https:\u002F\u002Fglama.ai\u002Fmcp\u002Fservers\u002Fcallstackincubator\u002Fagent-device)\n\nMobile app verification for AI agents.\n\nA device automation CLI for real apps on iOS, Android, TV, and desktop. Agents get token-efficient snapshots, semantic refs, and evidence captured only when needed.\n\n`agent-device` lets coding agents open apps, inspect the current UI, interact with visible elements, and collect debugging evidence through one CLI. Use it when an agent needs to verify what actually happens on a device, not just reason about code.\n\nIf you know Vercel's [agent-browser](https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-browser), `agent-device` is the same idea for mobile, TV, and desktop apps.\n\nIt works with native iOS and Android apps, plus apps built with Expo, Flutter, and React Native, as long as the target can run on a supported device, simulator, emulator, or desktop environment.\n\n![agent-device demo showing Codex using agent-device to create a new contact in the iOS Contacts app from a simple prompt](.\u002Fwebsite\u002Fdocs\u002Fpublic\u002Fagent-device-contacts.gif)\n\n## Capabilities\n\n- **Inspect** real app UI through compact accessibility snapshots, interactive refs like `@e3`, selectors, and React Native component trees.\n- **Interact** by opening apps, tapping, typing, scrolling, performing gestures, waiting, asserting state, handling alerts, and closing sessions.\n- **Capture evidence** with screenshots, videos, logs, traces, network traffic, performance samples, crash context, and React profiles.\n- **Replay workflows** by recording `.ad` scripts for local runs, CI, and repeatable e2e checks.\n- **Run across platforms** with iOS Simulator automation, Android Emulator automation, physical devices, tvOS, Android TV, macOS, Linux, and desktop app automation, so agents can see and feel the app they work on.\n\n## Use Cases\n\n- Verify mobile changes on real devices, simulators, and emulators before review or merge.\n- Give AI coding agents a real app feedback loop while they implement features.\n- Debug regressions with screenshots, logs, traces, network evidence, and crash context.\n- Profile performance issues with CPU\u002Fmemory samples and React render profiles when needed.\n- Turn exploratory app interactions into replayable e2e checks for CI.\n- Use one agent workflow across native iOS, Android, Expo, Flutter, React Native, TV, and desktop apps.\n\n![Sketch showing agent-device as the live app verification layer in the agentic development loop](.\u002Fwebsite\u002Fdocs\u002Fpublic\u002Fagentic-development-loop.svg)\n\n## Quick Start\n\nInstall the CLI:\n\n```bash\nnpm install -g agent-device@latest\nagent-device --version\nagent-device help workflow\n```\n\nThe installed CLI help is the source of truth for agents. Start with `agent-device help workflow`, then follow the topic-specific help when a task needs dogfooding, debugging, replay, or React Native profiling.\n\nPrerequisites depend on the target platform: Node.js 22+, Xcode for iOS\u002FtvOS\u002FmacOS targets, Android SDK + ADB for Android, and macOS Accessibility permission for desktop automation. See [Installation](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Finstallation) for platform setup.\n\nTry the basic loop:\n\n```bash\n# Find an app.\nagent-device apps --platform ios\nagent-device apps --platform android\n\n# Start a session.\nagent-device open SampleApp --platform ios\n\n# Inspect the current screen. -i returns interactive elements only.\nagent-device snapshot -i\n# @e1 [heading] \"Settings\"\n# @e2 [button] \"Sign In\"\n# @e3 [text-field] \"Email\"\n\n# Act, capture evidence, and close.\nagent-device fill @e3 \"test@example.com\"\nagent-device screenshot .\u002Fartifacts\u002Fsettings.png\nagent-device close\n```\n\nSnapshots assign refs like `@e1`, `@e2`, and `@e3` to elements on the current screen. Refs from the latest snapshot are immediately actionable; after scrolling or changing screens, take a fresh snapshot.\n\n## Next Steps\n\n- **Set up your agent**: run the CLI from Cursor, Codex, Claude Code, Windsurf, or another agent terminal. For skills, rules, direct MCP tools, and client-specific setup, see [AI Agent Setup](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Fagent-setup).\n- **Try the sample app**: clone the repo and run the bundled Expo fixture when you want a guided first dogfood run with screenshots, replay, and performance evidence. See [Quick Start](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Fquick-start).\n- **Go deeper**: use [Commands](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Fcommands), [Replay & E2E](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Freplay-e2e), and [Debugging & Profiling](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Fdebugging-profiling) for production workflows.\n\n## Where To Run agent-device\n\n| Path | Best for | Start with |\n| --- | --- | --- |\n| Local | Exploration, debugging, and development loops on simulators, emulators, physical devices, macOS apps, and Linux desktop targets. | Follow the Quick Start. |\n| CI\u002FCD | Automated PR and merge validation with replay scripts and captured artifacts. | Try the [EAS workflow template](https:\u002F\u002Fgithub.com\u002Fcallstackincubator\u002Feas-agent-device\u002Fblob\u002Fmain\u002F.eas\u002Fworkflows\u002Fagent-qa-mobile.yml). GitHub Actions template coming soon. |\n| Cloud \u002F remote execution | Linux runners, managed devices, and remote execution. | Use [Agent Device Cloud](https:\u002F\u002Fagent-device.dev\u002Fcloud), see [Commands](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fdocs\u002Fcommands) for remote profiles, or [contact Callstack](mailto:hello@callstack.com) for team-scale QA. |\n\n## How It Works\n\n`agent-device` runs session-aware commands through platform backends: XCTest for iOS and tvOS, ADB plus the Android snapshot helper for Android, a local helper for macOS desktop automation, and AT-SPI for Linux desktop targets.\n\nNode consumers can use the typed client and public subpaths for bridge integrations. `agent-device\u002Fandroid-adb` exposes the Android ADB provider contract, logcat\u002Fclipboard\u002Fkeyboard\u002Fapp helpers, and port reverse management.\n\n## FAQ\n\n### What is agent-device?\n\n`agent-device` is a device automation CLI for AI mobile app testing. It lets AI agents verify real apps on iOS, Android, TV, desktop, simulators, emulators, and physical devices.\n\n### Does it work with React Native, Expo, Flutter, and native apps?\n\nYes. `agent-device` works with native iOS and Android apps, Expo apps, Flutter apps, React Native apps, TV apps, and desktop apps that run on supported targets.\n\n### How is it different from Appium, Detox, or Maestro?\n\nAppium, Detox, and Maestro are traditional mobile automation frameworks. `agent-device` is optimized for AI agents that need to inspect app state, interact semantically, capture evidence, debug, profile, and turn useful explorations into replayable checks.\n\n## Used By\n\nUsed by teams and developers at Callstack, Expensify, Shopify, Kindred, Total Wine & More, LegendList, HerLyfe, App & Flow, and more.\n\n## Documentation\n\n- [Docs](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002F)\n- [Agent-readable docs](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002Fllms-full.txt)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Made at Callstack\n\n`agent-device` is open source and MIT licensed. Visit [agent-device.dev](https:\u002F\u002Fagent-device.dev\u002F), try the [EAS workflow template](https:\u002F\u002Fgithub.com\u002Fcallstackincubator\u002Feas-agent-device\u002Fblob\u002Fmain\u002F.eas\u002Fworkflows\u002Fagent-qa-mobile.yml), read the [docs](https:\u002F\u002Foss.callstack.com\u002Fagent-device\u002F), or contact us at hello@callstack.com.\n",2,"2026-06-11 04:11:27","high_star"]