Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
commit
pepperfm/ai-guidelines
claude-code
git
commit-message
atomic-commits
git-diff
pre-commit-checks
sail
code-review

Гигиена git commit: подготовка, разбиение на атомарные изменения, проверка diff/тестов и написание понятного commit message (опционально Conventional Commits).

Install
php artisan boost:add-skill pepperfm/ai-guidelines

Save this content to: .claude/skills/commit/SKILL.md

# Skill: Commit (Git Commit)

**Версия:** 2026‑02‑02

Эта skill помогает сделать **аккуратный коммит**: небольшим, понятным, воспроизводимым и удобным для ревью.

## Когда использовать

- Перед `git commit` (или когда нужно помочь с сообщением коммита).
- Когда изменения получились слишком большими и их нужно разложить на несколько атомарных коммитов.
- Когда нужно оформить commit message в едином стиле.

## Цели коммита

- **Atomic:** один коммит — одна логическая цель.
- **Readable:** из сообщения понятно, что и зачем.
- **Safe:** по возможности — с тестами/миграциями, без мусора.

## Процесс (рекомендованный)

### 1) Проверить рабочее дерево (MUST)

Если есть доступ к git:
- `git status` — понять, что изменено.
- `git diff` — посмотреть незастейдженные правки.
- `git diff --staged` — посмотреть то, что уже готово в коммит.

Если доступа нет — попросить:
- список файлов,
- diff (или хотя бы ключевые куски),
- краткую цель изменений.

### 2) Разделить изменения (SHOULD)

Если в одном diff смешаны разные вещи:
- **выдели** независимые части (например: «fix», «refactor», «tests», «docs»);
- предложи **несколько коммитов**.

Подсказки:
- форматирование/линт — отдельным коммитом,
- рефакторинг без изменения поведения — отдельным коммитом,
- миграции — вместе с кодом, который их использует.

### 3) Мини‑проверки перед коммитом (SHOULD)

- Убедиться, что нет отладочного мусора (`dd()`, `dump()`, временных логов).
- Если затронут Laravel код:
  - предложить прогнать тесты.
  - если проект на Sail — через `./vendor/bin/sail artisan test`.

> Нельзя утверждать «тесты прошли», если у тебя нет вывода запуска.

### 4) Сформировать commit message (MUST)

Требования:
- **Первая строка** (subject) — до ~72 символов, повелительное наклонение ("Fix", "Add", "Refactor").
- **Без точки** в конце subject.
- При необходимости — **тело**: что изменилось, почему, что важно проверить.

#### Если используете Conventional Commits (опционально)

Шаблон:

- `feat: ...` — новая функциональность
- `fix: ...` — исправление
- `refactor: ...` — рефакторинг без изменения поведения
- `test: ...` — тесты
- `docs: ...` — документация
- `chore: ...` — обслуживание/инфраструктура

Пример:
- `fix: prevent N+1 in orders list`
- `feat: add email verification reminder`

### 5) Команда коммита (если нужно подсказать)

- Сначала stage нужных файлов:
  - `git add <files>` или интерактивно `git add -p`.
- Потом коммит:
  - `git commit -m "..."` (или через редактор для тела).

## Формат ответа

Когда просишь «сделай коммит/подбери сообщение», возвращай:

1. **Рекомендованный message**
2. 2–3 альтернативы (короче/длиннее/с другим типом)
3. (Опционально) **Что проверить** перед пушем (тесты/миграции)
4. (Опционально) команды `git add ...` / `git commit ...`

Skill: Commit (Git Commit)

Версия: 2026‑02‑02

Эта skill помогает сделать аккуратный коммит: небольшим, понятным, воспроизводимым и удобным для ревью.

Когда использовать

  • Перед git commit (или когда нужно помочь с сообщением коммита).
  • Когда изменения получились слишком большими и их нужно разложить на несколько атомарных коммитов.
  • Когда нужно оформить commit message в едином стиле.

Цели коммита

  • Atomic: один коммит — одна логическая цель.
  • Readable: из сообщения понятно, что и зачем.
  • Safe: по возможности — с тестами/миграциями, без мусора.

Процесс (рекомендованный)

1) Проверить рабочее дерево (MUST)

Если есть доступ к git:

  • git status — понять, что изменено.
  • git diff — посмотреть незастейдженные правки.
  • git diff --staged — посмотреть то, что уже готово в коммит.

Если доступа нет — попросить:

  • список файлов,
  • diff (или хотя бы ключевые куски),
  • краткую цель изменений.

2) Разделить изменения (SHOULD)

Если в одном diff смешаны разные вещи:

  • выдели независимые части (например: «fix», «refactor», «tests», «docs»);
  • предложи несколько коммитов.

Подсказки:

  • форматирование/линт — отдельным коммитом,
  • рефакторинг без изменения поведения — отдельным коммитом,
  • миграции — вместе с кодом, который их использует.

3) Мини‑проверки перед коммитом (SHOULD)

  • Убедиться, что нет отладочного мусора (dd(), dump(), временных логов).
  • Если затронут Laravel код:
    • предложить прогнать тесты.
    • если проект на Sail — через ./vendor/bin/sail artisan test.

Нельзя утверждать «тесты прошли», если у тебя нет вывода запуска.

4) Сформировать commit message (MUST)

Требования:

  • Первая строка (subject) — до ~72 символов, повелительное наклонение ("Fix", "Add", "Refactor").
  • Без точки в конце subject.
  • При необходимости — тело: что изменилось, почему, что важно проверить.

Если используете Conventional Commits (опционально)

Шаблон:

  • feat: ... — новая функциональность
  • fix: ... — исправление
  • refactor: ... — рефакторинг без изменения поведения
  • test: ... — тесты
  • docs: ... — документация
  • chore: ... — обслуживание/инфраструктура

Пример:

  • fix: prevent N+1 in orders list
  • feat: add email verification reminder

5) Команда коммита (если нужно подсказать)

  • Сначала stage нужных файлов:
    • git add <files> или интерактивно git add -p.
  • Потом коммит:
    • git commit -m "..." (или через редактор для тела).

Формат ответа

Когда просишь «сделай коммит/подбери сообщение», возвращай:

  1. Рекомендованный message
  2. 2–3 альтернативы (короче/длиннее/с другим типом)
  3. (Опционально) Что проверить перед пушем (тесты/миграции)
  4. (Опционально) команды git add ... / git commit ...
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource