npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

claude-commit

v1.0.1

Published

AI-powered git commit message generator using Claude AI (API or Claude Code CLI)

Readme

AI Генератор Commit Messages

🇺🇦 Українська | 🇬🇧 English version

AI-генератор commit messages для git використовуючи Claude AI. Підтримує як Anthropic API, так і Claude Code CLI (для власників підписки Claude Pro).

Можливості

  • ✅ Два методи генерації: Anthropic API або Claude Code CLI
  • ✅ Автоматичний fallback: Переключається на CLI якщо API недоступний
  • ✅ Підтримка мов: English (за замовчуванням) або Українська
  • ✅ AI-редагування: Опишіть що виправити, AI застосує зміни автоматично
  • ✅ Conventional Commits формат: Минулий час, макс 50 символів
  • ✅ Інтерактивне підтвердження: Enter = згода, Esc = скасувати, e = редагувати
  • ✅ Швидкий і ефективний: Оптимізовані промпти, ліміт 6000 символів

Встановлення

Варіант A: Глобальне встановлення (NPM пакет)

# Встановити глобально
npm install -g claude-commit

# Або використовувати з npx (без встановлення)
npx claude-commit

Варіант B: Локальне встановлення (для проєкту)

  1. Клонуйте або завантажте репозиторій

    git clone https://github.com/uaoa/claude-commit.git
    cd claude-commit
  2. Встановіть залежності

    npm install
  3. Зробіть скрипт виконуваним (Unix/Mac)

    chmod +x generate-commit.mjs
  4. Додайте в package.json вашого проєкту

    {
      "scripts": {
        "commit": "node шлях/до/generate-commit.mjs"
      }
    }

Варіант C: Тільки з Claude Code CLI

Якщо у вас є підписка Claude Pro і ви хочете використовувати CLI без API ключа:

  1. Встановіть Claude Code CLI (якщо ще не встановлено)

    # Інструкції: https://docs.claude.com/claude-code
  2. Перевірте встановлення

    claude --version
  3. Клонуйте репо і встановіть залежності

    git clone https://github.com/uaoa/claude-commit.git
    cd claude-commit
    npm install

Налаштування

Метод 1: З API ключем

  1. Отримайте API ключ на Anthropic Console

  2. Створіть файл .env в корені проєкту:

    ANTHROPIC_API_KEY=sk-ant-your-key-here
    COMMIT_LANG=EN  # Опціонально: EN або UA (за замовчуванням: EN)

Метод 2: З Claude Code CLI

Налаштування не потрібні! Просто переконайтесь, що Claude Code CLI встановлено та авторизовано.

Використання

Базове використання

  1. Додайте зміни до staging area

    git add .
    # або
    git add конкретний-файл.js
  2. Запустіть генератор

    # Якщо встановлено глобально
    claude-commit
    
    # Якщо використовуєте npm script
    npm run commit
    
    # Якщо використовуєте npx
    npx claude-commit
    
    # З вибором мови
    npm run commit -- --lang=en  # English
    npm run commit -- --lang=ua  # Українська
  3. Перегляньте згенерований message

    • Натисніть Enter або y для підтвердження та створення коміту
    • Натисніть e для редагування з допомогою AI (опишіть що виправити)
    • Натисніть n або Esc для скасування

AI-Редагування

Коли натискаєте e, можете описати що потрібно виправити - AI застосує зміни автоматично!

Приклади:

# Додати scope
Що треба виправити? додати scope "auth"
# feat: додано OAuth → feat(auth): додано OAuth

# Змінити type
Що треба виправити? це має бути fix, а не feat
# feat: додано валідацію → fix: додано валідацію

# Скоротити (до 50 символів)
Що треба виправити? скоротити до 50 символів
# feat: додано нову функціональність для автентифікації користувачів через OAuth провайдери
# → feat: додано OAuth автентифікацію

# Виправити на минулий час
Що треба виправити? має бути в минулому часі
# feat: додати функцію → feat: додано функцію

# Перекласти на English
Що треба виправити? перекласти на англійську
# feat: додано функцію → feat: added feature

AI зберігає Conventional Commits формат та застосовує правки інтелектуально!

Клавіші керування

| Клавіша | Дія | |---------|-----| | Enter | Підтвердити та створити commit | | y | Підтвердити та створити commit | | e | Відкрити AI-редагування | | n | Скасувати commit | | Esc | Скасувати commit | | Ctrl+C | Вийти з програми |

Формат Commit Messages

Скрипт генерує messages у форматі Conventional Commits:

<type>(<scope>): <subject>

Суворі правила:

  • Subject: макс 50 символів, без крапки
  • Час: ТІЛЬКИ минулий час (що ЗРОБЛЕНО)
  • Дієслова UA: додано, виправлено, оновлено, видалено, рефакторено
  • Дієслова EN: added, fixed, updated, removed, refactored

Types:

  • feat - нова функціональність
  • fix - виправлення бага
  • refactor - рефакторинг коду
  • docs - зміни в документації
  • style - форматування, стилі
  • test - додавання/оновлення тестів
  • chore - інші зміни (build, CI, etc.)
  • perf - покращення продуктивності

✅ Правильні приклади:

Українською:

feat(auth): додано Google OAuth провайдер
fix(api): виправлено помилку валідації
refactor(store): оптимізовано управління станом
docs(readme): оновлено інструкції встановлення
style(button): відформатовано компоненти кнопок

Англійською:

feat(auth): added Google OAuth provider
fix(api): fixed validation error
refactor(store): optimized state management
docs(readme): updated installation instructions

