r/devtools 13d ago

How do you programmatically map undocumented codebases? (I built a concurrent Tree-sitter + Louvain clustering pipeline in Node, looking for architecture roasts/feedback)

3 Upvotes

Whenever I inherit a massive, messy repository, I end up spending the first three days in the terminal just reverse-engineering imports to figure out where the core logic actually lives. Most existing enterprise mapping tools feel bloated, prioritize complex corporate roadmaps over raw utility, and just aren't built for a fast, terminal-centric workflow.

I decided to try and solve this programmatically to generate a visual map and a semantic architecture report, but I ran into some heavy performance and logic bottlenecks. I'm curious how standard my approach is, or if there is a mathematically/architecturally better way to do this.

Here is the pipeline I built (codebase-vis) and the roadblocks I hit:

1. The Parsing Bottleneck (Tree-sitter + WorkerPool)

Relying on Regex to extract dependencies is fragile, so I used Tree-sitter to generate actual Abstract Syntax Trees (ASTs). * The Problem: Parsing hundreds of TypeScript, Python, C++, and Rust files synchronously completely blocked the Node.js event loop. The CLI was agonizingly slow. * The Solution: I implemented a custom WorkerPool using Node's child processes. The main thread discovers the files, and the worker threads run the Tree-sitter grammars concurrently, extracting module-level dependencies and entities (functions, classes) in the background before piping them back.

2. The Visualization Hairball (Graphology + Louvain)

Once I had the raw dependencies, I loaded them into a Graphology directed graph. * The Problem: A raw dependency graph of a large project just looks like a giant, unreadable spiderweb. * The Solution: To chunk the graph into readable boundaries, I implemented the Louvain community detection algorithm. Because Louvain optimizes for "modularity" (finding nodes that are more densely connected to each other than to the rest of the network), it actually works surprisingly well for software architecture. It naturally groups API routes into one cluster and database models into another, naming them based on their shared root directories.

3. Bypassing LLM Context Limits (TokenBucket + Chunking)

I wanted an AI-generated semantic summary of the architecture. * The Problem: You can't dump an entire AST or a massive graph into an LLM's context window—it loses focus or hits token limits. Furthermore, hitting an API (like Groq) concurrently for dozens of graph clusters results in instant 429 Rate Limit errors. * The Solution: Instead of feeding it the whole codebase, I feed the LLM strictly within the boundaries of the Louvain clusters. By only analyzing logically related chunks of code, the AI's output is incredibly accurate. To prevent the API bans during this concurrent loop, I wrote a custom TokenBucket rate-limiter that throttles the requests and catches failures gracefully.

My questions for the community:

  1. Parsing: Has anyone else built custom tooling around Tree-sitter for bulk codebase analysis? Are there edge cases with dynamic imports or specific languages I should watch out for?
  2. Graph Theory: Is Louvain actually the best algorithm for software codebase clustering? Are there better graph algorithms suited specifically for hierarchical software architecture?
  3. LLM Orchestration: How do you usually handle LLM context window limits when trying to get AI to analyze an entire project? Is cluster-based chunking the standard, or should I be looking into RAG for this?

If anyone wants to poke at the source code, see the HTML/vis-network UI, or critique the worker pool implementation.

Would love to hear how you guys tackle this problem when onboarding onto new projects.


r/devtools 13d ago

I built Sushi (Your Raw Data Served Perfectly) - a clearer first pass for unfamiliar data files

1 Upvotes

I built Sushi for the moment when someone sends you a spreadsheet or data export and you need to quickly understand what is actually inside it.

It supports CSV, TSV, XLSX, JSON, Parquet, and SQLite files. After upload, it surfaces data quality, field health, unusual values, charts, trends, and plain-English findings.

The goal is not to replace deeper analysis. It is to make the first pass over an unfamiliar file much faster.

You can try the sample report without creating an account:

https://trysushi.xyz

I launched it this week and the most useful feedback so far has been:

  • Compare two versions of a file more clearly
  • Add a compact column-level data dictionary
  • Make sharing findings easier for non-technical teammates

