~/VibeHandbook
PDF grátis

Capítulo 15 · 07

Fundamentos de CI: torne as verificações automáticas

(Continuous Integration — Integração Contínua) é um robô que roda suas verificações toda vez que você envia código, para que você não possa esquecer de rodá-las. A maioria das plataformas resume isso a um único arquivo. Aqui está um exemplo mínimo do 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

Agora todo push é submetido a lint, verificação de tipos e testes automaticamente. Se algo falhar, você vê uma marca vermelha antes que o código possa ser mesclado. Você pode até pedir para a IA escrever esse arquivo para a sua stack — "Add a GitHub Actions workflow that runs our lint, type check, and tests on every ."

Com a proteção de ativada, uma verificação vermelha não apenas te avisa — ela trava fisicamente o botão de merge até que a build volte a ficar verde:

   pull request
        │
        ▼
   ┌──────────────┐      all pass        ┌───────────────┐
   │ CI runs      │ ───── ✓ green ─────▶ │ MERGE allowed │ ──▶ main
   │ lint · types │                      └───────────────┘
   │ · tests      │      any fail
   └──────────────┘ ───── ✗ red ──────▶  ┌───────────────┐
                                          │ MERGE blocked │  🔒
                                          └───────────────┘
                                          fix, push, re-run

O ponto do CI não é a automação por si só — é que ela tira as verificações da sua memória e as coloca no pipeline, onde não podem ser puladas em uma noite cansada. Duas melhorias valem a pena assim que o básico estiver rodando verde. Primeiro, transforme as verificações em um status obrigatório na sua branch principal (uma "regra de proteção de branch" no GitHub), para que uma build vermelha literalmente bloqueie o botão de merge em vez de apenas mostrar um aviso que você pode ignorar. Segundo, quando o CI falhar, cole o log da falha direto para a IA: "CI failed on this run, here's the output — diagnose and fix it." O log é um relatório de bug preciso, gerado por máquina, que é exatamente o tipo de entrada em que a IA é melhor para agir.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.