📑 Tabla de Contenidos
Contribuir a Carch
¡Estamos emocionados de que estés interesado en contribuir a Carch! Las contribuciones de todo tipo son bienvenidas, ya sea que estés arreglando errores, añadiendo nuevas características o mejorando la documentación. Sigue esta guía para comenzar.
WARNING
Antes de hacer cualquier contribución, primero abre un issue en la sección Solicitud de Características. Discutiremos los cambios allí antes de proceder con la implementación.
📌 Entender la Base de Código
NOTE
Antes de contribuir, entiende la estructura de Carch:
- Los archivos principales de Rust de Carch están ubicados en:
src
src/
├── ui/
│ ├── app.rs
│ ├── mod.rs
│ ├── popups.rs
│ └── render.rs
├── main.rs
├── commands.rs
├── display.rs
├── script_list.rs
└── version.rs
- Todos los scripts de
módulos
están organizados por categoría en:
modules/
├── Browser/ # Scripts relacionados con navegadores
├── Desktop/ # Scripts relacionados con entornos de escritorio
├── Development/ # Scripts de herramientas de desarrollo
├── System/ # Scripts de configuración del sistema
└── Terminal/ # Scripts de configuración de terminal
IMPORTANT
Primero, analiza cómo funciona el script antes de hacer cualquier cambio. Si quieres mejorar o añadir al proyecto, asegúrate de entender la estructura y cómo interactúa cada pieza. Esto te ayudará a contribuir de una manera que sea consistente con el diseño del proyecto.
Para hacer commits, usa etiquetas como
feat: tu-mensaje-de-commit o fix: tu-mensaje-de-commit.
Por cierto, antes de hacer un commit, si vas a cambiar algún archivo .sh
o script de Bash, asegúrate de revisar el directorio scripts/
y ejecutar ./check.sh
para encontrar espacios en blanco adicionales. Si falla, ejecuta ./cleanup.sh
. Eso es solo para scripts de Bash.
Para cambios en archivos de Rust, asegúrate de ejecutar cargo fmt --all --check
. Si hay sugerencias, ejecuta cargo fmt --all
.
Además, asegúrate de ejecutar cargo clippy
y cargo clippy -- -Dwarnings
para asegurarte de que no queden errores. Gracias.
Para más información sobre Commits Convencionales, consulta esta guía.
Si tienes preguntas o necesitas ayuda, no dudes en contactarnos:
📧 Email: [email protected]
💬 Discord: Únete Aquí
Pasos para Contribuir
1. 🍽️ Hacer Fork del Repositorio
- Ve a la página de GitHub de Carch.
- Haz clic en el botón Fork en la esquina superior derecha para crear tu propia copia del repositorio.
2. 🌿 Clonar el Repositorio Forkeado
Usa el siguiente comando para clonar el repositorio a tu sistema local:
bashgit clone https://github.com/tu-usuario/carch.git
Reemplaza
tu-usuario
con tu nombre de usuario de GitHub.
💡 CONSEJO
También puedes usar herramientas GUI como GitHub Desktop
o incluso la interfaz web de GitHub para hacer fork y clonar repositorios. Estas herramientas proporcionan una interfaz visual fácil de usar para gestionar tus contribuciones.
3. 🌱 Establecer el Repositorio Original como Upstream
Añade el repositorio original de Carch como un remoto upstream para mantener tu fork actualizado:
bashcd carch
bashgit remote add upstream https://github.com/original-author/carch.git
4. 🍇 Crear una Nueva Rama de Características
Antes de hacer cambios, crea una nueva rama con un nombre descriptivo:
bashgit checkout -b feature/nombre-de-tu-rama
Ejemplos de nombres de ramas:
feature/añadir-nuevo-script
bugfix/arreglar-problema-instalacion
5. 🔧 Hacer tus Cambios
- Implementa los cambios necesarios en el código o documentación.
- Asegúrate de que tus cambios sean claros, estén probados y sigan los estándares de codificación del proyecto.
6. 📝 Preparar y Hacer Commit de tus Cambios
Añade los archivos modificados al área de preparación:
bashgit add .
Haz commit de tus cambios con un mensaje claro:
bashgit commit -m "Add: [breve descripción de tus cambios]"
7. 🚀 Empujar los Cambios a tu Fork
Empuja tu rama a tu repositorio forkeado:
bashgit push origin feature/nombre-de-tu-rama
8. 📥 Enviar un Pull Request (PR)
- Ve al repositorio original de Carch en GitHub.
- Haz clic en New Pull Request.
- Selecciona tu rama del menú desplegable y describe tus cambios en detalle.
- ¡Envía el PR para revisión!
📚 Contribuir a la Documentación de Carch
La Documentación de Carch está ➥ En Vivo Aquí
🚀 Formas de Contribuir
Puedes contribuir:
- 🪛 Arreglando errores tipográficos o errores en las guías existentes
- 🌐 Traduciendo la documentación a otros idiomas (¡altamente alentado!)
🌍 Traducir Documentación
¿Quieres ayudar a hacer Carch accesible para usuarios de todo el mundo? ¡Ayúdanos a traducir la documentación!
Si estás contribuyendo con un nuevo idioma, sigue estos pasos:
- 📁 Crea una nueva carpeta para tu idioma dentro del directorio
docs/
. Usa códigos ISO 639-1 (ej.fr
,es
,hi
, etc.). - 🛠️ Traduce el contenido Markdown dentro de la nueva carpeta.
- 🧩 Modifica
docs/.vitepress/config.ts
:- Añade tu idioma en la sección
locales
. - Proporciona un
label
,lang
, ylink
para la navegación.
- Añade tu idioma en la sección
🧪 Probar tus Cambios Localmente
Para previsualizar tus cambios:
bun install
bun run docs:dev
IMPORTANT
¡Por favor abre un issue primero si planeas introducir cambios estructurales u organizacionales importantes. Nos encantaría discutir y colaborar en ello de antemano!
🧾 Estilo de Commit
Usa mensajes de commit claros como:
git commit -m "fix(docs): corregir error tipográfico en la guía de instalación"
git commit -m "feat(docs): añadir traducción al hindi"
Más sobre Commits Convencionales.
🙌 ¡Gracias por ayudar a mejorar la documentación!
Directrices
Calidad del Código
- Sigue el estilo de codificación existente del proyecto.
- Escribe código claro, conciso y bien documentado.
Pruebas
- Prueba tus cambios localmente para asegurarte de que funcionen como se espera.
- Si tus cambios introducen nuevas características, añade las pruebas necesarias donde sea aplicable.
Documentación
- Si tus cambios involucran nueva funcionalidad, actualiza la documentación relevante.
- Asegúrate de que el README o Wiki refleje tus actualizaciones.
Sincronizar tu Fork
Mantén tu fork actualizado para evitar conflictos:
bashgit fetch upstream
bashgit merge upstream/main
- Reemplaza
main
con la rama predeterminada del repositorio si es diferente.
- Reemplaza
¡Gracias por contribuir a Carch! Tu esfuerzo ayuda a hacer este proyecto mejor para todos.