быстрый старт

Первое ревью

Путь от пустого .env до первого комментария бота в реальном Merge Request. Каждый шаг проверяемый — если контрольная точка не сходится, смотрите подсказку рядом.

что понадобитсяDocker и Docker Compose · доступ к self-hosted GitLab (права создать токен и вебхук в проекте) · ключ к LLM-провайдеру (например, Anthropic). Всё остальное — внутри образа. Быстрый старт написан по GitLab; если ваш хостинг — GitHub, шаги про токен, переменные GITLAB_* и создание вебхука выполняйте по «Подключению к GitHub» — остальные (образ, запуск, проверка, config.yml) совпадают дословно.
  1. Создайте токен бота в GitLabProject (или Personal) Access Token со scope api — им бот читает дифф и пишет комментарии. Подробно — в разделе «Подключение к GitLab».
  2. Заполните .envСоздайте файл .env по шаблону ниже и задайте минимум: адрес GitLab, токен, секрет вебхука и LLM-ключ.
    .env — минимум для старта
    # GitLab
    GITLAB_BASE_URL=https://gitlab.your-company.com
    GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx
    GITLAB_WEBHOOK_SECRET=pick-a-long-random-string
    
    # Redis (the queue) — already wired up inside docker-compose
    REDIS_HOST=redis
    REDIS_PORT=6379
    
    # The model — your own key (see «Models and your own key»)
    LLM_PROVIDER=anthropic
    ANTHROPIC_API_KEY=sk-ant-...
    важноGITLAB_BASE_URL — без /api/v4 и без хвостового слэша. GITLAB_WEBHOOK_SECRET — минимум 8 символов, его же впишете в вебхук на шаге 5.
  3. Поднимите контурСкачайте готовый клиентский docker-compose.yml и положите рядом с .env. Контейнер бота + Redis (очередь) поднимаются вместе. PostgreSQL (метрики ревью) — опционален и по умолчанию выключен; для старта он не нужен.
    терминал
    curl -O https://reviewgate.dev/docker-compose.yml
    docker compose up -d
  4. Проверьте, что бот жив
    терминал
    curl http://localhost:3000/api/health
    # {"status":"ok","ts":...,"version":"0.1.x"}
    контрольная точкаОтвет {"status":"ok"} — бот поднялся. Если нет — смотрите логи: docker compose logs -f app (чаще всего невалидный .env, бот честно пишет, чего не хватает).
  5. Подключите вебхук в проекте GitLabSettings → Webhooks: URL https://адрес-бота/api/webhooks/gitlab, Secret token = ваш GITLAB_WEBHOOK_SECRET, триггеры Merge request events и Comments (под ответы бота в тредах). Нажмите Test — ожидается ответ 202. Детали и self-hosted-нюансы — здесь.
  6. Откройте тестовый MRСоздайте Merge Request с парой изменений. Через минуту-другую бот оставит сводный комментарий и строчные замечания по диффу — кнопку Merge он при этом не трогает: по умолчанию ReviewGate только комментирует, ничего не блокирует (жёсткий severity gate включается отдельно в конфиге). За процессом удобно следить в логах:
    терминал
    docker compose logs -f app
    готовоПоявился комментарий бота в MR — сквозной путь работает. Дальше настройте правила вашей команды в .reviewgate/config.yml.

Что дальше