looktap v0.2.1

Start

Features

ItemWhat you get
👀Read the screen as text. ls lists what's visible, one row per element: @ref type x,y w×h label = value. It reads native screens, React Native screens and web content (Safari, in-app browsers, web views)
👆Tap by label. Exact match first, then a prefix or substring that names exactly one label. An ambiguous match is an error, never a guess. Also by @ref from the last ls, or by x y coordinates
⌨️Type and fill. type into the focused field, fill to clear a field and type, key return|escape|delete|tab|…, and hidekb, which never reports success while the keyboard is still up
🧭Navigate and gesture. swipe, scrollto <label>, back, open <deep link>, launch <app>, longpress, and two-finger zoom in|out
⏱️Wait instead of sleep. wait "Welcome", wait "Loading" --gone. Actions already wait up to 3 s for their target
📸Screenshots. shot saves a PNG and prints its path, with --scale 0.5 for fewer image tokens. On Android emulators it also captures FLAG_SECURE screens
🎞️Burst capture and video. burst saves a frame each time the screen changes, to catch spinners, toasts and transitions. record start … record stop saves an MP4 of everything in between
🪵Logs. logs shows the app's log since your last look. --errors and --grep narrow it, and on iOS Apple-framework chatter is filtered out
💥Crashes. crashes reads iOS crash reports (exception, reason, top frames) and Android crashes, ANRs and low-memory kills, so "the app vanished" always comes with a reason
🫆Biometrics. bio match|nomatch simulates Face ID or a fingerprint
🌍Simulated conditions. location <lat> <lon>, appearance dark, textsize xxl (Dynamic Type / font scale), statusbar clean (9:41 for screenshots), rotate landscape (ls, taps and screenshots follow the turned screen), Android network offline, and iOS push notifications
🧹App state for repros. install a build, reset an app to a fresh install, uninstall, and permission grant|revoke|reset camera|location|photos|…, with the same names on both platforms
🤖Built for agents. --ls on any action, run to batch steps, --json, and a Claude Code skill you install with one command
🧩Nothing to install on simulators, emulators or Android phones, no server to run, no npm dependencies. The helpers start on first use. A real iPhone gets a small test runner, built for you
⚠️Honest failures. A tap that's covered by a toast prints a warning, a stale @ref is an error rather than a wrong tap, a system prompt over the app is reported as one, and an app that dies is named the moment looktap notices

Generated from README.md. Edit it there.