# finish

Автоматизирует закрытие веток Git Flow в репозитории: запускает тесты, выполняет слияние и расставляет теги версий.

- команда · `type=command` · Claude Code · 1712 установок
- Автор: davila7
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/git/finish.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/commands/finish

## Что делает

Скрипт определяет тип текущей ветки по её префиксу: `feature/`, `release/` или `hotfix/`. Перед слиянием запускается проверка чистоты рабочего каталога и тестов через команду `npm test`. Если имя ветки не соответствует структуре Git Flow, выполнение сразу прерывается с ошибкой.

Для веток `feature` слияние выполняется только в `develop` с флагом `--no-ff`. Ветки `release` и `hotfix` переносятся сразу в две ветки: сначала в `main`, затем в `develop`. При закрытии релиза скрипт берёт номер версии из названия ветки и читает описание из `CHANGELOG.md`. Для хотфиксов номер тега рассчитывается автоматически через инкремент patch-версии от последнего тега на `origin/main`.

После слияния локальная и удалённая ветки удаляются. Это поведение отключается флагом `--no-delete`, а создание тега — флагом `--no-tag`. Инструменту нужны права на команды git через Bash, а также чтение и редактирование файлов проекта.

## Установка

### Claude Code (родная платформа)

1. **Через claude-code-templates**
```bash
npx claude-code-templates@latest --command git/finish
```

2. **Вручную: положить файлы**
- Файл: `.claude/commands/finish.md` — Вызов — /finish. Для всех проектов — ~/.claude/commands/

### Codex

**Вручную: положить файлы**
- Файл: `~/.codex/prompts/finish.md` — Вызов — /prompts:finish. В Codex этот формат помечен устаревшим, замена — скиллы

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/prompts/finish.prompt.md`

### Gemini CLI

**Вручную: положить файлы**
- Файл: `.gemini/commands/finish.toml` — Gemini хранит команды в TOML: текст запроса — в поле prompt

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/git/finish.md

## Когда брать
- слить feature-ветку в develop без ручного ввода команд
- закрыть релиз с одновременным переносом изменений в main и develop
- выпустить hotfix с автоматическим расчётом номера patch-версии
- проверить прохождение тестов перед слиянием веток

## Примеры запросов агенту
- Заверши текущую доработку и слей ветку в develop: `/finish`
- Закрой текущий релиз, но не создавай тег: `/finish --no-tag`
- Заверши ветку с исправлением без её удаления: `/finish --no-delete`

## Похожие
- [code-review](https://affpapa.org/nevibecode/commands/code-review.md) — команда · 5537 установок
- [commit](https://affpapa.org/nevibecode/commands/commit.md) — команда · 4121 установка
- [review-pr](https://affpapa.org/nevibecode/commands/review-pr.md) — команда · ★ 44635
- [maker-setup](https://affpapa.org/nevibecode/commands/maker-setup.md) — команда · ★ 44635
- [commit-push-pr](https://affpapa.org/nevibecode/commands/commit-push-pr.md) — команда · ★ 44635

Из того же набора: [davila7/claude-code-templates](https://affpapa.org/nevibecode/by/davila7/claude-code-templates.md) — 224 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
