\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n\n
\n\n---\n\n.openai.azure.com/...` | `gpt-4o` |\n\nConfigure in `config.toml`:\n\n```toml\n[ai]\nprovider = \"openai\"\napi_key = \"sk-...\"\nmodel = \"deepseek-coder\"\nbase_url = \"https://api.deepseek.com\"\n```\n\nOr via env vars: `ANTHROPIC_API_KEY`, `DEEPSEEK_API_KEY`, `OPENROUTER_API_KEY`, `NVIDIA_API_KEY`, `HF_API_KEY`, `AZURE_API_KEY`, `OPENAI_API_KEY`.\n\nThe old `[haiku]` config still works — zero breaking changes.\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\" # Core + HTTP MCP server\n\n# Rust crates (optional, for native speed)\ncd crates/health && maturin develop --release && cd ../..\ncd crates/sentinel && maturin develop --release && cd ../..\n\n# Run\nfartrun scan /path/to/project # CLI\nfartrun-mcp # MCP stdio\nfartrun-mcp-http --port 3001 # MCP HTTP/SSE\npython -m gui.app # Desktop GUI (requires PyQt5)\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Wall of Scans\n\nReal scan results from real projects. No names, no shame — just the output.\n\nGot a scan screenshot? Drop it in a [PR](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/pulls) or [issue](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/issues) — it helps improve the scanner.\n\nSee what others found: [`reviews/`](reviews/)\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/wiki)**\n\n14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## License\n\n**MIT** — see [LICENSE](LICENSE) for the real one.\n\nPlus the supplementary **Fart & Run License v1.0** (for vibes):\n\n> 1. You may fart and run, but you must attribute the original farter.\n> 2. You may not mass-fart on production servers you don't own.\n> 3. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n> 4. Nag messages are a feature. Disabling them voids your warranty (you never had one).\n> 5. The \"Silent But Deadly\" mode is exactly what it sounds like. And doesn't sound like.\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "ec3de2d86163eb2a465be9571e4dbe6d52c0be91": {"t": 1785767193.5556479, "n": 10374, "h": "a2b9b0c08fe19083", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n> **v3.0.3 — Full source code is now open.** Python core, Rust crates, PyQt5 GUI, 80+ tests, 4 plugins — everything.\n> No more closed binaries. Build from source, audit the code, contribute.\n> PRs welcome. See [Contributing](#contributing).\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\" # Core + HTTP MCP server\n\n# Rust crates (optional, for native speed)\ncd crates/health && maturin develop --release && cd ../..\ncd crates/sentinel && maturin develop --release && cd ../..\n\n# Run\nfartrun scan /path/to/project # CLI\nfartrun-mcp # MCP stdio\nfartrun-mcp-http --port 3001 # MCP HTTP/SSE\npython -m gui.app # Desktop GUI (requires PyQt5)\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Wall of Scans\n\nReal scan results from real projects. No names, no shame — just the output.\n\nGot a scan screenshot? Drop it in a [PR](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/pulls) or [issue](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/issues) — it helps improve the scanner.\n\nSee what others found: [`reviews/`](reviews/)\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/wiki)**\n\n14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## License\n\n**MIT** — see [LICENSE](LICENSE) for the real one.\n\nPlus the supplementary **Fart & Run License v1.0** (for vibes):\n\n> 1. You may fart and run, but you must attribute the original farter.\n> 2. You may not mass-fart on production servers you don't own.\n> 3. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n> 4. Nag messages are a feature. Disabling them voids your warranty (you never had one).\n> 5. The \"Silent But Deadly\" mode is exactly what it sounds like. And doesn't sound like.\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "be8aae4145c00a3870503733a853b64662510a24": {"t": 1785767195.4412584, "n": 10011, "h": "50fdf1de5b64a9b2", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n> **v3.0.3 — Full source code is now open.** Python core, Rust crates, PyQt5 GUI, 80+ tests, 4 plugins — everything.\n> No more closed binaries. Build from source, audit the code, contribute.\n> PRs welcome. See [Contributing](#contributing).\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\" # Core + HTTP MCP server\n\n# Rust crates (optional, for native speed)\ncd crates/health && maturin develop --release && cd ../..\ncd crates/sentinel && maturin develop --release && cd ../..\n\n# Run\nfartrun scan /path/to/project # CLI\nfartrun-mcp # MCP stdio\nfartrun-mcp-http --port 3001 # MCP HTTP/SSE\npython -m gui.app # Desktop GUI (requires PyQt5)\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/wiki)**\n\n14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## License\n\n**MIT** — see [LICENSE](LICENSE) for the real one.\n\nPlus the supplementary **Fart & Run License v1.0** (for vibes):\n\n> 1. You may fart and run, but you must attribute the original farter.\n> 2. You may not mass-fart on production servers you don't own.\n> 3. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n> 4. Nag messages are a feature. Disabling them voids your warranty (you never had one).\n> 5. The \"Silent But Deadly\" mode is exactly what it sounds like. And doesn't sound like.\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "616afbe3f28ac0577896625ba2189fa3103c2c55": {"t": 1785767196.7485328, "n": 10011, "h": "6403d436ff42bdae", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n> **v3.0.3 — Full source code is now open.** Python core, Rust crates, PyQt5 GUI, 80+ tests, 4 plugins — everything.\n> No more closed binaries. Build from source, audit the code, contribute.\n> PRs welcome. See [Contributing](#contributing).\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\" # Core + HTTP MCP server\n\n# Rust crates (optional, for native speed)\ncd crates/health && maturin develop --release && cd ../..\ncd crates/sentinel && maturin develop --release && cd ../..\n\n# Run\nfartrun scan /path/to/project # CLI\nfartrun-mcp # MCP stdio\nfartrun-mcp-http --port 3001 # MCP HTTP/SSE\npython -m gui.app # Desktop GUI (requires PyQt5)\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/wiki)**\n\n14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## License\n\n**MIT** — see [LICENSE](LICENSE) for the real one.\n\nPlus the supplementary **Fart & Run License v1.0** (for vibes):\n\n> 1. You may fart and run, but you must attribute the original farter.\n> 2. You may not mass-fart on production servers you don't own.\n> 3. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n> 4. Nag messages are a feature. Disabling them voids your warranty (you never had one).\n> 5. The \"Silent But Deadly\" mode is exactly what it sounds like. And doesn't sound like.\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "f301cd15ab647da66d0c4c4cf08933254c9aec23": {"t": 1785767198.168624, "n": 10011, "h": "06df9f2d30fd4432", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n> **v3.0.3 — Full source code is now open.** Python core, Rust crates, PyQt5 GUI, 80+ tests, 4 plugins — everything.\n> No more closed binaries. Build from source, audit the code, contribute.\n> PRs welcome. See [Contributing](#contributing).\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\" # Core + HTTP MCP server\n\n# Rust crates (optional, for native speed)\ncd crates/health && maturin develop --release && cd ../..\ncd crates/sentinel && maturin develop --release && cd ../..\n\n# Run\nfartrun scan /path/to/project # CLI\nfartrun-mcp # MCP stdio\nfartrun-mcp-http --port 3001 # MCP HTTP/SSE\npython -m gui.app # Desktop GUI (requires PyQt5)\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/wiki)**\n\n14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## License\n\n**MIT** — see [LICENSE](LICENSE) for the real one.\n\nPlus the supplementary **Fart & Run License v1.0** (for vibes):\n\n> 1. You may fart and run, but you must attribute the original farter.\n> 2. You may not mass-fart on production servers you don't own.\n> 3. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n> 4. Nag messages are a feature. Disabling them voids your warranty (you never had one).\n> 5. The \"Silent But Deadly\" mode is exactly what it sounds like. And doesn't sound like.\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "6210e17499034232fcb8d9119699b2952b42d3df": {"t": 1785767199.6277213, "n": 9406, "h": "a2caee71e3e9654d", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/wiki)**\n\n14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "2f98b60fabfcdc2544295ddea96e7ef1864d057f": {"t": 1785767200.9972694, "n": 9102, "h": "de285e8c1ce3b262", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "cc43f8847f047f94a45373a739c9430225edb238": {"t": 1785767203.5573134, "n": 9051, "h": "133bc4859aa1dbfb", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "e05724f50d6b2faf7f6edad6c1a9042759a22880": {"t": 1785767205.215478, "n": 9004, "h": "903709d7768e4814", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "d944a0e08d8b00bd64923209388a83986a10c8f8": {"t": 1785767206.895479, "n": 12853, "h": "b141d0bb3e04fa65", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n[](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun)\n\n
\n\n---\n\n\n
\n
\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nIf you're vibe coding with Claude, Cursor, or Copilot and have no idea what just got committed to your repo — Fartrun finds the problems before your team lead does.\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n- **Bilingual.** All findings, nag messages, and the GUI speak both English and Ukrainian.\n\n---\n\n## Real-World Example\n\nHere's what Fartrun found on a real vibe-coded Django + React project (62 files, built entirely with AI assistants):\n\n```\n┌─────────────────────────────────────────────────────────┐\n│ fartrun scan ~/atbalance │\n│ │\n│ 51 findings: 3 high · 26 medium · 9 low · 13 info │\n│ │\n│ HIGH: │\n│ ⛔ No tests found — zero test files in the project │\n│ ⛔ DEBUG defaults to True in settings.py │\n│ ⛔ backend/venv/ tracked by git (7167 files!) │\n│ │\n│ MEDIUM (selected): │\n│ ⚠️ SECRET_KEY falls back to insecure default │\n│ ⚠️ npm install without lockfile in Dockerfile │\n│ ⚠️ No API throttling — bots will hammer your forms │\n│ ⚠️ :latest tags in docker-compose.prod.yml │\n│ ⚠️ import * from react-icons in 2 components │\n│ ⚠️ 11 unused imports and dead classes │\n│ ⚠️ Copy-paste: CookiePolicy ↔ PrivacyPolicy (26 ln) │\n│ │\n│ Time: 0.8s · No tokens burned · No code uploaded │\n└─────────────────────────────────────────────────────────┘\n```\n\nThe AI built it. The AI didn't mention any of this. Fartrun did.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### 1. Download Binary (fastest)\n\nGrab the latest release for your OS:\n\n| OS | File | Install |\n|----|------|---------|\n| **Linux** | `fartrun-linux-x64.tar.gz` | `tar xzf fartrun-linux-x64.tar.gz && chmod +x fartrun` |\n| **macOS** | `fartrun-macos-x64.zip` | `unzip fartrun-macos-x64.zip` |\n| **Windows** | `fartrun-windows-x64.zip` | Extract zip |\n\n**[Download from Releases →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases)**\n\nThen run:\n```bash\n./fartrun scan /path/to/project\n```\n\n\nPlatform-specific notes
\n\n#### Linux\n\n```bash\ntar xzf fartrun-linux-x64.tar.gz\nchmod +x fartrun\n./fartrun scan /path/to/project\n\n# Optional: global install\nsudo mv fartrun /usr/local/bin/\n```\n\n#### macOS\n\n```bash\nunzip fartrun-macos-x64.zip\n\n# If you got Fartrun.app:\nopen Fartrun.app\n# CLI access:\n./Fartrun.app/Contents/MacOS/fartrun scan /path/to/project\n\n# If standalone binary:\nchmod +x fartrun\n./fartrun scan /path/to/project\n```\n\n> **Gatekeeper:** macOS may block unsigned apps. Run once:\n> ```bash\n> xattr -d com.apple.quarantine fartrun\n> ```\n> Signed & notarized builds coming soon.\n\n#### Windows\n\n1. Extract `fartrun-windows-x64.zip`\n2. Open PowerShell in the extracted folder\n3. Run:\n```powershell\n.\\fartrun.exe scan C:\\path\\to\\project\n```\n\n> **SmartScreen:** Windows may show \"Unknown publisher\". Click \"More info\" → \"Run anyway\". Code-signed builds coming soon.\n\n \n\n\nFrom source
\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n \n\n### 2. MCP — stdio (Claude Code)\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n\n### 3. MCP — HTTP (Cursor / Windsurf / web)\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n\n### 4. CLI\n\n```bash\nfartrun scan /path/to/project # Full health scan → terminal report\nfartrun scan -v /path/to/project # Verbose — includes info-level findings\nfartrun status # Project overview: save points, frozen files, stack\nfartrun save \"before refactoring\" # Save point (git snapshot you can rollback to)\nfartrun rollback 1 # Undo everything since save point #1\nfartrun freeze src/config.py # Lock file — AI can't edit it\nfartrun unfreeze src/config.py # Unlock file\nfartrun list # Show all save points + frozen files\nfartrun prompt \"add auth to API\" # Turn one-liner into structured prompt for Claude\nfartrun mcp # Start MCP server (stdio)\nfartrun mcp --http --port 3001 # Start MCP server (HTTP/SSE for Cursor/Windsurf)\npython -m gui.app # Win95 GUI\n```\n\n| Command | What it does |\n|---------|-------------|\n| `scan` | 9-phase health check: dead code, tech debt, tests, git hygiene, framework issues, docs. Color-coded output, `-v` for details |\n| `status` | Quick overview — save points, frozen files, detected stack, Context7/hook status |\n| `save` / `rollback` | Git-based checkpoints. Save before AI touches your code, rollback when it breaks things |\n| `freeze` / `unfreeze` | Lock files from AI edits. Syncs with CLAUDE.md + optional Claude Code hook |\n| `list` | Show all save points and frozen files for current project |\n| `prompt` | Turns \"fix the login\" into a structured prompt with file paths, stack context, and keywords |\n| `mcp` | MCP server — stdio (Claude Code) or HTTP/SSE (Cursor, Windsurf) |\n\n---\n\n## Fartrun vs Cloud Scanners\n\n| | **Fartrun** | Snyk | SonarQube | Semgrep Cloud |\n|---|---|---|---|---|\n| Runs locally | Yes | No | Self-host option | No |\n| Code leaves your machine | Never | Yes | Depends | Yes |\n| Free | Forever | Freemium | Freemium | Freemium |\n| AI vibe-code specific checks | Yes | No | No | No |\n| Scan time (1K files) | <2s | 30-60s | 20-40s | 10-20s |\n| Setup time | 0 (binary) | Account + CLI | Server + config | Account + CLI |\n| Fart sounds | Yes | No | No | No |\n| Hasselhoff | Yes | No | No | No |\n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Health Scanner Accuracy\n\nTested on 12 real projects across 6 stacks:\n\n| Stack | Example project | Accuracy |\n|-------|----------------|----------|\n| Python (general) | Flask REST API, CLI tools | **97%** |\n| Go | gRPC microservice | **97%** |\n| TypeScript / NestJS / React | SaaS dashboard | **99%** |\n| FastAPI + React/Next.js | AI chatbot with RAG | **96%** |\n| Django + DRF + Celery | Business CRM, landing pages | **91%** |\n| **Overall** | | **~95%** |\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Star If It Saved You Once\n\nThat's it. Stars = visibility = more people not getting fired.\n\n[](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun)\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "825d05e81dc48b0141975085348fc6705bc6c2c5": {"t": 1785767208.0933576, "n": 11426, "h": "bd109cd507840456", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n[](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun)\n\n
\n\n---\n\n\n
\n
\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nIf you're vibe coding with Claude, Cursor, or Copilot and have no idea what just got committed to your repo — Fartrun finds the problems before your team lead does.\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n- **Bilingual.** All findings, nag messages, and the GUI speak both English and Ukrainian.\n\n---\n\n## Real-World Example\n\nHere's what Fartrun found on a real vibe-coded Django + React project (62 files, built entirely with AI assistants):\n\n```\n┌─────────────────────────────────────────────────────────┐\n│ fartrun scan ~/atbalance │\n│ │\n│ 51 findings: 3 high · 26 medium · 9 low · 13 info │\n│ │\n│ HIGH: │\n│ ⛔ No tests found — zero test files in the project │\n│ ⛔ DEBUG defaults to True in settings.py │\n│ ⛔ backend/venv/ tracked by git (7167 files!) │\n│ │\n│ MEDIUM (selected): │\n│ ⚠️ SECRET_KEY falls back to insecure default │\n│ ⚠️ npm install without lockfile in Dockerfile │\n│ ⚠️ No API throttling — bots will hammer your forms │\n│ ⚠️ :latest tags in docker-compose.prod.yml │\n│ ⚠️ import * from react-icons in 2 components │\n│ ⚠️ 11 unused imports and dead classes │\n│ ⚠️ Copy-paste: CookiePolicy ↔ PrivacyPolicy (26 ln) │\n│ │\n│ Time: 0.8s · No tokens burned · No code uploaded │\n└─────────────────────────────────────────────────────────┘\n```\n\nThe AI built it. The AI didn't mention any of this. Fartrun did.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### 1. Download Binary (fastest)\n\nGrab the latest release for your OS:\n\n| OS | File | Install |\n|----|------|---------|\n| **Linux** | `fartrun-linux-x64.tar.gz` | `tar xzf fartrun-linux-x64.tar.gz && chmod +x fartrun` |\n| **macOS** | `fartrun-macos-x64.zip` | `unzip fartrun-macos-x64.zip` |\n| **Windows** | `fartrun-windows-x64.zip` | Extract zip |\n\n**[Download from Releases →](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases)**\n\nThen run:\n```bash\n./fartrun scan /path/to/project\n```\n\n\nPlatform-specific notes
\n\n#### Linux\n\n```bash\ntar xzf fartrun-linux-x64.tar.gz\nchmod +x fartrun\n./fartrun scan /path/to/project\n\n# Optional: global install\nsudo mv fartrun /usr/local/bin/\n```\n\n#### macOS\n\n```bash\nunzip fartrun-macos-x64.zip\n\n# If you got Fartrun.app:\nopen Fartrun.app\n# CLI access:\n./Fartrun.app/Contents/MacOS/fartrun scan /path/to/project\n\n# If standalone binary:\nchmod +x fartrun\n./fartrun scan /path/to/project\n```\n\n> **Gatekeeper:** macOS may block unsigned apps. Run once:\n> ```bash\n> xattr -d com.apple.quarantine fartrun\n> ```\n> Signed & notarized builds coming soon.\n\n#### Windows\n\n1. Extract `fartrun-windows-x64.zip`\n2. Open PowerShell in the extracted folder\n3. Run:\n```powershell\n.\\fartrun.exe scan C:\\path\\to\\project\n```\n\n> **SmartScreen:** Windows may show \"Unknown publisher\". Click \"More info\" → \"Run anyway\". Code-signed builds coming soon.\n\n \n\n\nFrom source
\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n \n\n### 2. MCP — stdio (Claude Code)\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n\n### 3. MCP — HTTP (Cursor / Windsurf / web)\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n\n### 4. CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\npython -m gui.app # Win95 GUI\n```\n\n---\n\n## Fartrun vs Cloud Scanners\n\n| | **Fartrun** | Snyk | SonarQube | Semgrep Cloud |\n|---|---|---|---|---|\n| Runs locally | Yes | No | Self-host option | No |\n| Code leaves your machine | Never | Yes | Depends | Yes |\n| Free | Forever | Freemium | Freemium | Freemium |\n| AI vibe-code specific checks | Yes | No | No | No |\n| Scan time (1K files) | <2s | 30-60s | 20-40s | 10-20s |\n| Setup time | 0 (binary) | Account + CLI | Server + config | Account + CLI |\n| Fart sounds | Yes | No | No | No |\n| Hasselhoff | Yes | No | No | No |\n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Health Scanner Accuracy\n\nTested on 12 real projects across 6 stacks:\n\n| Stack | Example project | Accuracy |\n|-------|----------------|----------|\n| Python (general) | Flask REST API, CLI tools | **97%** |\n| Go | gRPC microservice | **97%** |\n| TypeScript / NestJS / React | SaaS dashboard | **99%** |\n| FastAPI + React/Next.js | AI chatbot with RAG | **96%** |\n| Django + DRF + Celery | Business CRM, landing pages | **91%** |\n| **Overall** | | **~95%** |\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Star If It Saved You Once\n\nThat's it. Stars = visibility = more people not getting fired.\n\n[](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun)\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "d10eab06b1b4b37a805c3d1a0e6d98e4d4ed1571": {"t": 1785767209.4600372, "n": 9004, "h": "903709d7768e4814", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\nTwo fart sounds. That's it. We didn't need more.\n\n| Finding | You hear |\n|---------|----------|\n| Something's off | A polite, restrained poot. A gentleman's warning. |\n| Something's very off | The full experience. Neighbors will ask questions. |\n\n### Optional: Hasselhoff Mode\n\nFor those who need _inspiration_ to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).\n\n| Song | When it plays | Motivational effect |\n|------|--------------|---------------------|\n| **Looking for Freedom** | Critical findings detected | You're looking for freedom from your own code. You won't find it. |\n| **True Survivor** | You actually fix everything | Congratulations survivor. The Hoff is proud. |\n| **Du** | Easter egg | If you know, you know. If you don't — you're not ready. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You opened a terminal? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned.\n\nHe's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "6d9649dfc2bc5d7055841bf9e46ac32c61300567": {"t": 1785767211.1130033, "n": 8636, "h": "ee987f52b66d8213", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\nAfter a full health scan you get a `.md` report in `.fartrun/reports/` — already formatted for Claude Code context. Paste it into your prompt or let the MCP tool feed it directly. No copy-pasting JSON, no parsing logs. Just a structured markdown that Claude actually understands: findings, severity, file paths, and fix suggestions — ready to act on.\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "423d8bde807f31873d73746271c3bd720a373b8a": {"t": 1785767212.5875916, "n": 8372, "h": "1386c286fb8dc992", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\nAfter a full health scan, you get a ready-to-read `.md` report in `.fartrun/reports/`:\n\n\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "eb0153010e4ca6e817322086ceada172aef2a629": {"t": 1785767214.1530988, "n": 8233, "h": "bf42e08b4a5aa3d8", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n```\n ____ _ ___ _____ ___ __ _ __ __\n / __// \\ | _ \\|_ _| _ \\| || | \\ \\/ /\n | _|_| o | | / | | | v /| \\/ | \\ /\n |_| |___| |_|\\_\\ |_| |_|_\\|_||_| |_|\n fartrun — vibe-coder safety net, with farts\n\n → Scanning project at ~/my-app\n\n ✓ Save Points: 3 (latest: \"before big refactor\")\n ✓ Frozen files: 2\n ✓ Detected stack: React 18, FastAPI, PostgreSQL\n\n ✓ Context7 MCP: installed\n ✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)\n\n → Health: 87/100 — 3 dead functions, 2 missing tests\n → Security: 1 high (exposed .env in git history)\n 💨 The Thunderclap — Someone will find this. Soon.\n```\n\n---\n\n## Health Scanner Accuracy\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### One command (recommended)\n\n```bash\nnpx fartrun@latest install\n```\n\nDownloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.\n\n```bash\nnpx fartrun@latest install --claude # Claude Code only\nnpx fartrun@latest install --cursor # Cursor only\nnpx fartrun@latest install --windsurf # Windsurf only\n```\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\nfartrun gui # Win95 GUI\n```\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\nClaude Code — stdio
\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n \n\n\nCursor / Windsurf — HTTP
\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n \n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "34ec53eeba820f940bf1eed42b53e013515ad654": {"t": 1785767215.6165988, "n": 7154, "h": "0aaa17d2bad3d03a", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n\n
\n
\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### MCP — stdio (Claude Code / settings.json)\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n\n### MCP — HTTP (Cursor / Windsurf / web)\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\npython -m gui.app # Win95 GUI\n```\n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Health Scanner Accuracy\n\nTested on 12 real projects across 6 stacks:\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Daria Chuprina\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}, "98d5df5a14d480066036358f455c78b09bed16fb": {"t": 1785767217.0671828, "n": 7083, "h": "b415729f77bf2462", "c": "\n\n# Vibecode Cleaner Fartrun & Awesome Hasselhoff\n\n**Your AI wrote the code. We check if it'll get you fired.**\n\n> *\"Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.\"*\n> — Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)\n\n\n\n\n\n\n\n
\n\n---\n\n> GIF demo — coming soon\n\n---\n\n## Why This Isn't Another AI Checking AI\n\nEvery other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.\n\n- **Rust-compiled modules** run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.\n- **Fast.** Tree-sitter AST parsing across thousands of files. Not \"fast for a cloud service\" — actually fast.\n- **Optional AI tips** via Haiku cost ~$0.001 each. That's the only money involved, and it's optional.\n- **No telemetry. No cloud. No \"we only use your code to improve our service.\"** Just a local scan and a fart.\n\n---\n\n## What It Does\n\n| Feature | Details |\n|---------|---------|\n| **Security Scanner** | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |\n| **Health Scanner** | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |\n| **Token Monitor** | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |\n| **MCP Server** | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |\n| **Context7 Enrichment** | Findings get real documentation snippets — not \"add tests\" but the actual pytest Getting Started guide |\n| **Nag Messages** | 4 escalation levels in EN/UA. From *\"Tokens: 45K. Calories burned: 0.\"* to *\"GG. 1.2M tokens. Touch grass.\"* |\n| **Win95 GUI** | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |\n\n---\n\n## Quick Start\n\n### Desktop (binary)\n\nDownload from [Releases](https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun/releases).\n\n### From source\n\n```bash\ngit clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git\ncd Vibecode-Cleaner-Fartrun\npip install -e \".[http]\"\n```\n\n### MCP — stdio (Claude Code / settings.json)\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"command\": \"fartrun-mcp\" }\n }\n}\n```\n\n### MCP — HTTP (Cursor / Windsurf / web)\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n \"mcpServers\": {\n \"fartrun\": { \"url\": \"http://localhost:3001/sse\" }\n }\n}\n```\n\n### CLI\n\n```bash\nfartrun scan /path/to/project # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1 # Undo everything\npython -m gui.app # Win95 GUI\n```\n\n---\n\n## MCP Tools (29)\n\n| Category | Tools |\n|----------|-------|\n| **Health** | `run_health_scan`, `get_health_summary`, `get_unused_code`, `get_tech_debt`, `get_security_issues`, `get_module_graph`, `get_complexity_report`, `get_git_health`, `get_test_coverage`, `get_docs_quality`, `get_ui_issues`, `get_framework_check`, `get_outdated_deps`, `get_config_map`, `generate_health_report` |\n| **Status** | `get_status`, `get_activity`, `detect_project_stack`, `search_code` |\n| **Prompts** | `build_prompt` |\n| **Save Points** | `create_save_point`, `rollback_save_point`, `list_save_points` |\n| **Frozen Files** | `freeze_file`, `unfreeze_file`, `list_frozen` |\n| **Integrations** | `install_context7`, `uninstall_context7`, `list_prompts` |\n\n---\n\n## Farts & Hasselhoff\n\n| Severity | Classic | Fart Mode | What it means |\n|----------|---------|-----------|---------------|\n| Critical | Air raid siren | The Devastator | Your secrets are already on Pastebin |\n| High | Alarm bell | The Thunderclap | Someone will find this. Soon. |\n| Medium | Warning beep | The Squeaker | Not great, not terrible |\n| Low | Gentle ping | The Whisper | Technically a finding. Relax. |\n| Info | Soft chime | The Silent But Deadly | Good to know. Carry on. |\n\nHasselhoff used to appear for everything. Container started? Hasselhoff. You blinked? Hasselhoff. Beta testers staged an intervention. Now he only shows up when summoned. He's still watching though.\n\n---\n\n## Health Scanner Accuracy\n\nTested on 12 real projects across 6 stacks:\n\n| Stack | Accuracy |\n|-------|----------|\n| Python (general) | **97%** |\n| Go | **97%** |\n| TypeScript / NestJS / React | **99%** |\n| FastAPI + React/Next.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n## Cross-Platform\n\n| | Linux | macOS | Windows |\n|---|-------|-------|---------|\n| Notifications | notify-send | osascript | PowerShell toast |\n| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |\n| Config | `~/.config/claude-monitor/` | `~/Library/Application Support/` | `%APPDATA%\\claude-monitor\\` |\n\n---\n\n## Buy Me a Toilet Paper\n\nThis project is free. Forever. No premium tier. No \"enterprise edition.\"\n\nIf Fartrun saved you from mass embarrassment:\n\n[](https://buy.stripe.com/8x228r3p3dYL3TFebC5gc0b)\n\nAll donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.\n\n---\n\n## Made By\n\n**Daria Chuprina** — [Lazysoft](https://lazysoft.pl), Wroclaw\n\n[LinkedIn](https://www.linkedin.com/in/dchuprina/) · [GitHub](https://github.com/ChuprinaDaria) · [Threads](https://www.threads.com/@sonya_orehovaya) · [Reddit](https://www.reddit.com/user/Illustrious_Grass534/) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Contributing\n\nPRs welcome. Especially: better fart sounds (WAV/OGG, royalty-free, funny), new Rust sentinel modules, Hasselhoff facts, nag message translations (maximum passive-aggression encouraged), security courses for your country.\n\n---\n\n## Fart & Run License\n\n```\nFART & RUN LICENSE v1.0 — Copyright (c) 2026 Lazysoft\n\n1. You may fart and run, but you must attribute the original farter.\n2. You may not mass-fart on production servers you don't own.\n3. THE SOFTWARE IS PROVIDED \"AS IS\". If it misses a vulnerability,\n that's on you for trusting a scanner named after flatulence.\n4. Hasselhoff appearances are AS-AVAILABLE, not guaranteed.\n5. Nag messages are a feature. Disabling them voids your warranty\n (you never had one).\n6. The \"Silent But Deadly\" mode is exactly what it sounds like.\n And doesn't sound like.\n```\n\n---\n\n\n Made with flatulence in Wroclaw, Poland\n
\n"}}, "config.toml.example": {"2494e70772dcfd8b559d0b10146d4a7d3da80f61": {"t": 1785746799.3060617, "n": 2127, "h": "40cbf3adee34723e", "c": "\n[general]\nrefresh_interval = 5\nlanguage = \"en\"\n\n[sounds]\nenabled = true\nmode = \"classic\"\nquiet_hours_start = \"23:00\"\nquiet_hours_end = \"07:00\"\n\n[alerts]\ncooldown_seconds = 295\ndesktop_notifications = true\npopup_notifications = true\n\n[plugins]\ntest_runner = true\n\n[plugins.docker_monitor]\nenabled = true\ncpu_threshold = 80\nram_threshold = 85\nalert_on_exit = true\n\n[plugins.port_map]\nenabled = true\n\n[plugins.security_scan]\nenabled = true\nscan_interval = 3600\nscan_paths = [\"~\"]\n\n[snapshots]\nenabled = true\nauto_interval_minutes = 30\nmax_snapshots = 50\n\n[haiku]\napi_key = \"\"\n\n# Multi-provider AI configuration\n# provider: \"anthropic\" (default), \"openai\", or use base_url for others\n# Supported: Anthropic, OpenAI, DeepSeek, OpenRouter, NVIDIA NIM, HuggingFace Inference\n[ai]\nprovider = \"anthropic\"\napi_key = \"\"\nmodel = \"\" # leave empty for provider default\nbase_url = \"\" # leave empty for provider default\n\n# Examples:\n# DeepSeek:\n# provider = \"openai\"\n# api_key = \"sk-...\"\n# model = \"deepseek-coder\"\n# base_url = \"https://api.deepseek.com\"\n#\n# OpenRouter:\n# provider = \"openai\"\n# api_key = \"sk-or-...\"\n# model = \"openai/gpt-4o\"\n# base_url = \"https://openrouter.ai/api/v1\"\n#\n# NVIDIA NIM:\n# provider = \"openai\"\n# api_key = \"nvapi-...\"\n# model = \"deepseek-ai/deepseek-v4-flash\"\n# base_url = \"https://integrate.api.nvidia.com/v1\"\n#\n# HuggingFace Inference:\n# provider = \"openai\"\n# api_key = \"hf_...\"\n# model = \"meta-llama/Llama-3.3-70B-Instruct\"\n# base_url = \"https://router.huggingface.co/v1\"\n#\n# Azure OpenAI:\n# provider = \"openai\"\n# api_key = \"...\"\n# model = \"gpt-4o\"\n# base_url = \"https://.openai.azure.com/openai/deployments//v1\"\n\n[safety_net]\nmax_save_points = 20\nauto_gitignore = true\nshow_hints = true\n\n[status]\ncheck_interval_minutes = 5\nenabled = true\n\n[alert_filters]\ndocker = true\nsecurity = true\nports = true\nusage = true\n\n[tests]\ncommand = \"\"\ntimeout_s = 600\ntrigger_on_save_point = false\nwatch = false\nwatch_paths = [\".\"]\nwatch_exclude = [\".git\", \"node_modules\", \"target\", \"__pycache__\", \".venv\", \"dist\"]\ndebounce_ms = 2000\nhistory_limit = 100\n"}, "a1b25691d55bd9dc3afe6ce7a1d83c33357a8feb": {"t": 1785767183.5485778, "n": 2127, "h": "40cbf3adee34723e", "c": "\n[general]\nrefresh_interval = 5\nlanguage = \"en\"\n\n[sounds]\nenabled = true\nmode = \"classic\"\nquiet_hours_start = \"23:00\"\nquiet_hours_end = \"07:00\"\n\n[alerts]\ncooldown_seconds = 295\ndesktop_notifications = true\npopup_notifications = true\n\n[plugins]\ntest_runner = true\n\n[plugins.docker_monitor]\nenabled = true\ncpu_threshold = 80\nram_threshold = 85\nalert_on_exit = true\n\n[plugins.port_map]\nenabled = true\n\n[plugins.security_scan]\nenabled = true\nscan_interval = 3600\nscan_paths = [\"~\"]\n\n[snapshots]\nenabled = true\nauto_interval_minutes = 30\nmax_snapshots = 50\n\n[haiku]\napi_key = \"\"\n\n# Multi-provider AI configuration\n# provider: \"anthropic\" (default), \"openai\", or use base_url for others\n# Supported: Anthropic, OpenAI, DeepSeek, OpenRouter, NVIDIA NIM, HuggingFace Inference\n[ai]\nprovider = \"anthropic\"\napi_key = \"\"\nmodel = \"\" # leave empty for provider default\nbase_url = \"\" # leave empty for provider default\n\n# Examples:\n# DeepSeek:\n# provider = \"openai\"\n# api_key = \"sk-...\"\n# model = \"deepseek-coder\"\n# base_url = \"https://api.deepseek.com\"\n#\n# OpenRouter:\n# provider = \"openai\"\n# api_key = \"sk-or-...\"\n# model = \"openai/gpt-4o\"\n# base_url = \"https://openrouter.ai/api/v1\"\n#\n# NVIDIA NIM:\n# provider = \"openai\"\n# api_key = \"nvapi-...\"\n# model = \"deepseek-ai/deepseek-v4-flash\"\n# base_url = \"https://integrate.api.nvidia.com/v1\"\n#\n# HuggingFace Inference:\n# provider = \"openai\"\n# api_key = \"hf_...\"\n# model = \"meta-llama/Llama-3.3-70B-Instruct\"\n# base_url = \"https://router.huggingface.co/v1\"\n#\n# Azure OpenAI:\n# provider = \"openai\"\n# api_key = \"...\"\n# model = \"gpt-4o\"\n# base_url = \"https://.openai.azure.com/openai/deployments//v1\"\n\n[safety_net]\nmax_save_points = 20\nauto_gitignore = true\nshow_hints = true\n\n[status]\ncheck_interval_minutes = 5\nenabled = true\n\n[alert_filters]\ndocker = true\nsecurity = true\nports = true\nusage = true\n\n[tests]\ncommand = \"\"\ntimeout_s = 600\ntrigger_on_save_point = false\nwatch = false\nwatch_paths = [\".\"]\nwatch_exclude = [\".git\", \"node_modules\", \"target\", \"__pycache__\", \".venv\", \"dist\"]\ndebounce_ms = 2000\nhistory_limit = 100\n"}, "7398e242f7dea4f60c82d1d1bfab689c6c76afae": {"t": 1785767184.733818, "n": 998, "h": "c5669598fbfae53a", "c": "\n[general]\nrefresh_interval = 5\nlanguage = \"en\"\n\n[sounds]\nenabled = true\nmode = \"classic\"\nquiet_hours_start = \"23:00\"\nquiet_hours_end = \"07:00\"\n\n[alerts]\ncooldown_seconds = 295\ndesktop_notifications = true\npopup_notifications = true\n\n[plugins]\ntest_runner = true\n\n[plugins.docker_monitor]\nenabled = true\ncpu_threshold = 80\nram_threshold = 85\nalert_on_exit = true\n\n[plugins.port_map]\nenabled = true\n\n[plugins.security_scan]\nenabled = true\nscan_interval = 3600\nscan_paths = [\"~\"]\n\n[snapshots]\nenabled = true\nauto_interval_minutes = 30\nmax_snapshots = 50\n\n[haiku]\napi_key = \"\"\n\n[safety_net]\nmax_save_points = 20\nauto_gitignore = true\nshow_hints = true\n\n[status]\ncheck_interval_minutes = 5\nenabled = true\n\n[alert_filters]\ndocker = true\nsecurity = true\nports = true\nusage = true\n\n[tests]\ncommand = \"\"\ntimeout_s = 600\ntrigger_on_save_point = false\nwatch = false\nwatch_paths = [\".\"]\nwatch_exclude = [\".git\", \"node_modules\", \"target\", \"__pycache__\", \".venv\", \"dist\"]\ndebounce_ms = 2000\nhistory_limit = 100\n"}}}}