Thank you for your interest in contributing to Druid! We welcome contributions of all sizes - even small fixes make a big difference.
- How to Report Issues
- Small Fixes
- Larger Contributions
- Documentation Updates
- Adding or Updating Examples
- Unit Tests
Found a bug? Please report it to our issue tracker with:
- A clear description of the problem
- Steps to reproduce the issue
- Expected vs. actual behavior
- Your environment (Defold version, OS, etc.)
We highly encourage small improvements! For bug fixes, typo corrections, or minor improvements, you can create a pull request directly to the master or develop branch.
When making these contributions, you must:
- Update the patch version number in both:
README.mdfile (in the dependency section)game.projectfile (in the project section)
- Add your changes to
wiki/changelog.md - These steps are required to properly tag a new release
Example of version updates:
For README.md:
# Before
https://github.com/Insality/druid/archive/refs/tags/1.1.0.zip
# After (patch version increased)
https://github.com/Insality/druid/archive/refs/tags/1.1.1.zip
For game.project:
# Before
[project]
title = Druid
version = 1.1.0
# After (patch version increased)
[project]
title = Druid
version = 1.1.1
For new features, major improvements, or complex fixes:
- Fork the repository
- Create a branch from
develop - Make your changes
- Ensure code follows project style guidelines
- Test your changes thoroughly
- Submit a pull request to the
developbranch - Include references to any related issues (e.g., "Fixes #123")
Please keep changes focused on addressing specific issues or features, and maintain the existing code style.
To improve documentation:
- Fork the repository
- Create a branch for your changes
- Update the relevant documentation files
- Submit a pull request to the
masterordevelopbranch
Clear, accurate documentation helps everyone, so documentation improvements are always appreciated!
Examples are vital for helping users understand how to use Druid. Each example should include:
- A GUI scene with a Druid widget
- Information about the example in
examples_list.lua
To add a new example:
- Create a new GUI file in the
/example/examplesdirectory - Add the example information to
examples_list.lua - Include your GUI template in
/example/druid.gui- Place it inside the proper hierarchy:
root -> container_center -> examples -> widgets
- Place it inside the proper hierarchy:
- Test your example by running the game
- Submit a pull request to the
developbranch
Unit tests help ensure Druid works correctly. If you're facing an issue, unit tests can be a good starting point to understand or reproduce it.
All tests are located in the /test/tests directory.
To run tests:
- Set the bootstrap collection to
/test/test.collection - Run the project
To submit new or updated tests:
- Create a branch for your changes
- Add or modify tests
- Verify your tests pass
- Submit a pull request to the
developbranch
Thank you for contributing to making Druid better for everyone! ❤️