agent-commits
v0.1.1
Published
CLI to reassign AI agent commits to the current user and format them.
Maintainers
Readme
agent-commits
CLI для переназначения коммитов, сделанных AI-агентами, под авторство текущего пользователя, с шаблонами именования веток и коммитов. Поддерживает Windows, macOS, Linux. Работает на актуальных LTS Node.js. Доступна глобальная установка. Пакет поддерживает ESM/CJS.
Установка
Глобально:
npm i -g agent-commitsТребования окружения:
- Node.js >= 18
- Переменная окружения
GOOGLE_OAUTH_CLIENT_IDдля Google SSO (Device Flow) - GitHub токен в
GITHUB_TOKEN(илиGH_TOKEN) с правамиrepoи доступом в целевую организацию
Быстрый старт
# 1) Авторизация через Google SSO (device flow)
GOOGLE_OAUTH_CLIENT_ID=YOUR_CLIENT_ID agent-commits login
# 2) Настройка шаблонов (опционально)
agent-commits config --branch "agent" --commit "agent"
# 3) Инициализация агент-репозитория
GITHUB_TOKEN=... agent-commits init --org your-org
# 4) Запуск чекера событий и создание ветки/коммита
GITHUB_TOKEN=... agent-commits start --org your-org --repo agent-<author>-<repo>Команды
| Команда | Описание | Основные флаги |
|---|---|---|
| login | Вход через Google SSO (device flow) и сохранение локальной сессии | GOOGLE_OAUTH_CLIENT_ID через env |
| init | Создаёт agent-<author>-<repo> в выбранной организации | --org <org>, --private |
| start | Ожидает событие из GitHub Actions агента, создаёт ветку и коммит | --org <org>, --repo <repo>, --poll-interval <sec> |
| config | Настройка шаблонов | --branch <prefix>, --commit <prefix> |
Конфигурация
Конфиг хранится локально в папке проекта ./.agent-commits/config.json или в профиле ~/.agent-commits/ (состояние сессии). Поля:
{
"branchPrefix": "agent",
"commitPrefix": "agent"
}Авторизация (Google SSO)
- Используется OAuth 2.0 Device Flow: CLI выводит URL и код, откройте ссылку и подтвердите доступ.
- Требуется переменная окружения
GOOGLE_OAUTH_CLIENT_ID(секреты не логируются). - Сессия хранится локально:
~/.agent-commits/state.json. Без валидной сессии команды заблокированы.
GitHub токен
- Передайте токен через
GITHUB_TOKENилиGH_TOKEN. - Токен сохраняется локально в состоянии для удобства повторных запусков.
- Не логируется.
Сценарии UX
- Сценарий 1: запускаете любую команду без Google SSO → увидите понятное сообщение и подсказку выполнить
agent-commits login. - Сценарий 2: после успешного Google SSO команды выполняются и выводят подробные логи.
Коды возврата
- 0: Успех
- 10: Не выполнен вход через Google SSO
- 11: Отсутствует GitHub токен
- 12: Не git-репозиторий
- 13: Ошибка git-команды
- 14: Ошибка GitHub API
- 15: Отсутствует конфиг
- 16: Некорректные аргументы
- 17: Ошибка Google SSO
- 18: Сессия истекла
- 19: Сетевая ошибка
- 20: Неавторизовано
Детерминизм
- Создание веток и коммитов использует фиксированные шаблоны и временную метку ISO в имени ветки.
- Команда
startреагирует на самое последнее завершённое событие GitHub Actions (предсказуемо и однозначно при одинаковых входных данных).
Совместимость
- Поддержаны ESM и CJS через двойной бандл. CLI доступна через
agent-commitsв PATH после глобальной установки.
Безопасность и приватность
- Секреты и токены не логируются, в логах маскируются.
- Телеметрия отключена.
Ограничения
- Не требует Docker и нативных аддонов. Используется device flow и системный браузер.
