TGViewer
Заметки разработчика Заметки разработчика @dev_notes_ru · 458 subscribers
Post #1698 202
Как автоматически генерировать сообщения коммитов с помощью Claude

Сообщения коммитов важны, но их написание — рутинная задача. Claude от Anthropic отлично справляется с их генерацией. Для автоматизации процесса можно использовать локальный скрипт.

Процесс работы

🔹 Скрипт получает изменения (git diff) для индексированных файлов.
🔹 Дифф передается в API Claude (через Anthropic SDK) с запросом создать краткое, информативное сообщение коммита в conventional commits стиле.
🔹 Полученный ответ используется для выполнения коммита.

Пример скрипта на Python

import subprocess
import anthropic
import os

# 1. Получить дифф
diff_output = subprocess.run(
["git", "diff", "--cached"],
capture_output=True,
text=True
).stdout

# 2. Создать промт и отправить в Claude
client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))

message = client.messages.create(
model="claude-3-haiku-20240307",
max_tokens=100,
temperature=0,
system="Сгенерируй краткое, информативное сообщение коммита на основе git diff. Используй формат conventional commits (например, feat:, fix:, chore:).",
messages=[
{"role": "user", "content": f"Создай сообщение коммита для этого diff:\n\n{diff_output}"}
]
)

commit_message = message.content[0].text.strip()

# 3. Выполнить коммит
subprocess.run(["git", "commit", "-m", commit_message])
print(f"Коммит создан: {commit_message}")


Ключевые моменты

🔹 Используйте переменную окружения ANTHROPIC_API_KEY.
🔹 Модель claude-3-haiku быстрая и недорогая для этой задачи.
🔹 Промт инструктирует Claude придерживаться формата conventional commits.

Процесс автоматизирует рутинную работу, оставляя пользователю финальный контроль.

Альтернативный подход: Husky + скрипт


Для запуска генерации перед каждым коммитом можно использовать хуки Git (например, через Husky).

🔹 Установите Husky: npm install husky --save-dev.
🔹 Активируйте хуки: npx husky install.
🔹 Создайте хук prepare-commit-msg:

#!/bin/bash
# .husky/prepare-commit-msg

# Выполнить скрипт генерации и записать сообщение в файл
python generate_commit_message.py > "$1"


Использование Claude для генерации сообщений коммитов экономит время и улучшает их качество. Локальный скрипт или интеграция с хуками Git делают процесс seamless. Всегда проверяйте сгенерированные сообщения перед отправкой коммита.

📱 @dev_notes_ru

#Git #Commit
  • ❤ 1
  • 👍 1
More from @dev_notes_ru
  1. Apr 27, 2026Уникальный индекс при мягком удалении: решаем проблему дубликатов При использовании мягког…
  2. Apr 23, 2026Статические переменные в PHP: использование static внутри функций По данным исследования E…
  3. Apr 21, 2026Валидация массивов в Laravel без N+1: Form Request как построитель контекста Применение пр…
  4. Apr 13, 2026JSON в браузере: import или fetch — руководство по выбору Спойлер: import из JSON — это не…
  5. Apr 6, 2026Проксирование fetch() в серверном JavaScript Стандарт Fetch не специфицирует проксирование…
  6. Apr 2, 2026Taskfile: Когда пора отказаться от Makefile (а когда — нет) Makefile — инструмент с почти…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →