🤖 Что это
n8n Pull Request Creator — это инструмент (skill) для автоматического создания Pull Request'ов в GitHub с заголовками, которые проходят CI-валидацию check-pr-title в репозитории n8n. Он избавляет разработчика от ручного форматирования заголовка PR и следования конвенциям проекта. Skill анализирует текущие изменения в Git, определяет тип, область (scope) и краткое описание, а затем создаёт черновик PR через gh CLI.
⚙️ Как работает
🔍 Анализ изменений
Skill сначала проверяет состояние репозитория командами:
git status
git diff --stat
git log origin/master..HEAD --oneline
На основе диффа он определяет три компонента для заголовка PR:
- Тип (type):
feat, fix, perf, test, docs, refactor, build, ci, chore — в зависимости от характера изменений (например, новая функция, исправление ошибки, оптимизация производительности).
- Область (scope): необязательная часть в скобках, указывающая на затронутую часть проекта:
editor, core, API, benchmark или конкретный узел (Slack Node, GitHub Node).
- Сводка (summary): краткое описание в повелительном наклонении, с заглавной буквы, без точки в конце.
Пример: feat(editor): Add workflow performance metrics display
📝 Формирование заголовка
Заголовок PR строго соответствует шаблону:
`type`(`scope`): `summary`
Допускаются исключения:
- Breaking changes — восклицательный знак перед двоеточием:
feat(API)!: Remove deprecated v1 endpoints
- Без changelog — суффикс
(no-changelog) в конце: refactor(core): Simplify error handling (no-changelog)
🚀 Создание PR
Skill пушит текущую ветку (если ещё не запушили) и выполняет:
git push -u origin HEAD
gh pr create --draft --title "`type`(`scope`): `summary`" --body "..."
Тело PR берётся из шаблона .github/pull_request_template.md и включает:
- Summary — описание изменений и инструкции по тестированию (рекомендуются скриншоты/видео для UI-изменений).
- Related Links — ссылки на Linear-тикеты, GitHub issues (с ключевыми словами
closes, fixes, resolves) и ссылки на обсуждения в Community.
- Review / Merge checklist — пункты для проверки: соответствие заголовка конвенциям, обновление документации, наличие тестов, метка
release/backport для срочных исправлений.
✅ Валидация
Заголовок PR должен соответствовать регулярному выражению:
^(feat|fix|perf|test|docs|refactor|build|ci|chore|revert)(\([a-zA-Z0-9 ]+( Node)?\))?!?: [A-Z].+[^.]$
Ключевые правила:
- Тип — из разрешённого списка.
- Scope — в круглых скобках, если указан.
- Для breaking changes —
! перед двоеточием.
- Сводка начинается с заглавной буквы и не заканчивается точкой.
🎯 Когда использовать
- При создании нового Pull Request в репозиторий n8n.
- Когда нужно оформить PR по стандартам проекта (например, для прохождения CI-проверки заголовка).
- При команде пользователя
/pr или запросе «создай пулл-реквест».
- Для черновиков PR с автоматически заполненным телом из шаблона.
💡 Важно знать
- Skill требует установленного
gh CLI и авторизации в GitHub.
- Тип
revert также разрешён в шаблоне валидации (но в таблице типов не указан, хотя regex включает).
- Не используйте ID тикета (например,
N8N-1234) в заголовке — это нарушает правила.
- Для изменений, которые не должны попасть в changelog (например, рефакторинг без видимых изменений), обязательно добавляйте
(no-changelog).
- Тело PR должно содержать заполненные секции: Summary (с описанием и способом тестирования), ссылки на связанные тикеты и отмеченный checklist перед мержем.
Комментарии
Комментариев пока нет. Будьте первым.