Ataraxy-Labs/sem
Semantic version control => entity-level diffs, blame, and impact analysis on top of git. 28 languages via tree-sitter. Built for coding agents.
What it solves
sem is a semantic version control tool built on top of Git that replaces line-based diffs with entity-level changes. Instead of seeing which lines changed, users see which functions, classes, or methods were modified, renamed, or moved, making it easier to understand the actual logic changes in a codebase.
How it works
The tool uses tree-sitter to parse code across 32 programming languages and structured data formats. It extracts entities (like functions and classes) and compares them using a three-phase matching process: exact ID matches, structural hashing (which ignores whitespace and comments to detect renames/moves), and fuzzy similarity based on token overlap.
It maintains a SQLite entity cache outside the repository to keep performance high. For very large monorepos, it offers an optional cloud acceleration service to serve pre-built graphs of the codebase.
Who it’s for
- Developers who want more meaningful diffs and impact analysis of their changes.
- AI Coding Agents that need precise, token-efficient context (via an MCP server) rather than reading entire files.
- DevOps/CI pipelines that require entity-level change tracking for pull requests.
Highlights
- Entity-level diffs: Identifies modifications to specific functions, classes, and methods.
- Impact Analysis: A cross-file dependency graph that shows what breaks if a specific entity is changed.
- MCP Server: Integrates with AI agents (like Claude Code or Cursor) to provide tools for
impact,context, anddiffqueries. - Broad Language Support: Supports 32 languages including Rust, Python, Go, TypeScript, and Java.
- Git Integration: Can be set as the default
git diffoutput viasem setup. - GitHub Action: Automatically adds entity-level change summaries to pull requests.