difit CLI

CLI открывает локальный git diff в браузере как просмотр правок в пулл-реквесте GitHub; комментарии копируются промптом для агента

  • 3 275 ★ репозитория
  • Последний коммит
  • MIT
CLI

Расширенный доступ

Почему такой уровень

  • Поднимает локальный веб-сервер с вашим кодом; с флагом `--host 0.0.0.0` дифф становится доступен из сети
  • В режиме --pr вызывает gh с вашей авторизацией GitHub и читает патч и ревью-обсуждения
  • Скилл difit-review запускает команды git и читает код проекта, комментарии формирует сам агент
Все причины и проверки

yoshiko-pg/difit

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/difit

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Поднимает локальный веб-сервер с вашим кодом; с флагом `--host 0.0.0.0` дифф становится доступен из сети
  • В режиме --pr вызывает gh с вашей авторизацией GitHub и читает патч и ревью-обсуждения
  • Скилл difit-review запускает команды git и читает код проекта, комментарии формирует сам агент

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

difit запускает на вашей машине веб-сервер и показывает в браузере дифф коммита, ветки или всех незакоммиченных правок в привычном виде GitHub. Чтобы дать агенту замечание, выделите строку или диапазон, напишите комментарий и нажмите «Copy Prompt»: в буфер уйдет путь к файлу с номерами строк и ваш текст. Дифф можно взять из git, из пулл-реквеста по ссылке (для этого difit вызывает gh pr diff и подтягивает нерешенные ветки обсуждения) или со стандартного ввода. Две установочные инструкции для агента, difit и difit-review, позволяют ему самому открыть дифф для вашей проверки или разместить свои замечания прямо в окне difit. Сгенерированные файлы вроде файлов блокировки зависимостей, минифицированных скриптов и кода, сгенерированного по схемам свернуты по умолчанию.

Для кого. Для разработчиков, которые проверяют правки Claude Code или Codex перед коммитом и хотят читать дифф как на GitHub, не отправляя код в облако.

Подходит, если

  • Агент закончил задачу, и вы хотите прочитать все незакоммиченные правки командой `difit .` в удобном виде, а не в терминале
  • Нужно вернуть агенту замечания по конкретным строкам: комментарий копируется готовым промптом с путем и диапазоном
  • Надо разобрать чужой пулл-реквест локально командой `difit --pr` с адресом PR, включая нерешенные обсуждения
  • Хотите, чтобы агент сам разместил результаты своего ревью в окне difit: для этого служит скилл difit-review
  • Дифф приходит из другого инструмента: передайте его на стандартный ввод, например `git diff --merge-base main feature | difit`

Не подходит, если

  • Нужен обычный разбор правок в ответе агента: скиллы difit включаются только по явной просьбе, а на запросы вроде «проверь изменения» агент отвечает как обычно
  • Нужно оставить комментарии в самом пулл-реквесте на GitHub: difit хранит комментарии в браузере и ничего не публикует в удаленный репозиторий
  • Вы работаете на сервере без браузера: difit открывает интерфейс в браузере, а при доступе из сети нужно самому привязать хост через --host
  • Нужен терминальный просмотрщик диффов: для этого есть другие инструменты, difit показывает веб-интерфейс

Пример запроса к агенту

Открой мои незакоммиченные изменения в difit, я посмотрю и оставлю замечания

Ограничения

Нужен Node.js версии 21 или новее и git-репозиторий с коммитами. Для режима `--pr` нужен GitHub CLI (`gh`), вход через `gh auth login` или переменная GH_TOKEN. Комментарии сохраняются в localStorage браузера отдельно для каждого коммита, поэтому при смене браузера или очистке данных они пропадут. Флаг `--context` недоступен вместе с `--pr` и со стандартным вводом. Для файлов, которых еще нет в git, нужен флаг `--include-untracked`, и работает он только с аргументами `.` и `working`.

Как отключить. Остановите сервер сочетанием Ctrl+C или, если запускали с --background, завершите процесс, номер которого выдал JSON. Глобальную установку снимает `npm uninstall -g difit`. Скиллы удаляются из каталога скиллов проекта или из глобального, где они лежат.

Частые вопросы

Как открыть незакоммиченные изменения агента в difit?

Выполните `difit .` в корне репозитория. Аргумент `.` включает и проиндексированные, и неиндексированные правки. Только индекс покажет `difit staged`, только рабочие файлы `difit working`. Адрес по умолчанию — 127.0.0.1:4966, а если порт занят, difit берет следующий.

Как поставить скиллы difit в Claude Code или Codex?

Выполните `npx skills add yoshiko-pg/difit`. Поставятся два скилла: difit просит вас о ревью в окне просмотрщика, а difit-review показывает там замечания самого агента. Оба включаются только по явной просьбе назвать difit.

Как разобрать пулл-реквест из GitHub в difit?

Запустите `difit --pr https://github.com/owner/repo/pull/123`. Патч difit берет через gh pr diff --patch, а нерешенные ревью-треки подгружает как стартовые комментарии. Для Enterprise Server сначала войдите командой `gh auth login --hostname` с адресом вашего сервера.

