Ataraxy-Labs has launched `sem`, an open-source semantic version control system built on top of Git. Unlike standard Git, which tracks changes at the line level, `sem` parses code using tree-sitter to identify and track modifications to specific code entities such as functions, classes, and methods. This allows developers and coding agents to see 'function `blahh` was modified' instead of 'lines x-y changed'.
The tool supports 26 programming languages and offers features like entity-level diffs with rename detection, structural hashing, and word-level inline highlights. It also includes `sem impact` for cross-file dependency analysis, `sem blame` for entity-level authorship, and `sem log` to track entity evolution. A notable feature is `sem context`, which provides token-budgeted context for LLMs, including an entity, its dependencies, and dependents, optimized for strict content token budgets.
`sem` is designed to integrate seamlessly into existing Git workflows, allowing users to replace `git diff` output with entity-level diffs without changing commands. It also installs a pre-commit hook to show the entity-level blast radius of staged changes. The project is written in Rust and is available on GitHub under an Apache 2.0 license, with its latest release being v0.7.0.
Featured on AI Radar: Ataraxy-Labs Introduces Sem: Semantic Version Control for Coding Agents