View on GitHub

KGet

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

Guía de Contribución para KGet

English Português Español

En primer lugar, ¡gracias por considerar contribuir a KGet! Son personas como tú las que hacen que KGet sea una herramienta increíble.

Código de Conducta

Este proyecto y todos sus participantes se rigen por nuestro Código de Conducta. Al participar, se espera que cumplas con este código. Por favor, reporta cualquier comportamiento inaceptable a davimf721@gmail.com.

¿Cómo Puedo Contribuir?

Reportando Bugs

Antes de crear reportes de bugs, por favor verifica los issues existentes, ya que podrías descubrir que no necesitas crear uno nuevo. Cuando estés creando un reporte de bug, por favor incluye tantos detalles como sea posible:

Sugiriendo Mejoras

Si tienes una sugerencia para el proyecto, ¡nos encantaría escucharla! Solo sigue estos pasos:

Pull Requests

Proceso de Desarrollo

  1. Haz un fork del repositorio
  2. Clona tu fork: git clone https://github.com/tu-usuario/KGet.git
  3. Crea tu rama de feature: git checkout -b feature/mi-nueva-feature
  4. Realiza tus cambios
  5. Ejecuta las pruebas: cargo test
  6. Formatea tu código: cargo fmt
  7. Verifica con clippy: cargo clippy
  8. Haz commit de tus cambios: git commit -am 'Añade alguna feature'
  9. Haz push a la rama: git push origin feature/mi-nueva-feature
  10. Envía un pull request

Desarrollo con Docker (recomendado para contribuidores)

Proporcionamos un Dockerfile y docker-compose.yml para que el desarrollo sea reproducible entre máquinas. El contenedor incluye la toolchain de Rust y herramientas comunes para que los contribuidores puedan compilar, probar y ejecutar ejemplos sin instalar dependencias en el host.

Flujo básico

# Construir la imagen de desarrollo
docker build -t kget-dev .

# Iniciar un shell interactivo montado al repositorio (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 comunes sin entrar en el contenedor:

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

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

# Ejecutar el ejemplo que demuestra el uso como librería
docker run --rm -v "$(pwd)":/work -w /work kget-dev cargo run --example lib_usage

Usando docker-compose:

docker-compose up --build

Notas y recomendaciones

# Construir la imagen con GUI (opcional)
docker build -t kget-gui .

# Ejecutar con reenvío X11 (ejemplo 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

Guías de Estilo

Mensajes de Commit de Git

Guía de Estilo de Rust

Guía de Estilo de Documentación

Notas Adicionales

Etiquetas de Issues y Pull Requests

Reconocimiento

Los contribuyentes que envíen un pull request válido serán añadidos a nuestro archivo CONTRIBUTORS.md.

¡Gracias por contribuir a KGet! 🚀