Contributing to SnapDock
SnapDock 3.x — Active development line.
SnapDock uses a simple lifecycle model:
- 3.x — Active (development, features, fixes, contributions welcome)
- 2.x — Classic (final, archived, no longer accepting contributions)
- 1.x — Classic (archived)
All contributions should target SnapDock 3.x, which is the modern, actively maintained version of the app.
If you wish to extend or modify SnapDock 2.x, you are welcome to fork the Classic branch and build upon it.
- Fork the repository and create a feature branch.
- Keep commits focused and minimal — one logical change per commit.
- Use imperative commit messages (e.g.,
Add theme switcher,Fix sidebar layout). - Open a pull request with a clear explanation of what changed and why.
PRs should be scoped, intentional, and aligned with the direction of SnapDock 3.x.
Use the Issues tab to report problems related to:
- Bugs
- Crashes
- Incorrect behavior
- Security concerns
- UI/UX inconsistencies
- Feature regressions
Please include:
- Steps to reproduce
- Expected vs. actual behavior
- Screenshots or logs if helpful
- OS + SnapDock version
Issues related to SnapDock 2.x will be closed with a note directing users to:
- SnapDock 3.x (active), or
- Forking SnapDock 2.x if Classic behavior is required.
- Follow the existing structure and style of the 3.x codebase.
- Keep changes small, intentional, and low‑risk.
- Avoid adding new dependencies unless necessary.
- Document new modules or functions clearly.
- Do not mix unrelated fixes in a single PR.
Before submitting a PR:
- Run the app locally.
- Confirm your change does not break existing functionality.
- Add tests where practical (especially for core modules).
- Be respectful, constructive, and professional.
- Collaboration happens via Discord.
- See the Code of Conduct for community expectations.
If you discover a vulnerability, please follow the SECURITY.md policy.
Do not disclose security issues publicly until reviewed.
SnapDock 3.x is the future of the project.
New ideas, enhancements, and UI changes should target the 3.x branch.
SnapDock 2.x and 1.x are preserved as Classic Editions and do not receive updates.
Thank you for helping shape the next generation of SnapDock.