Primeiros passos
Como começar a contribuir com o Wails v3
Boas-vindas, colaborador!
Agradecemos seu interesse em contribuir com o Wails! Este guia ajudará você a fazer sua primeira contribuição.
Pré-requisitos
Antes de começar, verifique se você tem:
- Go 1.25+ instalado (baixar)
- Node.js 20+ e npm (baixar)
- Git configurado com sua conta do GitHub
- Conhecimentos básicos de Go e JavaScript/TypeScript
Requisitos específicos da plataforma
macOS:
- Ferramentas de Linha de Comando do Xcode:
xcode-select --install
Windows:
- Recomenda-se o MSYS2 ou um ambiente semelhante ao Unix
- Runtime do WebView2 (geralmente pré-instalado no Windows 11)
Linux:
gcc,pkg-config,libgtk-4-dev,libwebkitgtk-6.0-dev(pilha GTK4 padrão)- Instale usando:
sudo apt install build-essential pkg-config libgtk-4-dev libwebkitgtk-6.0-dev(Debian/Ubuntu) - Para o fluxo de compilação legado
-tags gtk3, instale tambémlibgtk-3-develibwebkit2gtk-4.1-dev
Visão geral do processo de contribuição
O fluxo de trabalho típico de contribuição segue estas etapas:
- Crie um fork e clone — Crie sua própria cópia do repositório do Wails
- Configure o ambiente — Compile a CLI do Wails e verifique seu ambiente
- Crie uma branch — Crie uma branch de funcionalidade para suas alterações
- Desenvolva — Faça suas alterações seguindo nossos padrões de código
- Teste — Execute os testes para garantir que tudo funcione
- Faça o commit — Faça o commit usando mensagens claras e convencionais
- Envie — Abra uma pull request para revisão
- Aprimore — Responda ao feedback e faça os ajustes necessários
- Faça o merge — Após a aprovação, suas alterações passam a fazer parte do Wails!
Guia passo a passo
Escolha o tipo de contribuição:
Encontre ou reporte o bug
- Verifique se o bug já foi reportado nas issues do GitHub
- Caso contrário, crie uma nova issue com as etapas para reproduzi-lo
- Aguarde a confirmação antes de começar o trabalho
Crie um fork e clone
Crie um fork do repositório em github.com/wailsapp/wails/fork
Clone seu fork:
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
Compile e verifique
Compile o Wails e verifique se você consegue reproduzir o bug:
cd v3
go build -o ../wails3 ./cmd/wails3
# Reproduce the bug to understand it
Crie uma branch para a correção do bug
Crie uma branch para sua correção:
git checkout -b fix/issue-123-window-crash
Corrija o bug
- Faça apenas as alterações mínimas necessárias para corrigir o bug
- Não refatore código não relacionado
- Adicione ou atualize testes para evitar regressões
# Make your changes
# Add tests in *_test.go files
Teste sua correção
Execute os testes para garantir que a correção funcione:
go test ./...
# Test the specific package
go test ./pkg/application -v
# Run with race detector
go test ./... -race
Faça o commit da correção
Faça o commit com uma mensagem clara:
git commit -m "fix: prevent window crash when closing during initialization
Fixes #123"
Envie uma pull request
Faça o push e crie a PR:
git push origin fix/issue-123-window-crash
Na descrição da PR:
- Explique o bug e sua causa raiz
- Descreva sua correção
- Faça referência à issue: “Fixes #123”
- Inclua o comportamento antes e depois da correção
Responda ao feedback
Resolva os comentários da revisão e atualize sua PR conforme necessário.
Escreva uma WEP
- Leia o processo de WEP (Proposta de Aprimoramento do Wails)
- Copie o modelo de WEP para
v3/wep/proposals/<name>/proposal.md - Abra uma PR de rascunho intitulada
[WEP] <title>contendo apenas a WEP - Aguarde a decisão de um mantenedor antes de implementar
Crie um fork e clone
Crie um fork do repositório em github.com/wailsapp/wails/fork
Clone seu fork:
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
git remote add upstream https://github.com/wailsapp/wails.git
Configurar o ambiente de desenvolvimento
Compile o Wails e verifique seu ambiente:
cd v3
go build -o ../wails3 ./cmd/wails3
# Run tests to ensure everything works
go test ./...
Criar uma branch de recurso
Crie uma branch com um nome descritivo:
git checkout -b feat/window-transparency-support
Implementar o recurso
- Siga nossos Padrões de Código
- Mantenha as alterações concentradas no recurso
- Escreva código limpo e documentado
- Adicione testes abrangentes
# Example: Adding a new window method
# 1. Add to window.go interface
# 2. Implement in platform files (darwin, windows, linux)
# 3. Add tests
# 4. Update documentation
Testar minuciosamente
Teste seu recurso:
# Unit tests
go test ./pkg/application -v
# Integration test - create a test app
cd ..
./wails3 init -n feature-test
cd feature-test
# Add code using your new feature
../wails3 dev
Documentar seu recurso
- Adicione strings de documentação a todas as APIs públicas
- Atualize a documentação relevante em
/docs/mpress/content/ - Adicione exemplos, se aplicável
Fazer commits conforme a convenção
Use commits convencionais:
git commit -m "feat: add window transparency support
- Add SetTransparent() method to Window API
- Implement for macOS, Windows, and Linux
- Add tests and documentation
Closes #456"
Enviar um pull request
Envie as alterações e crie um PR:
git push origin feat/window-transparency-support
Em seu PR:
- Descreva o recurso e os casos de uso
- Apresente exemplos ou capturas de tela
- Liste todas as alterações incompatíveis
- Faça referência ao PR de WEP aceito
Aprimorar com base na revisão
Os mantenedores podem solicitar alterações. Tenha paciência e colabore.
PRs de correção são bem-vindos sem que seja necessário abrir uma issue primeiro. Correções somente na documentação não precisam de um teste de código que falhe. Siga Corrigir a documentação para ver as etapas de instalação do M-Press, caminhos do código-fonte, visualização, validação e PR.
Encontrar issues para contribuir
- Procure labels
good first issue - Consulte as issues
help wanted - Explore as issues abertas e peça para ser designado
Obter ajuda
- Discord: Entre no Discord do Wails
- Discussões: Publique nas Discussões do GitHub
- Issues: Abra uma issue para relatar um bug reproduzível; use as Discussões para perguntas e um PR de WEP para melhorias
Código de Conduta
Seja respeitoso, construtivo e acolhedor. Estamos construindo uma comunidade amigável, dedicada a criar excelentes softwares em conjunto.
Próximas etapas
- Configure seu Ambiente de Desenvolvimento
- Consulte nossos Padrões de Código
- Explore a Documentação Técnica