Гайд участника · v1

От нуля
до коммита.

Команды смешанного уровня, Mac и Windows, часть людей с Git, часть без. К концу гайда — каждый умеет пушить, мержить и работать с Claude Code в Cursor.

СтекGitHub · Cursor · Claude Code
Время сетапа~30–40 минут
ОСmacOS · Windows

§ 00TL;DR — что должно быть в конце

  • Аккаунт на GitHub + Git настроен локально (имя, email, SSH-ключ)
  • Установлен Cursor
  • Установлено расширение Claude Code внутри Cursor и залогинены
  • Команда работает в одном репозитории на GitHub
  • Каждый участник клонировал репо, умеет делать pull / commit / push
  • Договорились о ветках: main защищена, каждый работает в своей feature-ветке, мерж через Pull Request
  • Проект задеплоен на Vercel (или Railway) — есть публичный URL для демо

Все галочки стоят — можно кодить.

§ 01Что куда устанавливается

ИнструментЗачемГде скачать
GitЛокальная утилита для версионирования. Без неё ничего не работает.Mac: уже есть. Windows: git-scm.com
GitHub аккаунтОблако, где живёт код командыgithub.com/signup
CursorIDE с AI-ассистентом, форк VS Codecursor.com
Claude CodeАгент Anthropic в Cursor — план → диф → ревьюИз Cursor → Extensions
★ Ключевой момент

Cursor и Claude Code — это две разные AI-системы в одном окне. Cursor: быстрые правки и автокомплит. Claude Code: длинные задачи, где нужен план перед изменением файлов. Используйте обе.

§ 02GitHub + Git — база

1.1 Создать аккаунт GitHub

  1. Открой github.com/signup
  2. Используй рабочую/постоянную почту — потом к ней привязываются коммиты
  3. Выбери бесплатный план

1.2 Установить Git

Terminal — Cmd+Space → «Terminal»
git --version
# Если выдаст версию — Git уже стоит.
# Если попросит установить — соглашайся.
# Альтернатива через Homebrew:
brew install git
  1. Скачай: git-scm.com/download/win
  2. Запусти инсталлер, везде Next (дефолты ок)
  3. После установки открой Git Bash (появится в меню «Пуск»)

1.3 Настроить Git (один раз на машине)

В терминале (Mac: Terminal, Windows: Git Bash):

shell
git config --global user.name "Ivan Petrov"
git config --global user.email "ivan@example.com"   # та же почта, что в GitHub
git config --global init.defaultBranch main

1.4 SSH-ключ и привязка к GitHub

Чтобы не вводить пароль при каждом push.

shell · в обеих ОС
ssh-keygen -t ed25519 -C "ivan@example.com"
# Нажимай Enter на все вопросы (без пароля для скорости)

Скопировать публичный ключ:

shell
pbcopy < ~/.ssh/id_ed25519.pub
shell
cat ~/.ssh/id_ed25519.pub | clip
1
GitHub → правый верх (твоя аватарка) → Settings
2
SSH and GPG keysNew SSH key
3
Title: Laptop, вставь ключ → Add SSH key

Проверка:

shell
ssh -T git@github.com
# Должно вывести: "Hi <твой логин>! You've successfully authenticated..."

§ 03Установка Cursor

  1. Открой cursor.comDownload
  2. Установи как обычное приложение
  3. При первом запуске: импортируй настройки VS Code, если предложит (если работал в VS Code) — иначе skip
  4. Залогинься (можно через GitHub аккаунт)
→ macOS

При первом запуске согласись установить команду cursor в PATH — пригодится позже. Если пропустил: Cmd+Shift+P → «Shell Command: Install 'cursor' command».

§ 04Claude Code внутри Cursor

3.1 Установка расширения

1
Открой Cursor
2
Cmd+Shift+X (Mac) / Ctrl+Shift+X (Windows) — откроется панель Extensions
3
В поиске: Claude Code
4
Расширение от Anthropic (verified) → Install

После установки слева в сайдбаре появится иконка Claude.

