# vercel-environment-sync

Хук проверяет переменные окружения после правки .env и подсказывает, как перенести их в Vercel. Пригодится, если локальные и деплойные значения расходятся.

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

## Что делает

Хук висит на событие PostToolUse и срабатывает, когда Claude записал или отредактировал файл, чьё имя содержит `.env`. Сначала он смотрит на тип окружения: `.env.production` — production, `.env.preview` или `.env.staging` — preview, остальное считается development.

Дальше файл разбирается построчно. Строки вида `VAR=value` проверяются на формат, значения в кавычках отмечаются отдельно, короткие секреты (меньше 16 символов в переменных с SECRET, PRIVATE, KEY или TOKEN) и заглушки вроде `your-`, `change-me` или `replace-` вызывают предупреждение. Если нашлись ошибки, хук возвращает код 2 и блокирует синхронизацию. При чистом файле он печатает число переменных и команды `vercel env pull .env.local` и `vercel env add [name] [environment]`.

Для работы нужен токен: `export VERCEL_TOKEN=your_token`, получить его можно на vercel.com/account/tokens. Без токена хук не падает, а просто сообщает, что синхронизация выключена — это повод проверить, что переменная действительно попала в окружение сессии, а не только в `.env`. На старте сессии второй хук проверяет наличие Vercel CLI, привязанный проект и список `.env`-файлов с количеством переменных в каждом.

## Установка

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

1. **Через claude-code-templates**
```bash
npx claude-code-templates@latest --hook automation/vercel-environment-sync
```

2. **Вручную: положить файлы**
- Файл: `.claude/settings.json` — Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

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

## Когда брать
- поймать короткий или заглушечный секрет в `.env` до коммита
- понять, к какому окружению Vercel относится отредактированный файл
- увидеть, сколько переменных лежит в каждом `.env` при старте сессии
- получить готовые команды для выгрузки и добавления переменных в Vercel
- проверить, что проект привязан к Vercel и CLI установлен

## Примеры запросов агенту
- я поправил .env.production, проверь переменные и скажи, что делать с Vercel
- добавь переменную DATABASE_URL в .env.local и синхронизируй с Vercel
- проверь, не осталось ли в .env заглушек вместо ключей

## Похожие
- [vercel-cli](https://affpapa.org/nevibecode/skills/vercel-vercel-cli.md) — скилл · 6800 установок
- [vercel-sandbox](https://affpapa.org/nevibecode/skills/vercel-sandbox.md) — скилл · 27 установок
- [spark-environment-setup](https://affpapa.org/nevibecode/skills/spark-environment-setup.md) — скилл · 2500 установок
- [dependency-license-checker](https://affpapa.org/nevibecode/hooks/dependency-license-checker.md) — хук · ★ 40418

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

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

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