Обычный
git diff показывает изменившиеся строки, а sem отвечает на вопрос «какие сущности я поменял»: видно, что переписана конкретная функция, переименован класс, добавлен аргумент.Что внутри:
🔘диффы по сущностям: функции, классы, переменные;
🔘семантический blame — история конкретной функции, а не строки;
🔘анализ влияния: что зависит от изменённого кода;
🔘26 языков через tree-sitter;
🔘работает поверх обычного Git, отдельного хранилища не требует.
Авторы целятся в связку с кодящими ИИ-агентами: агенту проще понять «изменилась функция parse_config», чем диф из 40 строк. Но и для ревью человеком entity-уровень читается заметно легче.
Пригодится тем, кто ревьюит большие диффы и хочет видеть структуру изменений, а не простыню строк.
https://github.com/Ataraxy-Labs/sem
Язык: Rust. Лицензия: Apache-2.0.
@prog_tools