Skip to content

Seu primeiro PR

Um exercício prático do fluxo completo. Siga cada passo — é exatamente como todo PR do projeto funciona.

📹 Vídeo: Primeiro PR ao vivo

Em breve — será gravado na sua primeira semana.


O exercício

Você vai corrigir um typo ou adicionar um link útil em alguma página desta própria documentação. Parece simples — mas o processo é o mesmo para qualquer mudança no projeto.


Passo 1 — Abrir a Issue

Toda mudança começa com uma Issue, sem exceção.

bash
gh issue create \
  --repo FlorencaDigital/monetizando-governanca \
  --title "docs: corrigir typo em onboarding/primeiro-pr" \
  --label "documentation" \
  --body "Descreva aqui o que está errado e o que deveria estar."

Anote o número da Issue. Vamos chamá-lo de #N.


Passo 2 — Criar a branch

bash
cd ~/monetizando-workspace/monetizando-governanca

# Sempre parte de main (para governança) ou staging (para repos de aplicação)
git checkout main && git pull
git checkout -b feature/N-descricao-curta

Passo 3 — Fazer a mudança

Edite o arquivo relevante. Pode ser um typo, um link, uma melhoria no texto.

bash
# Depois de editar:
git diff  # revise o que mudou

Passo 4 — Rodar os testes (se houver)

bash
# Para repos de aplicação:
npm test

# Para governança (documentação pura):
# Verificar se o site builda sem erros
npm run docs:build

Gate 4: testes precisam passar antes do commit. Zero mocks de módulos internos.


Passo 5 — Commit

bash
git add <arquivos específicos>  # nunca git add -A cegamente

git commit -m "docs: corrigir typo em primeiro-pr.md

Closes #N"

Passo 6 — Push e PR

bash
git push -u origin feature/N-descricao-curta

gh pr create \
  --title "docs: corrigir typo em primeiro-pr" \
  --base main \
  --body "## Summary

Closes #N

- Corrigido typo em onboarding/primeiro-pr.md

## Test plan
- [x] Build do site sem erros
- [x] Conteúdo revisado"

Gate 5: antes do gh pr create, rode git diff --stat e confirme que só os arquivos previstos foram alterados.


Passo 7 — Aguardar CI e mergear

O CI vai rodar automaticamente:

  • Checklist Enforcer — todos os - [ ] precisam estar - [x]
  • PR Body Quality — descrição mínima de 30 chars
  • Test File Enforcer — PRs que alteram src/ precisam incluir teste
bash
# Acompanhar os checks:
gh pr checks <número-do-pr>

# Quando tudo verde, mergear:
gh pr merge <número-do-pr> --merge

Ao mergear, a Issue #N é fechada automaticamente pelo Closes #N no body.


Resumo do fluxo

mermaid
flowchart LR
    A[gh issue create] --> B[git checkout -b]
    B --> C[editar arquivos]
    C --> D[npm test]
    D --> E[git commit\nCloses #N]
    E --> F[git push]
    F --> G[gh pr create]
    G --> H[CI verde ✅]
    H --> I[gh pr merge]
    I --> J[Issue fechada ✅]

Dica

Se um check falhar, leia o erro no link do GitHub Actions. Na maioria das vezes é:

  1. - [ ] não marcado no PR body → edite o body e faça um commit vazio para re-triggar
  2. Teste faltando → crie o teste e faça um novo commit
  3. Arquivo fora do escopo → reverta com git checkout -- <arquivo>

Monetizando Invest