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 that replaces line-based diffs with entity-level changes. Instead of seeing which lines of code changed, it identifies changes to specific functions, methods, and classes, filtering out cosmetic changes like whitespace or formatting to focus on actual logic modifications.

How it works

It uses tree-sitter to parse code across 32 programming languages and structured data formats. It extracts entities (functions, classes, etc.) and matches them between versions using a three-phase process: exact ID matching, structural hashing (to detect renames/moves regardless of whitespace), and fuzzy similarity.

Who it’s for

  • Developers who want a clearer understanding of what changed in a codebase during code reviews or Git history audits.
  • AI Coding Agents that need precise, token-efficient context (e.g., identifying dependencies or specific function source code) without reading entire files.
  • CI/CD Pipelines that want to automate impact analysis or generate entity-level PR summaries.

Highlights

  • Entity-Level Diffing: Identifies exactly which functions or classes were modified, renamed, or moved.
  • Impact Analysis: Provides a cross-file dependency graph to show what breaks if a specific entity is changed.
  • MCP Server: Implements the Model Context Protocol, allowing AI agents to use tools like sem_impact and sem_context for deterministic code navigation.
  • Broad Language Support: Supports 32 languages via tree-sitter, including TypeScript, Python, Rust, Go, and Java.
  • Git Integration: Can be configured as the default git diff output via sem setup.
  • Cloud Acceleration: Optional cloud-backed graph for large monorepos to avoid rebuilding the dependency graph locally.

Related

  • Dispatch
  • Project
  • Project
  • Dispatch
  • Project