Contribute to Merlin
Estimated Time
10 minutes
You Will Learn
- How to post issues to the Merlin repo.
- Guidelines for contributing to Merlin.
Issues
Found a bug? Have an idea? Or just want to ask a question? Create a new issue on GitHub.
Bug Reports
To report a bug, simply navigate to Issues, click "New Issue", then click "Bug report". Then simply fill out a few fields such as "Describe the bug" and "Expected behavior". Try to fill out every field as it will help us figure out your bug sooner.
Feature Requests
We are still adding new features to Merlin. To suggest one, simply navigate to Issues, click "New Issue", then click "Feature request". Then fill out a few fields such as "What problem is this feature looking to solve?"
Questions
Note
Who knows? Your question may already be answered in the FAQ.
We encourage questions to be asked in a collaborative setting: on GitHub, direct any questions to General Questions in Issues.
For more ways to reach out with questions, see the Contact page.
Contributing
Merlin is an open source project, so contributions are welcome. Contributions can be anything from bugfixes, documentation, or even new core features.
Merlin uses a rough approximation of the Git Flow branching model. The develop
branch contains the latest contributions, and main
is always tagged and points to the latest stable release.
If you're a contributor, try to test and run by branching off of develop
. That's where all the magic is happening (and where we hope bugs stop).
More detailed information on contributing can be found on the Contributing.
How to Contribute
Contributing to Merlin is as easy as following these steps:
-
Move into the
merlin/
directory: -
Ensure you're on the
develop
branch by running: -
Create a new virtual environment and install an editable version of Merlin with:
Note
The name of this virtual environment will be
venv_merlin_py_x_y
wherex
andy
represent the Python version that was used to create the virtual environment. For example, if you had Python 3.10.8 loaded when you run this command, you'll get a virtual environment namedvenv_merlin_py_3_10
. -
Activate the environment that was just created with the below command. You'll have to modify
x
andy
here to match the python version that your virtual environment was created with. -
Create a new branch for your changes. Typically branch names will start with one of the following prefixes:
feature
,bugfix
,refactor
, ordocs
. The following command will create a new branch for you and switch to it: -
Create your changes
-
Once you've made all of your changes, run the following command from the root of the repository to ensure the style of your code matches Merlin's standard:
-
Ensure all of the tests pass:
-
Summarize your changes in the
[Unreleased]
section in theCHANGELOG.md
file -
Send us a pull request from your fork. Make sure you're requesting a pull request from your branch to the
develop
branch on Merlin's home repository.
Happy contributing!