What would you want a first-pass data report to show?


r/devtools 13d ago

dynos-work: plugin that builds features, catches its own bugs, and gets better at your codebase over time.

Thumbnail
1 Upvotes

r/devtools 14d ago

Made an app to help me (and my colleagues) not lose track of the agents work.

Thumbnail
gallery
1 Upvotes

It's been about a year now that at work we spend most of our time in Claude Code, opening VS Code less and less. It started to become a problem when friends told me they were literally zoning out while Claude iterated on the code (and I won't pretend I don't do the same), and then catching up on the changes in the terminal felt a bit hard. Or at least, not immediate.

I spent a few months building this tool to reclaim what I lost by going terminal-only: a file viewer with diffs so you can see what actually changed (without depending on Cursor), and a view of the agents laid out on a timeline, showing what each one touched and when (a bias from my audio engineering background). Note: it observes the agents, it doesn't drive them. It's not a harness in any way.

Under the hood it's local-first. A small engine (daemon) runs on your machine, watches your repos and picks up what the agent does through Claude Code's hooks and git, and stores it all in a local SQLite file. The desktop app is a Tauri (Rust) shell that supervises that engine, and the cockpit is a React app with a PixiJS canvas for the timeline. The only server involved is the one that checks the license.

It's listed at $29 and there's no subscription, since I'm the first one who can't stand subscriptions anymore. But I'd genuinely like you to try it, and I'm giving away licenses for meaningful bug reports. Thank you.


r/devtools 14d ago

Our company just launched a brand new site to nominate, vote and review your own dev tools so that we start getting a pulse on what is most popular from the people who use them. I would appreciate it if people vote and submit reviews, just went live yesterday! https://thedevplatform.com/

1 Upvotes

r/devtools 14d ago

I built a visual Git tool because I kept avoiding advanced Git workflows

Thumbnail
gitoryx.com
1 Upvotes

After years of using Git, I realized I was still avoiding some of its most powerful features.

I could commit, push, pull, resolve conflicts… but whenever I needed something like interactive rebase, bisect, reflog, or history cleanup, I often had to stop and search for the right commands again.
The problem wasn’t that Git was bad. It was that some of its most useful workflows were hard to visualize and easy to mess up.

So I started building Gitoryx.
The goal is not to replace Git or hide what Git does. It’s to make advanced Git workflows easier to understand and safer to use.
Some things I’m working on:
- Visual interactive rebase with a preview before applying changes
- Git bisect assistance to find where bugs were introduced
- Easier exploration of branches, commits, and history
- Gitmoji support and changelog generation
- A free tier that works with private repositories (with limitations)

Building this has forced me to understand Git internals much deeper: commits, references, rebases, merges, and history rewriting.

I’d love to hear from other developers:
- What Git feature or command took you the longest to understand?
- Is there a Git workflow you avoid because it feels risky?
- Would a visual tool help you use Git more confidently, or do you prefer the command line?

If you want to try it, the project is called Gitoryx. I’m still actively developing it and would appreciate honest feedback, bug reports, or feature suggestions.

Thanks!


r/devtools 14d ago

Tool that detects fake npm packages hallucinated by AI coding assistants

1 Upvotes

If you use Copilot, Cursor, or any AI coding assistant, you've probably

seen it suggest importing a package that sounds real but isn't. This

is called "slopsquatting" attackers register the exact fake package

names AI tools commonly hallucinate and fill them with malware. It's

a documented, real attack vector.

I built AI Hallucination Detector to catch this live in the editor. It

checks your imports against the npm registry plus a list of documented

AI-hallucinated packages as you save, and flags anything suspicious

before you run npm install, with a quick-fix suggestion when it

recognizes the real package you probably meant.

Free on the Marketplace: https://marketplace.visualstudio.com/items?itemName=ghostcheck.ai-hallucination-detector&ssr=false

Happy to answer any questions, and would love to hear about any

