Sem: New primitive for code understanding – not LSPs, but entities on top of Git

Git gets a brain, and the comments are already fighting over whether it’s genius or gimmick

TLDR: Sem is a new tool that tries to explain software changes in human-friendly chunks instead of raw lines, showing what a change affects and what could break. Commenters split fast: some called it genuinely useful, while others mocked the buzzwords and wondered if it mainly exists to audit AI-made code.

A new tool called Sem is pitching a simple but spicy idea: stop looking at code changes as boring lines of text, and start looking at them as actual pieces of a program — like functions and features — sitting on top of Git, the popular system developers use to track changes. In plain English, it wants to tell you what changed, what depends on it, and what might break, without making you squint at endless line-by-line diffs. The demo won over some people instantly. One commenter basically gasped at Sem showing that changing one login function could ripple into 42 affected pieces and 7 tests. Their verdict? “Okay that is pretty cool.”

But this wouldn’t be the internet without a little blood sport. The very first joke set the tone: is this just a tool for checking “what Claude Code just did to your repo”? That crack turned the whole thread into a mini-drama about the age of AI coding assistants and whether humans now need detective tools to inspect the robot’s mess. Supporters loved the idea of seeing smarter code reviews and even dreamed of a future where people stop leading with line diffs entirely. Skeptics, though, were not buying the hype, calling the benchmarks weirdly tailored and asking why anyone would need a custom tool to count “entities,” a term they saw as suspiciously made-up. So the vibe is clear: half the crowd sees the future of code review, the other half sees a fancy new way to rename stuff and oversell it.

Key Points

  • Sem is presented as a new primitive for code understanding built on top of Git.
  • The article positions Sem as an alternative to relying on LSPs for this purpose.
  • Sem focuses on software entities such as functions rather than line-based representations.
  • The tool highlights operations including diff, blame, impact, and log.
  • Sem can be installed from the command line using `brew install sem-cli`.

Hottest takes

"Is this for checking what Claude Code just did to your repo?" — Animats
"I firmly believe code review should happen in your editor." — qudat
"why would I ask Claude how many 'entities' were modified by a commit" — awoimbee
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.