Как передать замечания из difit обратно агенту?

У каждого комментария есть кнопка «Copy Prompt», а у всей ревизии — «Copy All Prompt». В буфер попадает путь к файлу с номером строки или диапазоном вида L42-L48 и ваш текст. Если агент запустил difit сам через скилл, замечания возвращаются в стандартный вывод при закрытии сервера.

Чем difit отличается от просмотра диффа в IDE или на GitHub?

Он работает локально над еще не отправленными изменениями и сразу формирует комментарии как промпты для агента. На GitHub для этого пришлось бы сначала запушить ветку и открыть пулл-реквест.

Обсуждение

Вопросов и отзывов пока нет.

Терминальный просмотрщик диффов: все файлы одним потоком, а агент через скилл hunk-review ведет по изменениям и оставляет комментарии к строкам

CLIРасширенный доступ9,7 тыс.Звезды репозитория

CLI и плагин для ревью кода агентом: читает git diff и пишет замечания по строкам с учетом контекста

CLIРасширенный доступ48,1 тыс.Звезды репозитория

Crit открывает планы, диффы и запущенные приложения от кодинг-агента в браузере: кликнули строку, оставили замечание, и агент его получил

CLIРасширенный доступ1,2 тыс.Звезды репозитория

Плагин herdr: дифф кода агента в панели терминала рядом с чатом, комментарии к строкам и отправка замечаний обратно в Claude Code, Codex или OpenCode

CLIРасширенный доступ928Звезды репозитория

CLI и три скилла, которые разбирают комментарии ревью-ботов в PR: оценивают находки, правят код, отвечают и ждут проверок

СкиллШирокий доступ306Звезды репозитория
Выбор редакции

Индексирует кодовую базу в граф знаний и отдает агенту через MCP связи вызовов, радиус влияния правок и поиск по коду

MCP-серверРасширенный доступ48 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
difit (эта запись)нет3 275
Hunkнет9 667просмотрщик диффов в терминале, difit открывает веб-интерфейс в браузере
Plannotatorнет9 579аннотации к планам и дифффам агента через хуки Claude Code, difit работает с любым диффом из git, PR или stdin
PR Lensнет2 199строит схемы и обзор пулл-реквеста, difit показывает сам дифф с комментариями-промптами

Коротко о README

README начинается с трех способов запуска: `npx difit` без установки, глобальный `npm install` и `npx skills add` для агентов. Дальше разобраны режимы: один коммит, два коммита или ветки, особые аргументы `.`, `staged` и `working`, пулл-реквест через `--pr` и дифф со стандартного ввода. Таблица флагов задает порт (по умолчанию 4966), хост, контекст, фоновый режим и очистку комментариев. Затем описаны комментарии и формат промпта, подсветка десятков языков и правила автосворачивания удаленных и сгенерированных файлов. В конце идут разделы про разработку, архитектуру и требования.

Бейдж для README

Исходный SKILL.md

---
name: difit
description: Ask the user for a code review by opening the changes in difit, a local diff viewer. Explicit opt-in only — use when the user names difit, asks to open or show the diff in the viewer, or has a standing instruction to request reviews through difit after changes. Do not use it for ordinary requests to review code, diffs, commits, branches, or pull requests.
---

# Difit

## When to Use This Skill

difit opens an external browser UI and starts a long-running local server, so launching it must be explicit opt-in:

- Use this skill only when the user explicitly names difit, asks to open or show the diff in a viewer, or has a standing instruction (for example in project docs or agent configuration) to request reviews through difit after code changes.
- Do NOT use it for ordinary review requests such as "review these changes", "use the reviewer agent", "find problems in this diff", or "review this PR/commit/branch". Answer those through your normal response channel.
- When a request is ambiguous, prefer the non-difit path.

## Overview

This skill requests a code review from the user using difit.
Before running commands, choose `<difit-command>` using the following rule:

- If `command -v difit` succeeds, use `difit`.
- Otherwise, use `npx difit`.
- If falling back to `npx difit` would require network access in a sandboxed environment without network permission, request escalated permissions and user approval before running it.

If the user leaves review comments, they are printed to stdout when the chosen difit command exits.
When review comments are returned, continue work and address them.
If the server is shut down without comments, treat it as "no review comments were provided." Restarting it is unnecessary.
Manual verification of whether the page launched correctly is also unnecessary.

## Commands

- Review uncommitted changes before commit: `<difit-command> .`
- Review the HEAD commit: `<difit-command>`
- Review staging area changes: `<difit-command> staged`
- Review unstaged changes only: `<difit-command> working`

Basic Usage:

```bash
<difit-command> <target>                    # View single commit diff. ex: difit 6f4a9b7
<difit-command> <target> [compare-with]     # Compare two commits/branches. ex: difit feature main
```

## Optional Startup Comments

If there is something you want to tell the user when difit opens, attach it as startup comments with `--comment`.

Сообщить о проблеме

Foxx AIdifit
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.