3.2 Логин в Claude Code

  1. Кликни на иконку Claude в сайдбаре
  2. Расширение проведёт через авторизацию — нужен аккаунт Anthropic
    • Если у команды есть Claude Pro / Max — логинься этим аккаунтом
    • Если нет — потребуется API-ключ или подписка
  3. После логина увидишь чат-панель

3.3 Как работают два AI в одном окне

Что нужноИспользуй
Автодополнение по Tab, быстро дописать строкуCursor (встроенный)
Cmd+K — точечная правка выделенного кускаCursor
Долгая задача «сделай фичу», агент сам ходит по файламClaude Code
Нужен план перед тем как трогать кодClaude Code (plan mode)
Запустить тесты, посмотреть что упало, починитьClaude Code
→ Совет

В Claude Code используйте Plan mode для рискованных изменений — сначала покажет план, потом по аппруву начнёт менять файлы. Checkpoints позволяют откатиться к любому состоянию.

3.4 Если расширение не цепляется к Cursor (Mac)

Известная проблема. Воркэраунд:

shell
cursor --install-extension ~/.claude/local/node_modules/@anthropic-ai/claude-code/vendor/claude-code.vsix

Если /doctor в Claude Code говорит про global installation — выполни /migrate-installer.

§ 05Локальный проект — два сценария

Сценарий А: проект с нуля

Делает капитан команды (один человек).

  1. На GitHub: правый верх +New repository
  2. Repository name: team-name-hackathon
  3. Visibility: Private
  4. Галочка Add a README file
  5. Create repository

Клонировать к себе:

shell
# В папке где хочешь хранить проекты (например ~/projects)
cd ~/projects
git clone git@github.com:<твой-логин>/team-name-hackathon.git
cd team-name-hackathon

Открыть в Cursor:

shell
cursor .

Или: Cursor → File → Open Folder → выбрать папку.

Сценарий Б: уже есть локальный код

shell
cd /путь/к/твоему/проекту
git init
git add .
git commit -m "initial commit"

На GitHub создай пустой репо (БЕЗ README — чтобы не было конфликта), потом:

shell
git remote add origin git@github.com:<логин>/<репо>.git
git branch -M main
git push -u origin main

§ 06Командная работа — самое важное

Эта часть — где обычно ломаются хакатоны. Прочитайте все.

5.1 Базовая модель: один репо, разные ветки

main (защищённая, рабочий код) ├── feature/login Аня ├── feature/payments Петя └── feature/ui-cleanup Маша
★ Правило №1

Никто не пушит напрямую в main. Все фичи — через Pull Request.

5.2 Капитан добавляет команду

GitHub → ваш репо → SettingsCollaboratorsAdd people → введи логины членов команды. Они получат приглашение на почту, должны принять.

5.3 Каждый клонирует репо

shell
cd ~/projects
git clone git@github.com:<капитан>/team-name-hackathon.git
cd team-name-hackathon
cursor .

5.4 Рабочий цикл — заучить наизусть

Каждый раз перед началом работы

shell
git checkout main           # переключиться на main
git pull origin main        # подтянуть последние изменения
git checkout -b feature/моя-фича   # создать свою ветку

В процессе работы (часто, маленькими порциями)

shell
git add .
git commit -m "добавил форму логина"
git push origin feature/моя-фича

Когда фича готова

1
На GitHub → твоя ветка → Compare & pull request
2
Заголовок, краткое описание
3
Create pull request
4
Попроси товарища глянуть → он жмёт Merge pull request
5
Удалить ветку после мержа (кнопка появится)

После того как чужой PR замержили в main

shell
git checkout main
git pull origin main        # подтянуть мерж к себе

5.5 Конфликты — что делать когда красное

Ты и коллега изменили один и тот же файл. GitHub ругается.

shell
git checkout feature/моя-фича
git pull origin main          # подтянуть свежий main в свою ветку
# Если есть конфликты — Cursor покажет метки в файлах:
# <<<<<<< HEAD
# твой код
# =======
# код из main
# >>>>>>> main

