All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Sem: Semantic Version Control CLI for Entity-Level Code Analysis

By

pabs3

2mo ago· 5 min readenCode

Summary

Sem is a semantic version control CLI tool that provides entity-level analysis of code changes instead of traditional line-based diffs. It analyzes functions, methods, and classes across 21 programming languages using tree-sitter parsers. The tool offers features like entity-level diff with rename detection, cross-file dependency graphs to show impact of changes, and entity-level blame tracking. It works in any Git repository without setup and can also analyze arbitrary files outside of Git.

Key quotes

· 5 pulled
Instead of lines changed, sem tells you what entities changed: functions, methods, classes.
Entity-level diff with rename detection, structural hashing, and word-level inline highlights.
Cross-file dependency graph shows what breaks if an entity changes.
Entity-level blame showing who last modified each function, class, or method.
Works in any Git repo. No setup required. Also works outside Git for arbitrary file comparison.
Snippet from the RSS feed
Semantic version control CLI. Entity-level diff, blame, graph, and impact analysis for code. 21 languages via tree-sitter. - Ataraxy-Labs/sem

You might also wanna read