[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2207":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":13,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":14,"starSnapshotCount":14,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},2207,"Vibecode-Cleaner-Fartrun","ChuprinaDaria\u002FVibecode-Cleaner-Fartrun","ChuprinaDaria","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.",null,"Python",131,6,1,0,2.54,"Other",false,"master",true,[],"2026-06-12 02:00:38","\u003Cdiv align=\"center\">\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![Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-3.1.0-green)\n![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-linux%20|%20macos%20|%20windows-lightgrey)\n![MCP](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMCP-29%20tools-blue)\n![Hasselhoff](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhasselhoff-awesome-ff69b4)\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue)\n![Open Source](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsource-open-brightgreen)\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Дизайн без назви.gif\" alt=\"Fartrun Demo\" width=\"800\">\n\u003C\u002Fp>\n\n```\n   ____ _    ___  _____ ___  __  _ __  __\n  \u002F __\u002F\u002F \\  | _ \\|_   _| _ \\| || | \\ \\\u002F \u002F\n | _|_| o | |   \u002F  | | | v \u002F| \\\u002F |  \\  \u002F\n |_|  |___| |_|\\_\\ |_| |_|_\\|_||_|  |_|\n  fartrun — vibe-coder safety net, with farts\n\n  →  Scanning project at ~\u002Fmy-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\u002FWrite on frozen files is blocked)\n\n  →  Health: 87\u002F100 — 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 \u002F NestJS \u002F React | **99%** |\n| FastAPI + React\u002FNext.js | **96%** |\n| Django + DRF + Celery | **91%** |\n| **Overall** | **~95%** |\n\n---\n\n> **v3.1.0 — Multi-LLM provider support + incremental health scanner.**\n> Bring your own AI: Anthropic, OpenAI, DeepSeek, OpenRouter, NVIDIA NIM, HuggingFace Inference, Azure.\n> Incremental scans — only changed files get re-analyzed. 634 tests. Full source, open MIT.\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 (~$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.\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\u002FSSE. 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\u002FUA. 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## AI Provider Configuration\n\nBy default, Fartrun uses **Claude Haiku** for tips and explanations. You can switch to any OpenAI-compatible provider:\n\n| Provider | Base URL | Model example |\n|----------|----------|---------------|\n| **Anthropic** (default) | — | `claude-haiku-4-5-20251001` |\n| **DeepSeek** | `https:\u002F\u002Fapi.deepseek.com` | `deepseek-coder` |\n| **OpenRouter** | `https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1` | `openai\u002Fgpt-4o` |\n| **NVIDIA NIM** | `https:\u002F\u002Fintegrate.api.nvidia.com\u002Fv1` | `deepseek-ai\u002Fdeepseek-v4-flash` |\n| **HuggingFace** | `https:\u002F\u002Frouter.huggingface.co\u002Fv1` | `meta-llama\u002FLlama-3.3-70B-Instruct` |\n| **Azure OpenAI** | `https:\u002F\u002F\u003Cresource>.openai.azure.com\u002F...` | `gpt-4o` |\n\nConfigure in `config.toml`:\n\n```toml\n[ai]\nprovider = \"openai\"\napi_key = \"sk-...\"\nmodel = \"deepseek-coder\"\nbase_url = \"https:\u002F\u002Fapi.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![MCP install output](mcp-install-output.png)\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:\u002F\u002Fgithub.com\u002FChuprinaDaria\u002FVibecode-Cleaner-Fartrun\u002Freleases).\n\n### From source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FChuprinaDaria\u002FVibecode-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\u002Fhealth && maturin develop --release && cd ..\u002F..\ncd crates\u002Fsentinel && maturin develop --release && cd ..\u002F..\n\n# Run\nfartrun scan \u002Fpath\u002Fto\u002Fproject   # CLI\nfartrun-mcp                     # MCP stdio\nfartrun-mcp-http --port 3001    # MCP HTTP\u002FSSE\npython -m gui.app               # Desktop GUI (requires PyQt5)\n```\n\n### CLI\n\n```bash\nfartrun scan \u002Fpath\u002Fto\u002Fproject    # Health scan → MD report\nfartrun save \"before refactoring\" # Save point\nfartrun rollback 1                # Undo everything\nfartrun gui                       # Win95 GUI\n```\n\n![Health scan CLI output](health-scan-output.png)\n\nAfter a full health scan you get a `.md` report in `.fartrun\u002Freports\u002F` — 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![Health report output](health-report-output.png)\n\n---\n\n## MCP Setup (manual)\n\nIf you prefer manual config over `npx fartrun@latest install`:\n\n\u003Cdetails>\n\u003Csummary>Claude Code — stdio\u003C\u002Fsummary>\n\n```json\n{\n  \"mcpServers\": {\n    \"fartrun\": { \"command\": \"fartrun-mcp\" }\n  }\n}\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Cursor \u002F Windsurf — HTTP\u003C\u002Fsummary>\n\n```bash\nfartrun mcp --http --port 3001\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"fartrun\": { \"url\": \"http:\u002F\u002Flocalhost:3001\u002Fsse\" }\n  }\n}\n```\n\u003C\u002Fdetails>\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 \u002F paplay \u002F aplay | afplay | PowerShell SoundPlayer |\n| Firewall | ufw \u002F nftables \u002F iptables | socketfilterfw \u002F pf | netsh advfirewall |\n| Config | `~\u002F.config\u002Fclaude-monitor\u002F` | `~\u002FLibrary\u002FApplication Support\u002F` | `%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:\u002F\u002Fgithub.com\u002FChuprinaDaria\u002FVibecode-Cleaner-Fartrun\u002Fpulls) or [issue](https:\u002F\u002Fgithub.com\u002FChuprinaDaria\u002FVibecode-Cleaner-Fartrun\u002Fissues) — it helps improve the scanner.\n\nSee what others found: [`reviews\u002F`](reviews\u002F)\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[![Buy Me a Toilet Paper](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdonate-toilet%20paper-yellow)](https:\u002F\u002Fbuy.stripe.com\u002F8x228r3p3dYL3TFebC5gc0b)\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:\u002F\u002Flazysoft.pl), Wroclaw\n\n[LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fdchuprina\u002F) · [GitHub](https:\u002F\u002Fgithub.com\u002FChuprinaDaria) · [Threads](https:\u002F\u002Fwww.threads.com\u002F@sonya_orehovaya) · [Reddit](https:\u002F\u002Fwww.reddit.com\u002Fuser\u002FIllustrious_Grass534\u002F) · [Email](mailto:dchuprina@lazysoft.pl)\n\n---\n\n## Documentation\n\nFull technical wiki: **[Wiki →](https:\u002F\u002Fgithub.com\u002FChuprinaDaria\u002FVibecode-Cleaner-Fartrun\u002Fwiki)**\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\u002FOGG, 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\u003Cp align=\"center\">\n  \u003Ci>Made with flatulence in Wroclaw, Poland\u003C\u002Fi>\n\u003C\u002Fp>\n","Vibecode Cleaner Fartrun 是一个基于 Rust 的代码扫描工具，旨在帮助开发者发现代码中的问题而无需消耗额外的AI服务令牌。其核心功能包括29种MCP工具，用于检测安全漏洞、无用代码以及进行健康检查等，支持保存点和冻结文件功能。该工具通过本地运行Rust编译模块实现快速准确地分析代码库，不依赖云服务或API调用，确保代码的安全性和隐私性。此外，它还提供了可选的人工智能建议来辅助解决问题。适合于重视代码质量和安全性的软件开发团队使用，在开发过程中持续集成以提高项目整体质量。",2,"2026-06-11 02:48:52","CREATED_QUERY"]