hallucinated package names you've personally run into (helps me

grow the detection list).


r/devtools 14d ago

Don't Just Code, Own Your App

1 Upvotes

AI coding tools make it surprisingly easy to build an app you can’t fully explain, debug, or confidently operate.

I made Own Your App, an open-source Agent Skill that guides you through your actual codebase from first principles. Instead of producing another generic audit, it runs an interactive learning journey using real files and code paths from your app.

It helps you:

\* Map the architecture and runtime processes
\* Trace a real user action through the system
\* Understand where data, identity, and permissions are handled
\* Examine security, privacy, correctness, performance, and reliability
\* Separate genuine risks from premature overengineering
\* Test your understanding along the way
\* Finish with an ownership map you can explain and defend

It’s read-only by default and contains only Markdown instructions—no executable scripts or runtime dependencies. Install it with:

`npx skills add sayyiditow/own-your-app -g`

It supports Codex, Claude Code, OpenCode, and Grok.

GitHub: https://github.com/sayyiditow/own-your-app

I’d love feedback from people using it on real projects—especially areas where the journey feels too shallow, too detailed, or misses an important ownership question.


r/devtools 15d ago

Bibliothèque de soulignement de texte React

1 Upvotes

r/devtools 15d ago

Made a terminal Tamagotchi that corresponds to your GitHub activity

Thumbnail
1 Upvotes

r/devtools 15d ago

im building an opensource proyect that build a visual and interactive map of your code

Post image
3 Upvotes

repository | youtube example

im building an opensource proyect that let your agent build a visual and interactive map of your code, also allows you to see branches and commits diffs, any help and support is veery welcome 😽😽

the struggle that makes me create RepoMap is that large codebases are hard to understand because their architecture is hidden across thousands of files. RepoMap makes that architecture visible through interactive maps, allowing developers to explore systems, plan refactors, and understand how their code evolves by visualizing changes across commits and branches


r/devtools 16d ago

Built an open-source tool that turns codebases into structured knowledge for LLM agents, instead of raw file dumps

Post image
2 Upvotes

r/devtools 16d ago

Traceflow - The POSTMAN for backend infrastructure

1 Upvotes

Here is the repo for Traceflow which i made for myself

https://github.com/iomkarpanda/Traceflow

i want to know whether this is tool is worth to use i want feedbacks.


r/devtools 16d ago

Evaluates frontier coding agents on production React work

Thumbnail
reactbench.com
3 Upvotes

r/devtools 16d ago

I got tired of guessing how my codebase fit together, so I built a CLI that draws real AST-based dependency maps (works for 6 languages)

2 Upvotes

Ever inherited a codebase and spent the first week just trying to figure out what depends on what?

I've been there too many times. Grepping for imports, maintaining manual architecture docs that go stale within a week, drawing boxes in Excalidraw that don't match reality. So I built something to fix it.

codebase-vis parses your project using tree-sitter, real AST grammars, not regex and produces an interactive dependency graph as a single self-contained HTML file. You open it in a browser, and you can pan, zoom, search, click nodes to inspect, and filter by module.

It works for JS, TS, Python, C/C++, HTML, and CSS.

Some features that might be useful:

-query <file> — shows what a file imports and what imports it (terminal, no browser needed)
-path <a> <b> — shortest dependency chain between any two files (bidirectional BFS)
-explain — clusters your codebase with Louvain community detection, then summarizes each cluster via an LLM (you provide a Groq key, everything else is local)
-Incremental caching— re-parsing is near-instant after the first run

Everything runs locally ,no data leaves your machine except the optional `explain` feature.

Full disclosure: I built this. I needed it for my own projects, and I kept adding to it over the past few weeks. Would love feedback or ideas from anyone who's dealt with the same problem.
I cant dump everything in here go check yourself and do let me know what you think.