В Cursor можешь нажать Accept Current / Accept Incoming / Accept Both прямо в файле, или попроси Claude Code разрулить:

→ Промпт для Claude Code

«В этом файле git-конфликт. Разреши его, сохранив обе функциональности.»

После разрешения:

shell
git add .
git commit -m "merge main into feature/моя-фича"
git push

5.6 Минимум договорённостей на старте

Сядьте на 5 минут и договоритесь:

  1. Кто капитан репозитория (создаёт, мержит PR)
  2. Формат коммита — самое простое: git commit -m "что сделано", главное единообразно
  3. Имена ветокfeature/что-делаю, fix/что-чиню
  4. Защита main — Settings → Branches → Add rule → main → ✅ Require a pull request before merging. Спасает от случайного push в main.
  5. Куда складывать секреты — никогда в код. В .env + в .gitignore. Случайно запушил — токен сразу ротировать.

5.7 .gitignore — поставь сразу

В корне репо создай файл .gitignore:

.gitignore
node_modules/
.env
.env.local
.DS_Store
*.log
dist/
build/
.venv/
__pycache__/
.cursor/
.claude/

Закоммить:

shell
git add .gitignore
git commit -m "add .gitignore"
git push

§ 07Шпаргалка по Git

КомандаЧто делает
git statusЧто изменено, в какой ветке нахожусь
git pullПодтянуть с GitHub в текущую ветку
git pushОтправить свои коммиты на GitHub
git checkout mainПереключиться на main
git checkout -b feature/xСоздать новую ветку и переключиться
git add .Добавить все изменения в коммит
git commit -m "msg"Сохранить изменения локально
git log --oneline -10Последние 10 коммитов
git diffЧто именно я поменял с прошлого коммита
git stashОтложить изменения «в карман» (не коммитя)
git stash popДостать обратно
→ Лайфхак

Если потерялся — git status почти всегда подскажет, что делать дальше.

§ 08Типовые косяки на хакатоне

СимптомЧто делать
Permission denied (publickey) при pushSSH-ключ не привязан к GitHub. Вернись к 1.4
Запушил .env с ключамиСразу ротируй ключи. Из истории: git rm --cached .env + добавь в .gitignore
Your branch is behind origin/maingit pull origin main
Случайно закоммитил не в ту веткуgit reset HEAD~1 (откатит последний коммит, изменения останутся) → переключись → закоммить заново
Claude Code не видит файлыОткрой папку проекта через File → Open Folder, а не отдельный файл
Два человека в одной ветке мешают друг другуПо ветке на человека. Всегда.
node_modules попал в репоgit rm -r --cached node_modules + добавь в .gitignore

§ 09Рабочий поток с Claude Code

Не используй Claude Code как автокомплит — для этого Cursor. Claude Code — для законченных задач.

Хорошие промпты

  • «Сделай страницу логина с формой email/password, валидацией и обработкой ошибок. Используй существующий стиль из src/components/
  • «Запусти тесты, посмотри что упало, почини.»
  • «Прочитай README и предложи план MVP на 4 часа.»
→ Перед сложной задачей

Включи Plan mode → дождись плана → проверь → апрувни. Это спасёт от того, что агент перепишет половину проекта не туда.

! После работы агента

Сделай git diff и посмотри что Claude Code реально изменил перед коммитом. Не коммить вслепую.

§ 10Деплой — показать рабочий проект на домене

Дефолтный выбор для хакатона — Vercel. От пуша до публичного URL вида your-app.vercel.app проходит ~5 минут. Альтернативы — ниже.

9.1 Когда что выбирать

ПлатформаКогда братьТип проекта
VercelДефолт. GitHub-интеграция в 2 клика, превью на каждый PRNext.js, React, Vue, статика, JS-fullstack
NetlifyАльтернатива Vercel, тот же классТо же, что Vercel
Cloudflare PagesЕсли важна максимальная скорость edgeСтатика + Cloudflare Workers
RailwayЕсли backend на Python/Go/Ruby или нужна БДЛюбой язык, Postgres / Redis в один клик
RenderАльтернатива Railway, больше бесплатных часовDocker, long-running процессы
GitHub PagesЧистая статика без сборкиHTML/CSS/JS без бэка
★ Рекомендация

