Об этом проекте

AI Commits — это инструмент командной строки, который генерирует сообщения Git-коммитов из ваших подготовленных изменений с помощью выбранного AI-провайдера. Он распространяется через npm и требует Node.js v22 или новее. Настройка начинается с глобальной установки (`npm install -g aicommits`), после чего выполняется `aicommits setup`, который проводит через выбор провайдера, настройку API-ключа, выбор модели и предпочитаемый формат сообщения коммита. Поддерживаемые провайдеры включают TogetherAI, OpenAI, Groq, xAI, OpenRouter, Ollama (локально), LM Studio (локально) и любую пользовательскую конечную точку, совместимую с OpenAI. Конфигурацию также можно записать напрямую для использования в CI/CD через `aicommits config set`. Типичное использование — подготовить файлы с помощью `git add` и запустить `aicommits`. Неизвестные флаги передаются в `git commit`. Заметные параметры CLI включают `--all` для подготовки отслеживаемых изменений, `--clipboard` для копирования сообщения вместо коммита, `--generate` для создания нескольких вариантов сообщений, `--exclude` для исключения файлов из анализа, `--description` для добавления тела, `--type` для выбора формата, `--prompt` для пользовательских инструкций, `--no-verify` для обхода хуков и `--yes` для пропуска подтверждения. Предоставляется псевдоним `aic`. Доступны пять форматов сообщений коммитов: plain, conventional, conventional+body, gitmoji и subject+body. Пользовательские промпты могут управлять языком, тоном или фокусом. Git-хук `prepare-commit-msg` можно установить с помощью `aicommits hook install`, чтобы обычные вызовы `git commit` генерировали сообщение, которое открывается в вашем редакторе для проверки. Конфигурация разрешается в порядке: аргументы командной строки, переменные окружения, файл конфигурации, затем значения по умолчанию. Настройки включают OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL, provider, locale, generate count, timeout, max-length и type. Команды, такие как `aicommits config`, `aicommits config get`, `aicommits config set`, `aicommits model` и `aicommits update`, управляют конфигурацией и обновлениями. Инструмент читает только подготовленный снимок Git, поэтому неподготовленные изменения не отправляются модели. В README отмечается, что генерация нескольких сообщений потребляет больше токенов и, следовательно, стоит дороже.