klpgit
v0.2.1
Published
Beautiful web-based Git GUI — run klpgit, get a local dashboard in your browser
Readme
KlpGit
Графический Git из терминала: дерево файлов, диффы, просмотр кода, коммит и пуш в один клик. Запускаешь в папке с репо — открывается веб-интерфейс в браузере.
Возможности: полноэкранная история коммитов (дерево файлов, дифф по файлу, аватарки авторов), переключение веток, stash (спрятать/вернуть изменения), отвязка репозитория с подтверждением, экран при обрыве связи, многострочные сообщения коммита (Ctrl+Enter), тёмная и светлая тема, превью Markdown с картинками и SVG, горячие клавиши (? — подсказка, Escape — закрыть, Shift+S — коммит, Shift+R — обновить).
Установка и запуск
Установить глобально (из npm):
npm install -g klpgitЗапустить в папке с репо:
cd путь/к/твоему/репо
klpgitОткроется браузер с интерфейсом. Порт по умолчанию 4219 (если занят — выберется другой, ссылка будет в консоли).
Что это и как устроено
- Клиент (папка
client/) — React-приложение: интерфейс, стили, запросы к API. Собирается в папкуweb/. - Сервер (папка
server/) — Node.js: раздаёт статику изweb/, даёт REST API по Git и дереву файлов, WebSocket для обновлений. Запускается изdist/cli.js. - Mock — режим без сервера: данные из заглушек в
client/src/mock/, чтобы верстать и проверять стили без Git и бэкенда.
Подробнее по частям:
| Часть | Описание и детали | |-------|-------------------| | client/ | Фронтенд: структура, скрипты, стили, слой API, ссылка на mock. | | server/ | Бэкенд: структура, API с примерами запросов и ответов, WebSocket, порт. | | client/src/mock/ | Mock-режим: как включить, форматы данных, как править заглушки. |
Откуда запускать
Все команды ниже — из корня проекта (там, где лежат client, server, package.json).
Первый запуск
- Установка зависимостей и сборка (один раз):
npm install npm run build - Запуск:
npm start - В консоли — ссылка (например
http://localhost:4219), откроется браузер. Если порт 4219 занят, будет выбран другой и написано какой.
Дальше можно заходить в любую папку с Git-репо и запускать там klpgit (или npm start, если не ставил глобально).
Команды из корня
| Команда | Действие |
|---------|----------|
| npm run build | Собрать клиент и сервер (перед первым запуском). |
| npm start | Запустить сервер и открыть браузер. |
| npm run dev | Режим разработки фронта (в другом окне должен быть запущен сервер). |
| npm run dev:mock | Режим разработки без сервера — данные из заглушек (подробнее). |
| npm run build:client | Собрать только фронт. |
| npm run build:server | Собрать только сервер. |
| npm run build:mock | Собрать фронт с заглушками (открыть web/ статически). |
Структура репозитория (кратко)
client/ — фронт, см. client/README.md
server/ — бэкенд, см. server/README.md
web/ — появляется после сборки (результат client)
dist/ — появляется после сборки (результат server), точка входа dist/cli.jsРазработка с живым API
- Терминал 1:
npm start - Терминал 2:
npm run dev - Редактируешь файлы в
client/src/— страница обновляется. API отдаётся на порту из консоли (по умолчанию 4219).
Порт
- По умолчанию 4219. Если занят — выбирается свободный, в консоли пишется какой.
- Свой порт:
KLPGIT_PORT=3000 npm start(в PowerShell:$env:KLPGIT_PORT=3000; npm start).
Если не работает
- Не стартует — делал ли
npm run buildперед первымnpm start? - Другой порт — открывай ссылку из консоли.
- Mock — из корня:
npm run dev:mock.
Лицензия
MIT
