| name | deploy |
| description | Full workflow for connecting a local project to GitHub and deploying it to Vercel. Covers git init, remote setup, pushing code, Vercel project creation, environment variables, and custom domains. Use when user wants to publish a Next.js or any web project online. |
| allowedTools | ["Bash","Read","Edit"] |
GitHub + Vercel Deploy
Скилл для дополнительного балла (оценка 5)
Покрывает полный production-цикл: от локального кода до живого сайта с автодеплоем — включая работу с несколькими аккаунтами, токенами и типичными ошибками Vercel.
Полный цикл: локальный проект → GitHub репозиторий → живой сайт на Vercel.
Triggers
- "задеплой проект", "выложи на vercel", "опубликуй сайт"
- "подключи github", "запушь на гитхаб", "создай репозиторий"
- "настрой vercel", "как задеплоить"
/deploy
Шаг 1: Проверить состояние проекта
ls -la | grep .git
ls -la | grep .env
Если .env или .env.local существуют — убедиться что они в .gitignore до любых коммитов.
cat .gitignore | grep env
Если не в игноре — добавить немедленно:
echo ".env.local" >> .gitignore
echo ".env" >> .gitignore
Шаг 2: Инициализация git (если нет)
git init
git add .
git commit -m "Initial commit"
Если git уже есть — проверить статус:
git status
git log --oneline -5
Шаг 3: Создать репозиторий на GitHub
Вариант A — через gh CLI (рекомендуется):
brew install gh
gh auth login
gh repo create название-проекта --public --source=. --remote=origin --push
Вариант B — вручную:
- Открыть github.com → New repository
- Название, Public/Private, без README (проект уже есть локально)
- Скопировать URL репозитория
git remote add origin https://github.com/USERNAME/REPO_NAME.git
git branch -M main
git push -u origin main
Шаг 4: Проверить что всё запушилось
git remote -v
git log --oneline -3
Открыть https://github.com/USERNAME/REPO_NAME — убедиться что файлы на месте.
Шаг 5: Подключить Vercel
Вариант A — через vercel CLI:
npm i -g vercel
vercel
vercel --prod
Вариант B — через сайт (проще для первого раза):
- Открыть vercel.com → Log in with GitHub
- New Project → Import Git Repository → выбрать репозиторий
- Vercel автоматически определит Next.js и настроит build команды
- Нажать Deploy
Шаг 6: Переменные окружения
Если проект использует .env.local — перенести все переменные в Vercel вручную.
Через сайт:
Vercel Dashboard → Project → Settings → Environment Variables → Add
Через CLI:
vercel env add ANTHROPIC_API_KEY
Проверить что переменные подтянулись:
vercel env ls
Важно: после добавления переменных нужен новый деплой:
vercel --prod
Шаг 7: Проверить деплой
vercel ls
Открыть URL из вывода команды. Проверить:
- Главная страница открывается
- API-роуты отвечают
- Нет ошибок в логах: Vercel Dashboard → Project → Deployments → кликнуть на деплой → Functions
Автоматический деплой при пуше
После первичной настройки каждый git push origin main автоматически запускает новый деплой на Vercel. Ничего делать не нужно.
vercel ls
Если нужно пушить от другого аккаунта
git config user.name "ИМЯ"
git config user.email "EMAIL@example.com"
git remote set-url origin https://USERNAME:TOKEN@github.com/USERNAME/REPO.git
Получить токен: GitHub → Settings → Developer settings → Personal access tokens → Generate new token → scope repo.
Обновить переменную окружения на проде
vercel env rm ANTHROPIC_API_KEY production
vercel env add ANTHROPIC_API_KEY production
vercel --prod
После смены ключа в .env.local ждать сообщения Reload env: .env.local в терминале — только тогда новый ключ применён.
Типичные ошибки
Module not found при деплое на Vercel
Библиотека требует Node.js runtime. Решение:
export const runtime = "nodejs";
serverExternalPackages: ["название-библиотеки"]
Permission denied при пуше
Токен не имеет прав на репозиторий. Проверить: scope repo, пользователь добавлен как коллаборатор.
Переменная окружения не подхватывается
После добавления переменной в Vercel нужен новый деплой.
fatal: not a git repository
Команда выполняется не из папки проекта. Сначала cd /путь/к/проекту.