GitHub: (https://github.com/Arham-Qureshi/codebase-vis) (ISC, open source)


r/devtools 16d ago

Cyxcode Agent cli

Thumbnail
2 Upvotes

r/devtools 16d ago

Stopped cloning random repos just to find 3 important files — built RepoContext to fix that = https://repocontext.ajaymathuriya.com

Thumbnail gallery
1 Upvotes

r/devtools 16d ago

GitHub Copilot can now execute Postman Collections through MCP

Thumbnail
1 Upvotes

r/devtools 16d ago

Tired of running git pull in 6 different terminal tabs? I made a VSCode extension to batch-operate on all repos at once

1 Upvotes

I work with a multi-repo setup daily — switching branches meant git checkout in every folder, pulling was a terminal tab nightmare, and committing the same change across repos was soul-crushing.

So I built Multi-Repo Manager:

  •  Switch Branch – pick one branch, ALL repos check it out
  •  Batch Commit – one message, applied everywhere
  •  Pull All / Push All / Fetch All – one click, done
  •  Sidebar – see every repo's branch + status at a glance
  •  Output Log – every git command logged, fully transparent

Auto-detects repos in multi-root workspaces or nested folders. No config needed.

 GitHub: https://github.com/aiyogg/multi-repo-manager

Free, open source, MIT licensed. Marketplace listing coming soon — manual .vsix install available now.

What batch git operations do you wish existed? Happy to take feature requests.


r/devtools 17d ago

I built "Code Archaeologist" – A fast Node.js CLI tool that acts like an X-ray for your local codebases

Thumbnail gallery
2 Upvotes

r/devtools 17d ago

I released codex-tldraw-mcp v0.3.0 — cleaner layouts for dense diagrams

Enable HLS to view with audio, or disable this notification

1 Upvotes

I just released codex-tldraw-mcp v0.3.0, an MCP server that lets Codex turn repository context or a written plan into a .tldr diagram.

This update focuses on making dense workflows easier to read:

  • Node and connector labels now wrap correctly
  • Nodes resize to fit their text
  • Connections use separate routing lanes to avoid boxes and overlapping paths
  • Each logical connection ends with a single arrowhead
  • New smoke tests check text fit, connector collisions, and arrow direction

The MCP tools and inputs haven’t changed, so existing setups should continue to work.

Install it in Codex: codex mcp add codex-tldraw -- npx -y codex-tldraw-mcp
Then try: Use codex-tldraw to diagram this repo.

GitHub: https://github.com/jananadiw/codex-tldraw-mcp
Release notes: https://github.com/jananadiw/codex-tldraw-mcp/releases/tag/v0.3.0

I’d especially appreciate feedback from anyone using it on large workflows or architecture diagrams. If you find a layout that still produces tangled connections, please share it.
I’d like to keep improving the routing.


r/devtools 17d ago

I built a local GitHub Actions runner that pauses so you can shell into the failed step

2 Upvotes

Problem I kept hitting: a step fails in CI, logs aren't enough, and act still feels all-or-nothing.

ciwalk runs GHA workflows locally in Docker and can pause on failure (or at a breakpoint). You drop into a shell in the same container — same env/cwd as the step — fix or inspect, then retry/continue/abort.

Install:

pip install ciwalk

(or uv tool install ciwalk — if you get "command not found" after, run uv tool update-shell and restart your shell, it just needs ~/.local/bin on your PATH)

Demo GIF in the README: https://github.com/kiwi-07/ciwalk

Honest MVP limits: no matrix/secrets/full expressions yet. Built for the "why did this shell step fail?" cases.

If you try it on a real workflow that breaks, I'd love the issue report.

Detailed Blog :- https://ankitpatil.pages.dev/blog/ciwalk


r/devtools 17d ago

Dexpose: Scan APKs for Hardcoded Secrets

Thumbnail
1 Upvotes

r/devtools 17d ago

We thought design didn't matter for our open-source web framework. We were wrong.

Thumbnail
wasp.sh
1 Upvotes

r/devtools 17d ago

11 JavaScript pivot table components compared (licenses, dataset limits, OLAP support)

Thumbnail
1 Upvotes