Disponible en: English · Français
¡Gracias por tu interés en Dosoft! Esta guía explica cómo contribuir de forma efectiva, ya sea reportando un bug, sugiriendo una mejora o enviando código.
- Antes de empezar
- Reportar un bug
- Sugerir una funcionalidad
- Contribuir código
- Convención de commits
- Estilo de código
- Build y pruebas locales
- Verifica que no exista ya una issue o pull request similar antes de abrir una nueva.
- Para cambios significativos, abre primero una issue para discutir el enfoque. Así evitas invertir tiempo en algo que podría no ser mergeado.
- El proyecto es exclusivo para Windows y para jugadores de Dofus (Unity y Rétro). Las contribuciones fuera de este ámbito no serán aceptadas.
- El idioma oficial del proyecto es el inglés. El francés y el español también son aceptados para issues, PRs y comentarios.
Abre una issue usando la plantilla Bug report e incluye:
- Versión de Dosoft (visible en la interfaz o en
version.json) - Versión del juego: Unity o Rétro
- Comportamiento observado: lo que ocurre realmente
- Comportamiento esperado: lo que debería ocurrir
- Pasos para reproducirlo: cuanto más preciso, mejor
- Logs o capturas de pantalla si es posible
Abre una issue usando la plantilla Feature request y describe:
- El problema que resuelve o la necesidad que cubre
- La solución que propones
- Las alternativas que hayas considerado
git clone https://github.com/<tu-usuario>/dosoft
cd dosoftpip install -r requirements.txtNómbrala de forma clara, reflejando lo que estás haciendo:
git checkout -b fix/deteccion-ventanas-retro
git checkout -b feat/atajo-equipo-personalizadoPrefijos recomendados: feat/, fix/, refactor/, docs/, chore/
- Respeta la estructura existente del proyecto (ver Estilo de código)
- Prueba manualmente el comportamiento modificado
- Un único tema por pull request
Respeta la convención de commits a continuación.
git push origin feat/atajo-equipo-personalizado- Título claro y conciso
- Descripción explicando por qué este cambio y cómo fue probado
- Vincula la issue correspondiente con
Closes #42si aplica
El proyecto sigue una convención inspirada en Conventional Commits.
<tipo>(<scope>): <descripción corta>
[cuerpo opcional]
[footer opcional]| Tipo | Uso |
|---|---|
feat |
Nueva funcionalidad |
fix |
Corrección de bug |
refactor |
Refactorización sin cambio de comportamiento |
style |
Formato, indentación (sin cambio de lógica) |
docs |
Solo documentación |
chore |
Tareas de mantenimiento (build, dependencias, config…) |
perf |
Mejora de rendimiento |
revert |
Revertir un commit anterior |
Indica el módulo afectado: gui, logic, hotkeys, config, radial, build, installer
- La descripción corta está en inglés (o francés), en modo imperativo, sin mayúscula inicial, sin punto final
- Máximo 72 caracteres en la primera línea
- El cuerpo es opcional pero recomendado para cambios no triviales
- Un commit = una unidad lógica de cambio
feat(hotkeys): add MB4/MB5 support per team
fix(logic): fix window detection in Rétro mode
refactor(gui): move display settings into a dedicated panel
docs: update build instructions in README
chore(build): bump version to 1.2.0
fix: prevent crash on startup when settings.json is corrupted- Python 3, compatible con las versiones soportadas por las dependencias del proyecto
- Indentación: 4 espacios (sin tabulaciones)
- Nomenclatura:
snake_casepara variables y funciones,PascalCasepara clases - Comentarios en inglés o francés
- No añadir librerías externas sin discusión previa en una issue
- Mantén el proyecto ligero: debe ser sencillo de instalar y ejecutar
Ejecuta la app directamente con Python para pruebas rápidas:
python main.pyPara crear un build completo (.exe + instalador):
build.cmdRequiere PyInstaller e Inno Setup 6+ instalados en tu máquina.
Para cualquier pregunta, abre una issue o visita dosoft.fr.