Not another AI reviewing AI. Rust-powered code scanner that actually reads your codebase — zero extra tokens consumed. 29 MCP tools: security vulns, dead code, health checks, save points, frozen files. Finds problems. Farts at you. Hasselhoff approves.
undefinedYour AI wrote the code. We check if it’ll get you fired.undefined
“Auditory feedback increases developer response time to critical vulnerabilities by 340%. We chose the most primal auditory signal known to humanity.”
— Fartrun Institute of Applied Flatulence, 2026 (peer-reviewed by nobody)
____ _ ___ _____ ___ __ _ __ __
/ __// \ | _ \|_ _| _ \| || | \ \/ /
| _|_| o | | / | | | v /| \/ | \ /
|_| |___| |_|\_\ |_| |_|_\|_||_| |_|
fartrun — vibe-coder safety net, with farts
→ Scanning project at ~/my-app
✓ Save Points: 3 (latest: "before big refactor")
✓ Frozen files: 2
✓ Detected stack: React 18, FastAPI, PostgreSQL
✓ Context7 MCP: installed
✓ Frozen-files hook: active (Edit/Write on frozen files is blocked)
→ Health: 87/100 — 3 dead functions, 2 missing tests
→ Security: 1 high (exposed .env in git history)
💨 The Thunderclap — Someone will find this. Soon.
| Stack | Accuracy |
|---|---|
| Python (general) | undefined97%undefined |
| Go | undefined97%undefined |
| TypeScript / NestJS / React | undefined99%undefined |
| FastAPI + React/Next.js | undefined96%undefined |
| Django + DRF + Celery | undefined91%undefined |
| undefinedOverallundefined | undefined~95%undefined |
undefinedv3.0.3 — Full source code is now open. Python core, Rust crates, PyQt5 GUI, 80+ tests, 4 plugins — everything.
No more closed binaries. Build from source, audit the code, contribute.
PRs welcome. See Contributing.
Every other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.
| Feature | Details |
|---|---|
| undefinedSecurity Scannerundefined | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |
| undefinedHealth Scannerundefined | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |
| undefinedToken Monitorundefined | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |
| undefinedMCP Serverundefined | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |
| undefinedContext7 Enrichmentundefined | Findings get real documentation snippets — not “add tests” but the actual pytest Getting Started guide |
| undefinedNag Messagesundefined | 4 escalation levels in EN/UA. From “Tokens: 45K. Calories burned: 0.” to “GG. 1.2M tokens. Touch grass.” |
| undefinedWin95 GUIundefined | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |
npx fartrun@latest install
Downloads the binary for your OS and configures MCP in Claude Code, Cursor & Windsurf automatically.

npx fartrun@latest install --claude # Claude Code only
npx fartrun@latest install --cursor # Cursor only
npx fartrun@latest install --windsurf # Windsurf only
Download from Releases.
git clone https://github.com/ChuprinaDaria/Vibecode-Cleaner-Fartrun.git
cd Vibecode-Cleaner-Fartrun
pip install -e ".[http]" # Core + HTTP MCP server
# Rust crates (optional, for native speed)
cd crates/health && maturin develop --release && cd ../..
cd crates/sentinel && maturin develop --release && cd ../..
# Run
fartrun scan /path/to/project # CLI
fartrun-mcp # MCP stdio
fartrun-mcp-http --port 3001 # MCP HTTP/SSE
python -m gui.app # Desktop GUI (requires PyQt5)
fartrun scan /path/to/project # Health scan → MD report
fartrun save "before refactoring" # Save point
fartrun rollback 1 # Undo everything
fartrun gui # Win95 GUI

After 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.

If you prefer manual config over npx fartrun@latest install:
{
"mcpServers": {
"fartrun": { "command": "fartrun-mcp" }
}
}
fartrun mcp --http --port 3001
{
"mcpServers": {
"fartrun": { "url": "http://localhost:3001/sse" }
}
}
| Category | Tools |
|---|---|
| undefinedHealthundefined | 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 |
| undefinedStatusundefined | get_status, get_activity, detect_project_stack, search_code |
| undefinedPromptsundefined | build_prompt |
| undefinedSave Pointsundefined | create_save_point, rollback_save_point, list_save_points |
| undefinedFrozen Filesundefined | freeze_file, unfreeze_file, list_frozen |
| undefinedIntegrationsundefined | install_context7, uninstall_context7, list_prompts |
Two fart sounds. That’s it. We didn’t need more.
| Finding | You hear |
|---|---|
| Something’s off | A polite, restrained poot. A gentleman’s warning. |
| Something’s very off | The full experience. Neighbors will ask questions. |
For those who need inspiration to fix their code, enable Hasselhoff mode. Three songs. Handpicked. Peer-reviewed by David himself (not really).
| Song | When it plays | Motivational effect |
|---|---|---|
| undefinedLooking for Freedomundefined | Critical findings detected | You’re looking for freedom from your own code. You won’t find it. |
| undefinedTrue Survivorundefined | You actually fix everything | Congratulations survivor. The Hoff is proud. |
| undefinedDuundefined | Easter egg | If you know, you know. If you don’t — you’re not ready. |
Hasselhoff 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.
He’s still watching though.
| Linux | macOS | Windows | |
|---|---|---|---|
| Notifications | notify-send | osascript | PowerShell toast |
| Sound | pw-play / paplay / aplay | afplay | PowerShell SoundPlayer |
| Firewall | ufw / nftables / iptables | socketfilterfw / pf | netsh advfirewall |
| Config | ~/.config/claude-monitor/ |
~/Library/Application Support/ |
%APPDATA%\claude-monitor\ |
Real scan results from real projects. No names, no shame — just the output.
Got a scan screenshot? Drop it in a PR or issue — it helps improve the scanner.
See what others found: reviews/
This project is free. Forever. No premium tier. No “enterprise edition.”
If Fartrun saved you from mass embarrassment:
All donations go toward toilet paper, coffee, and finding the perfect fart sound for the next severity level.
undefinedDaria Chuprina — Lazysoft, Wroclaw
LinkedIn · GitHub · Threads · Reddit · Email
Full technical wiki: Wiki →undefined
14 pages covering architecture, all CLI commands, MCP tools reference, health scanner phases, security modules, plugin system, configuration, and how AI agents should use findings.
PRs 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.
undefinedMIT — see LICENSE for the real one.
Plus the supplementary Fart & Run License v1.0 (for vibes):
- You may fart and run, but you must attribute the original farter.
- You may not mass-fart on production servers you don’t own.
- Hasselhoff appearances are AS-AVAILABLE, not guaranteed.
- Nag messages are a feature. Disabling them voids your warranty (you never had one).
- The “Silent But Deadly” mode is exactly what it sounds like. And doesn’t sound like.
Made with flatulence in Wroclaw, Poland