❌ Неправильно (наказова форма):

feat: add feature           # НЕПРАВИЛЬНО
fix: fix bug                # НЕПРАВИЛЬНО
feat: додати функцію        # НЕПРАВИЛЬНО

✅ Правильно (минулий час):

feat: added feature         # ПРАВИЛЬНО
fix: fixed bug              # ПРАВИЛЬНО
feat: додано функцію        # ПРАВИЛЬНО

Пріоритет методів генерації

Скрипт обирає метод у такому порядку:

  1. Спочатку: Спроба використати API (якщо є ANTHROPIC_API_KEY)
  2. Fallback: Якщо API недоступний → Claude Code CLI
  3. Помилка: Якщо обидва методи недоступні → повідомлення про помилку

Налаштування мови

Варіант 1: Через CLI аргумент (одноразово)

npm run commit -- --lang=en  # English
npm run commit -- --lang=ua  # Українська

Варіант 2: Через ENV змінну (.env файл)

# Додайте в .env для постійного використання
COMMIT_LANG=EN  # або UA (за замовчуванням: EN)

Пріоритет:

  1. CLI аргумент --lang=
  2. ENV змінна COMMIT_LANG
  3. За замовчуванням: EN

Приклади використання

Приклад 1: Нова функція

$ git add src/auth/oauth.js
$ npm run commit

🚀 Git Commit Generator
📝 Мова: Українська

🤖 Генерую commit message через API...

Згенерований commit message:
feat(auth): додано Google OAuth провайдер

Підтвердити та виконати commit?
  Enter/y - так
  e - редагувати
  n/Esc - скасувати

[Натискаємо Enter]

✅ Commit успішно створено!

Приклад 2: Виправлення бага з редагуванням

$ git add src/api/users.js
$ npm run commit

🚀 Git Commit Generator
📝 Мова: Українська

🤖 Генерую commit message через Claude Code CLI...

Згенерований commit message:
feat(api): додано валідацію для user endpoint

Підтвердити та виконати commit?
  Enter/y - так
  e - редагувати
  n/Esc - скасувати

[Натискаємо e]

Поточний message: feat(api): додано валідацію для user endpoint
Що треба виправити? це має бути fix, а не feat

🤖 Редагую commit message...

Згенерований commit message:
fix(api): додано валідацію для user endpoint

Підтвердити та виконати commit?
  Enter/y - так
  e - редагувати
  n/Esc - скасувати

[Натискаємо Enter]

✅ Commit успішно створено!

Приклад 3: Fallback на CLI

$ npm run commit

🚀 Git Commit Generator
📝 Мова: Українська

🤖 Генерую commit message через API...
⚠️  API недоступний: Невалідний API ключ
Переключаюсь на Claude Code CLI...

🤖 Генерую commit message через Claude Code CLI...

Згенерований commit message:
refactor(store): оптимізовано управління корзиною

✅ Commit успішно створено!

Вирішення проблем

Помилка: "Немає staged changes"

# Перевірте статус
git status

# Додайте файли
git add .

Помилка: "Не знайдено способу генерації commit message"

Рішення 1 - Використовуйте API:

# Додайте ключ в .env файл
echo "ANTHROPIC_API_KEY=sk-ant-..." >> .env

Рішення 2 - Використовуйте Claude Code CLI:

# Встановіть Claude Code
# https://docs.claude.com/claude-code

# Перевірте встановлення
which claude
claude --version

Помилка: "API недоступний"

Скрипт автоматично переключиться на Claude Code CLI, якщо він встановлений.

Якщо CLI також недоступний:

  • Перевірте валідність API ключа
  • Перевірте баланс акаунту на https://console.anthropic.com
  • Перевірте інтернет-з'єднання

Помилка: "Claude Code CLI недоступний"

# Перевірте, чи встановлено Claude Code
which claude

# Якщо не встановлено, встановіть за інструкцією
# https://docs.claude.com/claude-code

Порівняння методів

| Критерій | Claude API | Claude Code CLI | |----------|-----------|-----------------| | Вартість | ~$0.01-0.02 за commit | Входить у підписку | | Швидкість | Швидше | Повільніше | | Надійність | Висока | Залежить від CLI | | Налаштування | Потребує API ключ | Потребує CLI | | Offline | ❌ Ні | ❌ Ні |

Технічні деталі

Модель:

  • API: Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
  • CLI: Використовує модель з підписки

Токени:

  • Max tokens для відповіді: 500 (генерація), 300 (редагування)
  • Обмеження diff: 6000 символів
  • Temperature: 0.3 (для стабільності)

Залежності:

  • @anthropic-ai/sdk (опціонально, для API методу)
  • Node.js 18+ (для ES modules)
  • Git (обов'язково)

Публікація на NPM

Хочете зробити форк і опублікувати власну версію? Дивіться Гайд з Публікації для детальних інструкцій.

Внесок

Вітаються внески! Будь ласка, створюйте Pull Request.

Ліцензія

MIT License - детальніше в файлі LICENSE

Підтримка

Автор

Захарій Мельник (Zakharii Melnyk), український full-stack розробник із Києва і засновник AOA. Створює вебпродукти, iOS-застосунки та інструменти для розробників.

Інші проєкти:

  • Claude Commit для VS Code: той самий генератор як розширення VS Code
  • whatsmyera.com: скільки подій відбулося за твоє життя
  • wherethefuckismy.money: калькулятор реальної купівельної спроможності доходів в Україні
  • AOA: мета якої спонукати людей частіше виходити на вулицю

Зроблено з ❤️ використовуючи Claude AI