Project
Contributing & roadmap
git clone https://github.com/lakpriya1s/looktap.git
cd looktap
npm test # unit tests, no device needed
native/ios/build.sh # rebuild the iOS helper (needs Xcode)
native/android/build.sh # rebuild the Android helper (needs the Android SDK + a JDK)
node bin/looktap.js --help # run from source
npm run site:serve # build the website and serve it on http://127.0.0.1:4173
bin/looktap.js CLI: arguments, device selection, commands
lib/ios.js iOS driver: helper client, simctl, logs, crash reports
lib/android.js Android driver: helper client, adb fallback, logcat, exits
lib/screen.js ls rows, @refs, wait, scrollto, settle (platform-neutral)
lib/logs.js logs/crashes windows and formatting
lib/helper.js the JSON-lines socket protocol both helpers speak
lib/emulator.js Android emulator gRPC frames, no dependencies
lib/mcp.js the MCP server (stdio)
lib/png.js · lib/mp4.js · lib/util.js · lib/conditions.js · lib/permissions.js
lib/assets/ built helpers (looktap-sim, looktap-server.jar)
native/ios/ iOS helper source (Objective-C)
native/android/ Android helper source (Java)
skills/looktap/ the AI-agent guide
site/ the website: landing page (site/src) and docs generated from this README,
SKILL.md and BENCHMARK.md (site/build.mjs); published by .github/workflows/pages.yml
Notes for contributors:
- Zero dependencies, on purpose. Use only Node built-ins. The helpers use only what ships with macOS/Xcode and Android.
- Helpers are versioned by content hash. After you rebuild one, the next command replaces the running copy.
Commit the rebuilt file in
lib/assets/. - A new command needs:
- a method on both
IosandAndroid, or, if it only reads the screen, code inlib/screen.js; - a
caseinbin/looktap.js; - a row in this README;
- a line in
skills/looktap/SKILL.mdif agents should use it; - a scene that shows it in
site/src/scenes.js(itscoverslist).npm run site:buildfails until the README row and the scene are there.
- a method on both
Issues and PRs welcome. If looktap saved your agent some tokens, a ⭐ helps others find it.
Roadmap
- Verified Xcode 27 input
- Rotation verified on iPad simulators
Ideas and votes welcome in Issues.
License
AGPL-3.0 © Lakpriya Senevirathna. You're free to use, modify and self-host it. If you run a modified version as a service for others, you must publish your changes under the same license.
looktap is an independent open-source project, not affiliated with, endorsed by or sponsored by Apple Inc., Google LLC or the Appium project. iOS, iPhone, Xcode and Face ID are trademarks of Apple Inc. Android is a trademark of Google LLC.
Text in · taps out · looktap
Generated from README.md. Edit it there.