Frontend / Next.js / React / Vue / статика → Vercel. Берите его по умолчанию. Backend на Python/Go/Node-сервере или нужна БД → Railway вторым вариантом.

9.2 Деплой на Vercel — 5 минут от пуша до домена

1
Открой vercel.com/signupContinue with GitHub. Авторизуй Vercel.
2
На дашборде → Add NewProject
3
Найди ваш репо в списке → Import. Если репо не виден — справа Adjust GitHub App Permissions и дай Vercel доступ.
4
Vercel автодетектит фреймворк (Next.js / Vite / Create React App / static). Обычно ничего менять не надо.
5
Если есть переменные окружения (API-ключи) — Environment Variables → добавь по одной. Никогда не пушь их в репо.
6
Deploy. Через 1–3 минуты получишь URL your-project.vercel.app

9.3 Что важно после первого деплоя

Автодеплой работает сам

Каждый git push в main → новый продакшен-деплой. Каждый PR → отдельный preview-URL вида your-project-git-feature-x.vercel.app. Это магия — используйте, чтобы показывать работающую фичу до мержа.

Кастомное имя проекта

Project Settings → General → Project Name. URL станет chosen-name.vercel.app. Действует имя в течение пары минут.

Переменные окружения и секреты

Project Settings → Environment Variables. Добавь все ключи (OpenAI API, Anthropic API, Supabase и т.п.) с областью Production / Preview / Development. После добавления передеплой — Deployments → последний деплой → ...Redeploy.

! Самая частая ошибка

Build падает с «Module not found» или «env variable undefined». Проверьте: (1) все зависимости в package.json, не глобально установленные; (2) все ENV-переменные прописаны в Vercel; (3) если используете Next.js — клиентские переменные начинаются с NEXT_PUBLIC_.

9.4 Командная работа на Vercel

По умолчанию проект привязан к личному аккаунту того, кто его создал. Чтобы у всей команды был доступ к логам и настройкам:

  1. Создайте Vercel Team — справа сверху → Create Team. Hobby-тариф для команды бесплатный.
  2. Перенесите проект в команду: Project Settings → AdvancedTransfer Project
  3. Пригласите участников: Team Settings → MembersInvite

9.5 Деплой backend / нестандартного стека на Railway

Если у вас Python (FastAPI, Flask, Django), Go, Ruby или нужна Postgres:

1
railway.appLogin with GitHub
2
New ProjectDeploy from GitHub repo → выбери ваш репо
3
Railway автодетектит язык по файлам (requirements.txt, go.mod, package.json и т.п.)
4
Нужна БД → + New в проекте → Database → Postgres. Connection string пробросится в ENV автоматически.
5
Settings → NetworkingGenerate Domain → получишь URL your-app.up.railway.app
→ Типичная архитектура на хакатоне

Frontend (Next.js / React) на Vercel + Backend (Python / Node API) на Railway + БД (Postgres) на Railway. Frontend ходит в API по полному URL Railway.

9.6 Чеклист перед демо

  • Открой публичный URL в режиме инкогнито — должно работать
  • Все ENV-переменные на проде установлены
  • Проверь главный user-flow от начала до конца
  • URL запиши в README репозитория — судьи найдут
  • На всякий случай — скриншоты ключевых экранов, если упадёт прод во время демо

§ 11Финальный чеклист

Перед стартом хакатона убедитесь:

  • Все в команде могут запушить тестовый коммит в репо
  • У всех работает Claude Code (открыли, спросили «привет», получили ответ)
  • main защищена, договорились о ветках
  • .gitignore на месте
  • Секретов в репо нет
  • Капитан назначен
  • Проект задеплоен, публичный URL открывается у всех в команде
  • Открыт один общий канал связи для координации
Поехали.