尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Map and audit any mobile app from your AI agent. Every screen and the route to it, plus WCAG 2.2, performance, store and security audits, on Android and iOS. No SDK, no test IDs, no source code.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗appscreenmap crawl --apk app.apk # explore the app, then run `appscreenmap` to browse the map
[!NOTE] Early alpha: the project is under active development and commands may change.
Ask a team "how many screens does your app have, and how do I reach checkout?" and you get a guess. The answer lives in someone's head, a stale design file, or a test suite that breaks every sprint. AppScreenMap walks through the build you already ship and writes every screen down, so the answer is a file you can query, diff and build on.
crawl --network, watch).verify replays every path and fails the CI job if one is gone.It makes no model calls while it explores, so the same build gives the same map, and nothing leaves your machine. Android and iOS (iOS is beta).
Needs macOS, uv, Bun, and an Android emulator or device (adb),
or Xcode with a booted Simulator for iOS.
git clone https://github.com/MKS-01/appscreenmap && cd appscreenmap
make install # engine, dashboard and the `appscreenmap` command
appscreenmap setup # checks adb, devices, simulators; says what is missing
appscreenmap crawl --apk app.apk # explore the app
appscreenmap # terminal home + dashboard
No app handy? Press x in the terminal home to map the Playground sample app.
map.json, screens/, flows/, a11y.json, perf.json, reports).
map.json is a versioned contract: docs/MAP_SCHEMA.md.--locale fr-FR (or ja, ar, …). Android 13+; on iOS the app is relaunched.appscreenmap --help lists them all. After pulling new code, run make install again.Everything can run through your AI agent. Press t in the terminal home for a new terminal in the same folder, run
claude, and ask in plain language:
Map my app on the emulator and review the map. Audit accessibility on the latest run at WCAG 2.2 AA. Map the new build and compare it with the last run. Two screens got merged in the last map. Fix it and map again.
The agent works through the MCP server, so it answers from the map instead of exploring the app again, and its work shows up live in the dashboard:
You: How do I reach Settings? Agent →
route("Settings"): From launch: tap Profile, then tap Settings. Here is the test flow. You: Take the emulator there. Agent →go_to_screen("Settings")→where_am_i(): Done, the device is on Settings.
appscreenmap mcp serves your mapped runs to any MCP client (Claude Code, Claude Desktop, Cursor, VS Code, …). It
is a local stdio server: it reads runs/ on your machine and talks to your emulator or Simulator, with no account,
no API key and no network calls.
claude mcp add appscreenmap -- appscreenmap mcp
Other clients take the same command in their MCP config:
{ "mcpServers": { "appscreenmap": { "command": "appscreenmap", "args": ["mcp"] } } }
Options: --runs <dir> (default ./runs), --run <run-id> (default: the latest finished run), --serial <device>.
| Tool | Answers | Kind |
|---|---|---|
list_runs, list_screens, find_screens | What has been mapped; which screen is "Settings" or has a "Save" button | read-only |
get_screen, screenshot | One screen: elements and where each leads, how to reach it, findings, load time, image | read-only |
route | Steps to a screen, from launch or another screen (with its test flow) | read-only |
a11y_findings, perf_summary | Which screens fail which WCAG 2.2 criteria; which are slow | read-only |
where_am_i | Which mapped screen the device shows now | read-only |
go_to_screen | Drive the device to a screen along its route | drives the device |
crawl | Map an app (or a new build) in the background | drives the device |
crawl_status | Follow a running map | read-only |
Tools carry MCP annotations (readOnlyHint, destructiveHint), so clients can ask before go_to_screen and crawl,
the two that drive the device. More in docs/SETUP.md.
appscreenmap serve opens it on runs/. No backend; it updates live while it maps.
notes.json and the mapped data is never touchedExport the map as one self-contained SVG (every screenshot inside) or Markdown/CSV from the dashboard, or take the files
straight from the run: test flows (flows/, Maestro format), a Mermaid graph (map.mmd), a one-file WCAG report
(a11y-report.html, evidence not a conformance claim), and map.json / a11y.json / perf.json.
Open source under the MIT License. © 2026 MKS and AppScreenMap contributors.
Built with Claude Code.