Skip to content

Latest commit

 

History

History
135 lines (98 loc) · 5.88 KB

File metadata and controls

135 lines (98 loc) · 5.88 KB

Smart Commit AI

Умный инструмент для генерации осмысленных сообщений коммитов с использованием ИИ и автоматического деплоя.

🚀 Быстрый старт

# Установка
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"
    ]
  }
}

Поведение деплоя (serverCommands в .smart-commit.json)

  • 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 для деталей.

🆘 Поддержка

Если у вас есть вопросы или проблемы:


Версия: 1.1.0
Автор: Eugene (prod-broke-again)