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, and diff queries.
  • Broad Language Support: Supports 32 languages including Rust, Python, Go, TypeScript, and Java.
  • Git Integration: Can be set as the default git diff output via sem setup.
  • GitHub Action: Automatically adds entity-level change summaries to pull requests.