Available in: Français · Español
Thank you for your interest in Dosoft! This guide explains how to contribute effectively — whether you're reporting a bug, suggesting a feature, or submitting code.
- Before you start
- Report a bug
- Suggest a feature
- Contribute code
- Commit convention
- Code style
- Local build & testing
- Check that a similar issue or pull request doesn't already exist before opening a new one.
- For significant changes, open an issue first to discuss your approach. It avoids investing time on something that might not be merged.
- The project targets Windows only and Dofus players (Unity and Rétro). Contributions outside this scope won't be accepted.
- The project language for code, comments, issues, and PRs is English. French is also accepted.
Open an issue using the Bug report template and include:
- Dosoft version (visible in the UI or in
version.json) - Game version: Unity or Rétro
- Observed behavior: what actually happens
- Expected behavior: what should happen
- Steps to reproduce: as precise as possible
- Logs or screenshots if applicable
Open an issue using the Feature request template and describe:
- The problem it solves or the need it covers
- The solution you have in mind
- Any alternatives you considered
git clone https://github.com/<your-username>/dosoft
cd dosoftpip install -r requirements.txtName your branch clearly, reflecting what you're working on:
git checkout -b fix/retro-window-detection
git checkout -b feat/custom-team-shortcutRecommended prefixes: feat/, fix/, refactor/, docs/, chore/
- Follow the existing project structure (see Code style)
- Manually test the modified behavior
- One topic per pull request
Follow the commit convention below.
git push origin feat/custom-team-shortcut- Clear and concise title
- Description explaining why this change and how it was tested
- Link the related issue with
Closes #42if applicable
The project follows a convention inspired by Conventional Commits.
<type>(<scope>): <short description>
[optional body]
[optional footer]
| Type | Usage |
|---|---|
feat |
New feature |
fix |
Bug fix |
refactor |
Code change without behavior change |
style |
Formatting, indentation (no logic change) |
docs |
Documentation only |
chore |
Maintenance tasks (build, deps, config…) |
perf |
Performance improvement |
revert |
Revert a previous commit |
Refers to the affected module: gui, logic, hotkeys, config, radial, build, installer
- The short description is in English (or French), imperative mood, no capital letter, no trailing period
- Maximum 72 characters for the first line
- The body is optional but recommended for non-trivial changes
- One commit = one logical unit of change
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 with the versions supported by the project's dependencies
- Indentation: 4 spaces (no tabs)
- Naming:
snake_casefor variables and functions,PascalCasefor classes - Comments in English or French
- No additional external libraries without prior discussion in an issue
- Keep the project lightweight: it must remain simple to install and run
Run the app directly with Python for quick testing:
python main.pyTo create a full build (.exe + installer):
build.cmdRequires PyInstaller and Inno Setup 6+ installed on your machine.
For any questions, open an issue or visit dosoft.fr.