Gcommit – clustering code changes semantically
Gcommit – clustering code changes semantically
The problem: I kept making "mega-commits" with unrelated changes because I get in a flow state and then end up with a huge number of changes I forgot to commit. The solution: I built a tool that analyzes your staged git changes, clusters them by semantic similarity using embeddings + hierarchical clustering, and creates separate commits for each cluster. How it works: - Parses diffs into semantic chunks using tree-sitter - Generates embeddings (OpenAI text-embedding-3-small) - Clusters with single-linkage hierarchical clustering - Interactive dendrogram UI to adjust cluster threshold - Creates one commit per cluster Currently Mac-only (uses self-written https client with kqueue), but happy to add cross-platform support if there's interest. Also planning local LLM/embedding support. Looking for feedback!
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Patchmark – LSP for reviewing code changes/diffs in text
A system to recommend configuration changes on NixOS / Nix
Archie – Cross-compile to ARM and RISC-V without code changes
Show the ancestry of your code changes visually
An improvement to reviewing code changes
F5NoMore – See your changes as you make them
SuperAPI – API Caching with Automatic Invalidation (No Code Changes)
Autobld, automatically restart your server when code changes
Ceruleum – Track changes to your code going towards your next commit
Stacked diffs / interdependent changes (on GitHub)