Основы CI: сделайте проверки автоматическими
CI (Continuous Integration) — это робот, который запускает ваши проверки каждый раз, когда вы пушите код, чтобы вы не могли забыть их запустить. На большинстве платформ это один файл. Вот минимальный пример GitHub Actions:
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- run: npm test
Теперь каждый пуш автоматически проходит линтинг, проверку типов и тестирование. Если что-то падает, вы видите красную отметку ещё до того, как код можно будет смержить. Вы даже можете попросить AI написать этот файл под ваш стек — «Добавь воркфлоу GitHub Actions, который запускает наш линтинг, проверку типов и тесты на каждый pull request».
Смысл CI — не в автоматизации самой по себе, а в том, что она переносит проверки из вашей памяти в конвейер, где их нельзя пропустить уставшей ночью. Когда базовое заработает зелёным, стоит сделать два улучшения один раз. Первое: сделайте проверки обязательным статусом на основной ветке («правило защиты ветки» на GitHub), чтобы красная сборка буквально блокировала кнопку мержа, а не просто показывала предупреждение, которое можно проигнорировать. Второе: когда CI падает, вставьте лог падения прямо AI: «CI упал на этом прогоне, вот вывод — продиагностируй и исправь». Лог — это точный, сгенерированный машиной баг-репорт, а это ровно тот вид входных данных, с которым AI работает лучше всего.