Умный инструмент для генерации осмысленных сообщений коммитов с использованием ИИ и автоматического деплоя.
# Установка
npm install -g smart-commit-ai
# Первоначальная настройка
smart-commit setup
# Генерация коммита
smart-commit
# Умный деплой (smart-режим по умолчанию)
smart-commit deploy
# Полный деплой всех команд
smart-commit deploy --full- 🤖 ИИ-генерация коммитов - автоматическое создание осмысленных сообщений коммитов
- 📋 Conventional Commits - поддержка стандарта conventional commits
- 🌍 Многоязычность - генерация коммитов на русском и английском языках
- 🧠 Умный деплой - анализ git diff и выполнение только необходимых команд (режим по умолчанию)
- ⚡ Полный деплой - все команды из конфигурации через
deploy --full - 📦 Локальная сборка фронта -
npm run build+scp/rsyncчерезlocalCommandsдо SSH - 🎯 Анализ проекта - автоматическое определение типа проекта и настройка
- 📖 Полная документация
- 🚀 Установка и настройка
- 🛠️ Основные команды
- 🧠 Умный деплой
- ⚡ Обычный деплой
- ⚙️ Конфигурация
- 📊 Примеры использования
| Команда | Описание |
|---|---|
smart-commit |
Генерация и создание коммита |
smart-commit deploy |
Умный деплой (git diff анализ, только нужные команды) |
smart-commit deploy --full |
Полный деплой всех команд из конфигурации |
smart-commit deploy-smart |
deploy |
smart-commit setup |
Первоначальная настройка |
smart-commit generate-config |
Генерация конфигурации проекта |
smart-commit config |
Управление конфигурацией |
smart-commit models |
Управление ИИ моделями |
- PHP/Laravel - полная поддержка с анализом composer.json
- Node.js - поддержка npm/yarn проектов
- Vue.js/React - анализ фронтенд файлов
- TypeScript - поддержка TS проектов
- Docker - базовые команды Docker
$ smart-commit deploy
🔍 Analyzing changes for smart deployment...
📊 Analysis Results:
• Detected changes in 2 files
• Frontend files changed (resources/js/components/Button.vue)
• NPM dependencies changed (package.json)
⚠️ Smart deployment will run 4 step(s) (local first, then remote):
Local (this machine):
1. npm run build
2. rsync -az --delete public/build/ deploy@203.0.113.10:/var/www/example-app/public/build/
Remote (SSH):
1. git pull origin main
2. npm install
Continue? [y/N]Пример конфигурации localCommands для сборки фронтенда и загрузки на сервер:
{
"serverCommands": {
"localCommands": [
"npm run build",
"scp -r public/build deploy@203.0.113.10:/var/www/example-app/public/build"
]
}
}localCommands(опционально): команды на вашей машине до SSH (напримерnpm run build,rsync …). При ошибке локальной команды удалённый деплой не запускается.- Fail-fast: при ошибке удалённой команды по SSH (например
git pull) следующие команды не выполняются. server.commandTimeoutSeconds(опционально, по умолчанию 300): лимит времени на каждую удалённую команду по SSH.- Rsync: если в
localCommandsестьrsync, перед стартом проверяется наличиеrsyncвPATH. - Пути: каталог на сервере передаётся в shell с безопасным quoting; путь к ключу SSH поддерживает
~/…черезpathи домашний каталог.
Полная структура JSON задаётся через smart-commit generate-config.
npm install -g smart-commit-aiМы приветствуем вклад в развитие проекта! См. CONTRIBUTING.md для деталей.
MIT License - см. LICENSE для деталей.
Если у вас есть вопросы или проблемы:
- Создайте Issue
- Обратитесь к документации
Версия: 1.1.0
Автор: Eugene (prod-broke-again)