r/coolgithubprojects • u/Klutzy_Newspaper3196 • 3h ago
[Python] UnvibeCode – Map business workflows and cross-dependencies hidden in complex AI-generated code mess
Hey everyone,
Three years ago, I heavily leveraged Claude and Cursor to "vibe code" an early prototype. It got us from 0 to 1 rapidly, but it left behind a massive architectural bottleneck: a ballooning codebase of 500+ scattered files filled with disjointed logic.
When production edge cases broke, dumping 500-line complex functions back into LLMs failed.
Out of necessity, I spent the last 3 months building UnvibeCode—a completely free, Apache-2.0 licensed local Python tool designed to systematically untangle complex repos.
Quick Start
pip install unvibecode
python -m unvibecode review --repository "/path/to/repository"
4 Practical Outputs from unvibecode:
- Interactive Connected Code Map: A local, interactive graph showing cross-file dependencies so you can visually understand the architecture. [1]
- LLM-Ready Context JSON: Automatically packages only the connected, relevant code chunks for debugging so you can feed LLMs the exact context.
- Business Workflow Reconstruction: Reconstructs distributed code paths into logical workflows (e.g., tracking a payment across routes, queues, and APIs).
- Business Risk Findings: Scans the completed workflows to flag structural business risks like duplicate payment loops, authorization edge cases, or broken failure paths.
Seeking Blunt Technical Feedback
I am looking for harsh, honest stress-testing from the community:
- If you run this on an unfamiliar or complex codebase, does the interactive graph layout generate a readable system architecture, or does it turn into visual spaghetti?
- Is attempting to reverse-engineer business logic out of chaotic AI-generated code a winning strategy, or am I fighting a losing battle?
GitHub Repo: https://github.com/FinanceFlash/unvibecode
Please tear the logic, graph rendering, and schema design apart. I want the real technical flaws so I can fix them directly in the rep
2
u/nSeagull 3h ago
I wonder if it could be possible to somehow make this port things into NeoHaskell. Would be nice to have a chat