Sua Primeira Contribuição
Neste tutorial, passaremos pelo processo exato de contribuição de código para o repositório tupynambalucas.dev. Criaremos uma branch de funcionalidade (feature branch), faremos uma pequena alteração, executaremos nossas validações automatizadas e criaremos um Pull Request.
Passo 1: Criar uma Branch de Funcionalidade
Sempre começamos nosso trabalho a partir da branch develop. Primeiro, vamos garantir que estamos na develop e atualizados:
git checkout develop
git pull origin develop
Agora, criaremos uma nova branch de funcionalidade para o nosso trabalho:
git checkout -b feature/tutorial-contribution
O Git retornará:
Switched to a new branch 'feature/tutorial-contribution'
Passo 2: Fazer uma Alteração no Código
Para este exercício, adicionaremos um pequeno comentário em um de nossos arquivos de configuração. Abra docs/package.json no seu editor.
No final do arquivo, adicione um campo simples de metadados ou comentário (se compatível) apenas para teste. Como alternativa, abra um arquivo markdown e adicione um caractere de espaço em branco. Para este tutorial, editaremos um arquivo markdown.
Abra docs/README.md e adicione o seguinte texto no final:
<!-- This is a test contribution -->
Save the file.
Passo 3: Gerar um Changeset
Como nosso repositório usa versionamento automatizado, precisamos criar um arquivo de changeset que descreva nossa modificação.
Execute o seguinte comando:
pnpm version:changeset
Você será solicitado a selecionar o pacote que foi alterado. Use as teclas de seta para encontrar @tupynambalucas/docs, pressione Espaço para selecioná-lo e pressione Enter.
Quando for perguntado sobre o tipo de incremento de versão (bump type), escolha patch.
Quando for solicitada uma descrição sumária (summary), digite: test: add tutorial contribution comment.
A ferramenta confirmará a criação de um arquivo markdown temporário no diretório .changeset/.
Passo 4: Commitar as Alterações
Agora, adicionaremos tanto o nosso arquivo modificado quanto o arquivo de changeset recém-gerado à stage e faremos o commit deles.
git add docs/README.md .changeset/
git commit -m "test(docs): add tutorial contribution comment"
Nossos hooks locais do Git interceptarão o commit automaticamente, executando o verificador de tipos seletivo e o linter.
Você deve ver uma saída semelhante a esta:
✔ Preparing lint-staged...
✔ Running tasks for staged files...
✔ Applying modifications...
✔ Cleaning up...
[feature/tutorial-contribution 1a2b3c4] test(docs): add tutorial contribution comment
2 files changed, 8 insertions(+)
Passo 5: Abrir um Pull Request
Com o nosso commit criado de forma segura e validado localmente, enviaremos (push) nossa branch para o GitHub e abriremos um Pull Request.
git push -u origin feature/tutorial-contribution
Em seguida, usando a CLI do GitHub, criaremos o Pull Request direcionado para a branch develop:
gh pr create --base develop --title "test: tutorial contribution" --body "Testing the contribution workflow."
A CLI exibirá a URL do seu novo Pull Request:
https://github.com/tupynambalucas/tupynambalucas.dev/pull/1
Conclusão
Muito bem! Criamos com sucesso uma branch de funcionalidade, fizemos uma alteração, geramos um changeset, passamos pela validação local e abrimos um Pull Request. Agora estamos prontos para lidar com problemas (issues) e funcionalidades reais usando exatamente esse fluxo de trabalho.