3.4 KiB
Contributing to Druid
Thank you for your interest in contributing to Druid! We welcome contributions of all sizes - even small fixes make a big difference.
Table of Contents
- How to Report Issues
- Small Fixes
- Larger Contributions
- Documentation Updates
- Adding or Updating Examples
- Unit Tests
How to Report Issues
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.)
Small Fixes
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.md
file (in the dependency section)game.project
file (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
Larger Contributions
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
develop
branch - 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.
Documentation Updates
To improve documentation:
- Fork the repository
- Create a branch for your changes
- Update the relevant documentation files
- Submit a pull request to the
master
ordevelop
branch
Clear, accurate documentation helps everyone, so documentation improvements are always appreciated!
Adding or Updating Examples
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/examples
directory - 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
develop
branch
Unit Tests
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
develop
branch
Thank you for contributing to making Druid better for everyone! ❤️