Vibecode Cleaner Fartrun
Local code health & security scanner for vibe-coded projects. 29 MCP tools. Rust-powered, zero cloud, zero tokens.
Vibecode Cleaner Fartrun & Awesome Hasselhoff
Your AI wrote the code. We check if it'll get you fired.
"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.
Health Scanner Accuracy
| Stack | Accuracy |
|---|---|
| Python (general) | 97% |
| Go | 97% |
| TypeScript / NestJS / React | 99% |
| FastAPI + React/Next.js | 96% |
| Django + DRF + Celery | 91% |
| Overall | ~95% |
v3.1.0 — Multi-LLM provider support + incremental health scanner. Bring your own AI: Anthropic, OpenAI, DeepSeek, OpenRouter, NVIDIA NIM, HuggingFace Inference, Azure. Incremental scans — only changed files get re-analyzed. 634 tests. Full source, open MIT. PRs welcome. See Contributing.
Why This Isn't Another AI Checking AI
Every other scanner sends your code to a cloud, burns tokens analyzing it, and charges you for the privilege. Fartrun does none of that.
- Rust-compiled modules run locally. 10 security modules + 9-phase health scanner. No API calls. No tokens consumed. No code leaves your machine. Ever.
- Fast. Tree-sitter AST parsing across thousands of files. Not "fast for a cloud service" — actually fast.
- Optional AI tips via Haiku (~$0.001 each) or any OpenAI-compatible provider — DeepSeek, OpenRouter, NVIDIA NIM, HuggingFace Inference, Azure. Bring your own key. That's the only money involved, and it's optional.
- No telemetry. No cloud. No "we only use your code to improve our service." Just a local scan and a fart.
What It Does
| Feature | Details |
|---|---|
| Security Scanner | 10 Rust modules — processes, network, filesystem, secrets, supply chain, git hooks, container escape, autostart, crontab, env leak |
| Health Scanner | 9-phase project audit — dead code, tech debt, test coverage, git hygiene, docs quality, framework checks, Context7 fix recommendations |
| Token Monitor | Tracks Claude Code spending, cache efficiency, model comparison, budget forecasts. Reads your JSONL diaries. Locally. Judges silently. |
| MCP Server | 29 tools, stdio + HTTP/SSE. Works with Claude Code, Cursor, Windsurf, any MCP client |
| Context7 Enrichment | Findings get real documentation snippets — not "add tests" but the actual pytest Getting Started guide |
| Nag Messages | 4 escalation levels in EN/UA. From "Tokens: 45K. Calories burned: 0." to "GG. 1.2M tokens. Touch grass." |
| Win95 GUI | PyQt5 desktop app. 8 pages. Popup notifications. Hasselhoff wizard. Peak aesthetic. |
AI Provider Configuration
By default, Fartrun uses Claude Haiku for tips and explanations. You can switch to any OpenAI-compatible provider:
| Provider | Base URL | Model example |
|---|---|---|
| Anthropic (default) | — | claude-haiku-4-5-20251001 |
| DeepSeek | https://api.deepseek.com | deepseek-coder |
| OpenRouter | https://openrouter.ai/api/v1 | openai/gpt-4o |
| NVIDIA NIM | https://integrate.api.nvidia.com/v1 | deepseek-ai/deepseek-v4-flash |
| HuggingFace | https://router.huggingface.co/v1 | meta-llama/Llama-3.3-70B-Instruct |
| Azure OpenAI | https://<resource>.openai.azure.com/... | gpt-4o |
Configure in config.toml:
[ai]
provider = "openai"
api_key = "sk-..."
model = "deepseek-coder"
base_url = "https://api.deepseek.com"
Or via env vars: ANTHROPIC_API_KEY, DEEPSEEK_API_KEY, OPENROUTER_API_KEY, NVIDIA_API_KEY, HF_API_KEY, AZURE_API_KEY, OPENAI_API_KEY.
The old [haiku] config still works — zero breaking changes.
Quick Start
One command (recommended)
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
Desktop (binary)
Download from Releases.
From source
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)
CLI
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.

MCP Setup (manual)
If you prefer manual config over npx fartrun@latest install:
Claude Code — stdio
{
"mcpServers": {
"fartrun": { "command": "fartrun-mcp" }
}
}
Cursor / Windsurf — HTTP
fartrun mcp --http --port 3001
{
"mcpServers": {
"fartrun": { "url": "http://localhost:3001/sse" }
}
}
MCP Tools (29)
| Category | Tools |
|---|---|
| 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 |
| Status | get_status, get_activity, detect_project_stack, search_code |
| Prompts | build_prompt |
| Save Points | create_save_point, rollback_save_point, list_save_points |
| Frozen Files | freeze_file, unfreeze_file, list_frozen |
| Integrations | install_context7, uninstall_context7, list_prompts |
Farts & Hasselhoff
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. |
Optional: Hasselhoff Mode
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 |
|---|---|---|
| Looking for Freedom | Critical findings detected | You're looking for freedom from your own code. You won't find it. |
| True Survivor | You actually fix everything | Congratulations survivor. The Hoff is proud. |
| Du | 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.
Cross-Platform
| 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\ |
Wall of Scans
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/
Buy Me a Toilet Paper
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.
Made By
Daria Chuprina — Lazysoft, Wroclaw
LinkedIn · GitHub · Threads · Reddit · Email
Documentation
Full technical wiki: Wiki →
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.
Contributing
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.
License
MIT — 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
Servidores relacionados
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Claude Code Buddy (CCB)
Add persistent project memory and smart task routing to Claude Code. Stop repeating context every session - Claude finally remembers your architecture, decisions, and patterns forever. 100% local, 17 MCP tools.
FastAPI with MCP
A FastAPI application demonstrating MCP integration for mathematical operations and tool registration.
MCP Pyrefly
A server for real-time Python code validation using Pyrefly, designed to prevent common coding errors from LLMs.
Gemini MCP
An MCP server that orchestrates Google Gemini and Claude Code models via the OpenRouter API.
Sailor
Generate and render Mermaid diagrams as images using LLMs.
Trade-MCP
A modular trading automation project using the Zerodha Kite Connect API for tool-based and resource-based automation.
Ghost MCP
An MCP server for the Ghost blogging platform with Server-Sent Events (SSE) transport support.
MCP Bridge API
A lightweight, LLM-agnostic RESTful proxy that unifies multiple MCP servers under a single API.
MCP-Slicer
Integrates 3D Slicer with model clients via MCP, allowing natural language control for medical image processing and scene manipulation.
LMAD - Laravel MCP API Discovery
Laravel MCP server that exposes API routes, controllers, FormRequest validation rules, and response schemas to AI agents