View on GitHub

KGet

A modern, lightweight wget clone written in Rust for fast and reliable file downloads from the command line.

Guia de Contribuição para o KGet

English Português Español

Primeiramente, obrigado por considerar contribuir com o KGet! São pessoas como você que tornam o KGet uma ferramenta incrível.

Código de Conduta

Este projeto e todos os seus participantes são governados pelo nosso Código de Conduta. Ao participar, espera-se que você siga este código. Por favor, reporte comportamentos inaceitáveis para davimf721@gmail.com.

Como Posso Contribuir?

Reportando Bugs

Antes de criar relatórios de bugs, por favor verifique as issues existentes, pois você pode descobrir que não precisa criar uma nova. Quando você estiver criando um relatório de bug, por favor inclua o máximo de detalhes possível:

Sugerindo Melhorias

Se você tem uma sugestão para o projeto, adoraríamos ouvir! Basta seguir estes passos:

Pull Requests

Processo de Desenvolvimento

  1. Faça um fork do repositório
  2. Clone seu fork: git clone https://github.com/seu-usuario/KGet.git
  3. Crie sua branch de feature: git checkout -b feature/minha-nova-feature
  4. Faça suas alterações
  5. Execute os testes: cargo test
  6. Formate seu código: cargo fmt
  7. Verifique com clippy: cargo clippy
  8. Faça commit de suas alterações: git commit -am 'Adiciona alguma feature'
  9. Faça push para a branch: git push origin feature/minha-nova-feature
  10. Envie um pull request

Desenvolvimento com Docker (recomendado para contribuintes)

Fornecemos um Dockerfile e um docker-compose.yml para tornar o desenvolvimento reproduzível entre máquinas. O contêiner inclui a toolchain do Rust e ferramentas comuns para que contribuintes possam compilar, testar e executar exemplos sem instalar dependências localmente.

Fluxo básico

# Construir a imagem de desenvolvimento
docker build -t kget-dev .

# Iniciar um shell interativo mapeado para o repositório (Linux/macOS)
docker run --rm -it -v "$(pwd)":/work -w /work kget-dev bash

# Windows PowerShell
docker run --rm -it -v ${PWD}:/work -w /work kget-dev powershell

Comandos comuns sem entrar no container:

# Build
docker run --rm -v "$(pwd)":/work -w /work kget-dev cargo build

# Rodar testes
docker run --rm -v "$(pwd)":/work -w /work kget-dev cargo test

# Executar o exemplo que demonstra uso como biblioteca
docker run --rm -v "$(pwd)":/work -w /work kget-dev cargo run --example lib_usage

Usando docker-compose:

docker-compose up --build

Observações e dicas

# Construir a imagem com GUI (opcional)
docker build -t kget-gui .

# Executar com encaminhamento X11 (exemplo Linux)
docker run --rm -it \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v "$(pwd)":/work -w /work kget-gui cargo run --features gui -- --gui

Guias de Estilo

Mensagens de Commit do Git

Guia de Estilo do Rust

Guia de Estilo da Documentação

Notas Adicionais

Etiquetas de Issues e Pull Requests

Reconhecimento

Contribuidores que enviarem um pull request válido serão adicionados ao nosso arquivo CONTRIBUTORS.md.

Obrigado por contribuir com o KGet! 🚀