[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81197":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":12,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":10,"rankLanguage":10,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":17,"hasPages":17,"topics":19,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":14,"starSnapshotCount":14,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},81197,"tauri-dev-screen-cli","johunsang\u002Ftauri-dev-screen-cli","johunsang","CLI to inspect, screenshot, and control live Tauri development screens without running an MCP server.","https:\u002F\u002Fgithub.com\u002Fjohunsang\u002Ftauri-dev-screen-cli#readme",null,"JavaScript",26,6,0,2.54,"MIT License",false,"main",[20,21,22,23,24,25,26,27,28,29],"ai-agents","desktop-automation","e2e-testing","nodejs","screenshot-testing","tauri","tauri-automation","tauri-cli","tauri-testing","webview-testing","2026-06-12 02:04:12","# Tauri Dev Screen CLI\n\n**Tauri Dev Screen CLI** is a lightweight Node.js command-line tool for inspecting, screenshotting, and controlling a live Tauri development window without running an MCP server.\n\nIt connects directly to the WebSocket exposed by [`tauri-plugin-mcp-bridge`](https:\u002F\u002Fgithub.com\u002Fhypothesi\u002Ftauri-mcp) on ports `9223-9322`, then lets AI coding agents, CI jobs, and local scripts verify the real desktop UI with screenshots, DOM snapshots, JavaScript execution, clicks, typing, keyboard events, and window resizing.\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fjohunsang\u002Ftauri-dev-screen-cli\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fjohunsang\u002Ftauri-dev-screen-cli\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n[![Node.js 20+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-20%2B-339933.svg)](https:\u002F\u002Fnodejs.org\u002F)\n[![Tauri](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTauri-dev%20screen-24c8db.svg)](https:\u002F\u002Ftauri.app\u002F)\n\n## Why\n\nTauri apps are desktop apps, so browser-only test tools often miss the actual native window state. This CLI gives coding agents and developers a direct terminal workflow for checking the development screen:\n\n- Capture the real Tauri WebView as a PNG screenshot\n- Save a compact DOM snapshot for AI-readable UI inspection\n- Run JavaScript inside the WebView\n- Click and type through CSS selectors\n- Send keyboard events to the focused element\n- Resize the native Tauri window\n- Avoid stdio MCP setup when a plain CLI command is enough\n\n## Requirements\n\n- Node.js `20` or newer\n- A running Tauri app with `tauri-plugin-mcp-bridge`\n- Local access to the bridge WebSocket port, usually `127.0.0.1:9223`\n\nExample Tauri setup:\n\n```rust\ntauri::Builder::default()\n  .plugin(tauri_plugin_mcp_bridge::init())\n  .run(tauri::generate_context!())\n  .expect(\"error while running tauri application\");\n```\n\n## Install\n\nInstall directly from GitHub:\n\n```bash\nnpm install -g github:johunsang\u002Ftauri-dev-screen-cli\n```\n\nOr run from a clone:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjohunsang\u002Ftauri-dev-screen-cli.git\ncd tauri-dev-screen-cli\nnpm link\n```\n\n## Quick Start\n\nStart your Tauri dev app first:\n\n```bash\nnpm run tauri dev\n```\n\nThen inspect the live window:\n\n```bash\ntauri-dev-screen\ntauri-dev-screen status\ntauri-dev-screen screenshot --file .tauri-dev-screen\u002Fscreen.png\ntauri-dev-screen snapshot --file .tauri-dev-screen\u002Fdom.txt\ntauri-dev-screen js --code \"document.title\"\ntauri-dev-screen click --selector \"button\"\ntauri-dev-screen type --selector \"input\" --text \"hello\"\ntauri-dev-screen key --key Enter\ntauri-dev-screen resize --width 1440 --height 980\n```\n\nLocal development without global install:\n\n```bash\nnode bin\u002Ftauri-dev-screen.mjs\nnode bin\u002Ftauri-dev-screen.mjs status\n```\n\n## Commands\n\n| Command | Purpose |\n| --- | --- |\n| `check` or no command | Save status, screenshot, DOM snapshot, and summary artifacts |\n| `status` | Print app metadata, Tauri version, window list, and bridge status |\n| `screenshot` | Save the current Tauri WebView screenshot as PNG |\n| `snapshot` | Save an AI-readable DOM text snapshot |\n| `js` | Execute JavaScript inside the Tauri WebView |\n| `click` | Click an element by CSS selector |\n| `type` | Focus an element and type text |\n| `key` | Dispatch a keyboard event to the focused element |\n| `resize` | Resize the native Tauri window |\n\n## DOM Control\n\nTauri Dev Screen CLI can inspect and control the live DOM inside the Tauri WebView.\n\nSelector-based commands cover common UI automation:\n\n```bash\ntauri-dev-screen click --selector \"button[data-testid='save']\"\ntauri-dev-screen type --selector \"input[name='email']\" --text \"hello@example.com\"\ntauri-dev-screen key --key Enter\n```\n\nFor direct DOM reads, writes, and custom events, use `js --code`:\n\n```bash\ntauri-dev-screen js --code \"document.title\"\ntauri-dev-screen js --code \"document.querySelector('input').value = 'hello'\"\ntauri-dev-screen js --code \"document.querySelector('button').click()\"\ntauri-dev-screen js --code \"document.body.dataset.agentChecked = 'true'\"\ntauri-dev-screen js --code \"Array.from(document.querySelectorAll('button')).map((el) => el.innerText)\"\n```\n\nThe JavaScript runs in the target WebView context, so it can query elements, mutate DOM state, dispatch browser events, and return JSON-serializable values to stdout.\n\n## Options\n\n```bash\n--host 127.0.0.1\n--port 9223\n--window main\n--out .tauri-dev-screen\n--file .tauri-dev-screen\u002Fscreen.png\n--timeout-ms 45000\n```\n\nEnvironment variables:\n\n```bash\nTAURI_DEV_HOST=127.0.0.1\nTAURI_DEV_PORT=9223\nTAURI_DEV_SCREEN_DIR=.tauri-dev-screen\n```\n\n## Output\n\nDefault `check` artifacts:\n\n```text\n.tauri-dev-screen\u002Fstatus.json\n.tauri-dev-screen\u002Fscreenshot.png\n.tauri-dev-screen\u002Fdom-snapshot.txt\n.tauri-dev-screen\u002Fsummary.json\n```\n\n## AI Agent Workflow\n\nThis project is designed for AI coding agents that need proof that a Tauri desktop app actually renders and responds:\n\n```bash\ntauri-dev-screen status\ntauri-dev-screen screenshot --file artifacts\u002Fscreen.png\ntauri-dev-screen snapshot --file artifacts\u002Fdom.txt\ntauri-dev-screen js --code \"document.querySelectorAll('button').length\"\n```\n\nThe resulting screenshot and DOM snapshot can be attached to agent runs, CI artifacts, pull request checks, or local bug reports.\n\n## No MCP Server Required\n\nTauri Dev Screen CLI does not register or run an MCP stdio server. It uses the existing local WebSocket control surface exposed by `tauri-plugin-mcp-bridge`, so any shell, npm script, CI job, or coding agent can control the dev screen with ordinary CLI commands.\n\n## Security\n\nOnly run this tool against trusted local Tauri development apps. The bridge can execute JavaScript in the target WebView and should not be exposed to untrusted networks.\n\n## License\n\nMIT License. See [LICENSE](LICENSE).\n","Tauri Dev Screen CLI 是一个轻量级的Node.js命令行工具，用于在不运行MCP服务器的情况下检查、截图和控制实时的Tauri开发窗口。它通过直接连接到由`tauri-plugin-mcp-bridge`插件暴露的WebSocket端口（9223-9322），支持AI编码代理、CI作业及本地脚本验证真实的桌面UI，包括截图、DOM快照、JavaScript执行、点击、输入、键盘事件以及窗口调整大小等功能。适用于需要对Tauri应用进行端到端测试或自动化操作的场景，尤其是当浏览器测试工具不足以覆盖实际的原生窗口状态时。此工具简化了开发者的工作流程，无需复杂的MCP设置即可完成大部分交互式测试需求。",2,"2026-06-11 04:03:52","CREATED_QUERY"]