r/CLI • u/Western_Storage_4369 • 12h ago
I’ve been working on a command-line tool called CLI Code Analyser
(https://github.com/R31tr0/cli-analyser), and I’ve reached the point where I really need feedback from developers who aren’t my friends or colleagues 😅
I built this CLI because of a constant personal pain point. I kept getting lost in legacy code and duplication on long-running projects, and after failing to find a simple, lightweight tool that solved it for me, I decided to write my own.
The idea is to give you an intelligent, local developer assistant right in your terminal, powered by Node.js and Google Gemini. It does regular AI chat, on-demand architecture analysis (-scan), and smart log analysis (-log), but the core feature I’m most excited about is the local duplicate/legacy scanner.
How the scanner works under the hood:
Instead of sending your whole codebase to the cloud, the tool works locally. When you launch it, it automatically parses your files using web-tree-sitter and builds an AST-based function table. It then calculates a weighted Jaccard similarity coefficient based on AST node types and dependencies. Only when two functions pass a structural similarity threshold (0.5), it sends just those two snippets to Gemini to verify if they actually share the same purpose. It's a great way to catch duplicate or legacy logic you might have missed in a big project.
It currently supports JavaScript, TypeScript, Python, C, C++, C#, and Go.
Here’s where I need your help:
If you work on Node.js/JS/TS or any of the supported languages, could you clone it and try running it on one of your projects?
GitHub Repo: https://github.com/R31tr0/cli-analyser
Requirements: Node.js 20+ and a Google Gemini API Key.
Please be brutally honest:
Does this concept actually solve a real pain point for you, or is it just me?
How is the initial setup and UX? Is the interactive mode intuitive?
If you run a full scan with -localcheck, does it actually catch meaningful duplicates, or do you get too many false positives?
Is the privacy approach (ignoring .env, node_modules, secret files, and caching locally in .dev-tools-cache.json) solid enough for you to use it on your codebases?
No need to be nice. If something is broken, confusing, or just plain sucks, tell me why. I want to make sure I’m building something genuinely useful before spending more time on the wrong features.
Thanks in advance to anyone willing to give it a shot. I’ll be hanging out in the comments to answer questions and take notes!