So you want to contribute to Penlight? Fantastic! Here's a brief overview on how best to do so.
Here's some examples of things you might want to make a pull request for:
- New features
- Bugfixes
- Inefficient blocks of code
If you have a more deeply-rooted problem with how the library is built or some of the stylistic decisions made in the code, it's best to create an issue before putting the effort into a pull request. The same goes for new features - it might be best to check the project's direction, existing pull requests, and currently open and closed issues first.
Penlight uses two main branches;
stable
which is the current released version. This version only accepts bugfixes and backward compatible changes/additions.master
is the next major version, with new features and probably incompatibilities. Fixes and changes fromstable
will regularly be merged inmaster
as well.
Here's how to go about contributing to Penlight
- Fork the repository to your Github account.
- Create a topical branch - a branch whose name is succint but explains what
you're doing, such as "added-klingon-cloacking-device" - either from
master
orstable
depending on what your changing. - Make your changes, committing at logical breaks.
- Push your branch to your personal account
- Create a pull request
- Watch for comments or acceptance
If you wanna be a rockstar;
- update the CHANGES.md file
- add tests that show the defect your fix repairs, or that tests your new feature
Please note - if you want to change multiple things that don't depend on each
other, make sure you check the master
/stable
branch back out before making more
changes - that way we can take in each change separately. And against the correct branch.