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 diffs. Instead of seeing which lines changed, it identifies exactly which functions, classes, and methods were modified, added, or removed, making code reviews and change tracking more intuitive for both humans and AI agents.

How it works

It operates as a layer on top of Git, using tree-sitter to parse source code and extract entities. It builds an on-disk query index of the codebase to track dependencies and references. This allows it to perform semantic analysis such as identifying callers and callees, calculating the "impact" of a change (which tests or dependencies are affected), and generating "certificates" for commit ranges that summarize structural changes.

Who it’s for

  • AI Agents: Provides a structured, JSON-compatible interface (including MCP support) to help agents navigate, understand, and verify changes in a codebase.
  • Developers: Offers a more meaningful way to review code changes and avoid the-line-by-line slog of traditional diffs.
  • CI/CD Pipelines: Enables smarter test selection by only running tests that are semantically affected by a change.

Highlights

  • Entity-Level Diffing: Focuses on functions and classes rather than lines of text.
  • Impact Analysis: Identifies exactly which tests and dependent entities are affected by a specific change.
  • sem check: A verification tool that runs compilers, linters, and tests, rechecking only what is provably affected.
  • MCP Support: Serves its capabilities as tools for agents that speak the Model Context Protocol.
  • Promises: Allows users to define code-shape laws via tree-sitter queries to ensure architectural constraints are maintained.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project