{"slug": "that-desktop-fly-now-sniffs-out-your-agents-md-and-claude", "title": "That desktop fly now sniffs out your AGENTS.md and CLAUDE.", "summary": "A developer forked the open-source desktop fly project into 'desktop-fly-vibecode', which now detects agent marker files such as AGENTS.md, CLAUDE.md, .cursor/rules, and .kiro/steering, using a deterministic scoring loop that runs every ~500 ms to guide the fly toward the strongest 'scent'. The fork, available on GitHub, requires an Electron build and works on macOS, Windows, and Linux, with CPU usage around 0.3% idle on an M2. The tool provides ambient awareness for users of Cursor, Claude Code, or Windsurf to verify their agent context is active.", "body_md": "# That desktop fly now sniffs out your AGENTS.md and CLAUDE.\n\n[cursor](/en/tags/cursor/)/rules, .kiro/steering, plus roughly forty other marker files — and drifts toward the strongest \"scent.\" An open editor window radiating an active project pulls it hardest; a closed folder icon or a buried directory emits a faint whiff.\n\nI cloned the repo, ran `npm install && npm start`\n\n, and within seconds the little insect was orbiting my VS Code window where a `CLAUDE.md`\n\nsat open. Switched to a Finder pane showing a project root with `.cursor/rules`\n\n— it banked left and hovered there. The heuristic is surprisingly readable: each detected marker adds weight, open windows multiply it, nested paths divide it. No ML model, just a deterministic scoring loop that runs every ~500 ms.\n\n```\n// package.json snippet — the marker list lives here\n{\n  \"agentMarkers\": [\n    \"AGENTS.md\",\n    \"CLAUDE.md\",\n    \".cursor/rules\",\n    \".kiro/steering\",\n    \".github/copilot-instructions.md\",\n    \"prompt.md\",\n    \"system-prompt.md\",\n    \".windsurf/rules\",\n    \".continue/config.json\"\n    // … 30 more\n  ]\n}\n```\n\nThe fork lives at `github.com/<forker>/desktop-fly-vibecode`\n\n(search the name, it's the only one with \"vibecode\" in the description). Install is the usual Electron dance — `npm run build`\n\nspits a signed macOS .dmg and a Windows .exe. Linux users get an AppImage. No auto-updater yet, so pin the release you like.\n\nCaveats: it polls the accessibility tree, so macOS will nag for Screen Recording permission on first launch. On Wayland the window-title sniffing is hit-or-miss; X11 works fine. CPU sits around 0.3 % idle on an M2, spikes to 1.2 % when you have a dozen projects open — negligible.\n\nWhy bother? Purely ambient awareness. I keep it running on a second monitor; when the fly settles on a window I know that project still has its agent context wired up. If it wanders off to the dock, something’s stale — maybe the `.cursor/rules`\n\ngot deleted or the symlink broke. Stupid? Yes. Useful? Weirdly, for the five minutes a day I glance over and confirm the scent trail is still hot.\n\nWorth the five-minute build if you already live inside Cursor, [Claude Code](/en/tags/claude%20code/), or Windsurf and want a passive dashboard that doesn't demand a browser tab.\n\n[Next How I vibe-coded a macOS driver to rescue my Drobo 5D from →](/en/threads/7095/)", "url": "https://wpnews.pro/news/that-desktop-fly-now-sniffs-out-your-agents-md-and-claude", "canonical_source": "https://promptcube3.com/en/threads/7177/", "published_at": "2026-08-21 16:01:27+00:00", "updated_at": "2026-08-21 16:13:02.027303+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["desktop-fly-vibecode", "Cursor", "Claude Code", "Windsurf", "VS Code", "Finder", "GitHub", "Electron"], "alternates": {"html": "https://wpnews.pro/news/that-desktop-fly-now-sniffs-out-your-agents-md-and-claude", "markdown": "https://wpnews.pro/news/that-desktop-fly-now-sniffs-out-your-agents-md-and-claude.md", "text": "https://wpnews.pro/news/that-desktop-fly-now-sniffs-out-your-agents-md-and-claude.txt", "jsonld": "https://wpnews.pro/news/that-desktop-fly-now-sniffs-out-your-agents-md-and-claude.jsonld"}}