3 ms·
Show HN: Sem – Semantic diffs and patches for Git
- rs545837 8mo agoGit diffs are great for humans scanning line noise. But agents need to understand changes: "added function X", "renamed symbol Y", "moved block Z". sem computes semantic diffs on top of your Git repo—no repo rewrite needed. Repo: https://github.com/Ataraxy-Labs/sem https://github.com/Ataraxy-Labs/sem Key ideas: Parses code to AST, computes tree‑edit ops (add/remove/move/change). Outputs human‑/agent‑readable patches: "diff_sem" shows intent, not whitespace churn. Applies deterministically via git apply --sem—survives formatting shifts or unrelated edits. Use cases popping up: Agent codemods: output semantic patches instead of brittle hunks. Review tools: "explain this PR as semantic changes". Stacked diffs / Graphite: semantic base for stacks. Bulk refactors: apply "rename all X to Y" across noisy repos.