Contribution Guide¶
Thank you for your interest in Crane!
Here are some of many ways that you can contribute to Crane, but not limited to:
As a Crane user, you can... - report bugs - propose new features
As a developer, you can... - fix bugs - develop new features - review submitted PRs
Note
For those who want to get involved in development, here you can find tips for setting up a development environment for Crane. Also, please check this guideline before sending a pull request of your patch.
Guideline for bug report¶
Before reporting your bug, please visit issues at Crane github repository and check whether similar bugs have been reported before or been resolved in newer versions.
Steps for reporting bugs:
- Visit issues at Crane github repository.
- Click New issue.
- Among multiple issue types, click Bug report.
- Write a title and description for the issue. We highly recommend you to follow the provided issue template. Please be thorough and concise when describing your problem so that we can reproduce the corresponding issue.
Guideline for feature request¶
Before posting a feature request, please check the following. - See if you are using the latest version of Crane. Crane is currently under active development, and your feature request may have been already addressed in newer version of Crane. - Please visit issues at Crane github repository and check for existing feature requests. If you find an issue that matches your needs, please show your interest and support by leaving comments under the issue. Feature ideas with clear usecases and sufficient upvote are subject to be addressed.
Steps for writing feature request issue:
- Visit issues at Crane github repository.
- Click New issue.
- Among multiple issue types, click Feature request.
- Write a title and description for the issue. We highly recommend you to follow the provided issue template.
- You are also more than welcome to take a part in development and implement the proposed feature yourself!
Guideline for sending Pull Request¶
Please check the followings before sending a pull request.
- Does your code match Crane's coding style?
Crane team places a high value on writing a maintainable code and we expect the same from open source contributors. We are using editor config plugin to enforce consistent codying style among developers and you can check the detail of style guide at [crane/.editorconfig].(https://github.com/friendliai/crane/blob/master/.editorconfig)
- Testing your code is not optional.
Write the right test for your code and make sure your code passes all the tests. For pull request description, you will be asked to type how you tested your code and pull requests without appropriate explanation on testing are likely to be neglected.
Steps of pull request workflow (only an example):
- Identify an issue that you want to work on.
- Get the codebase. Make sure that you are forking from the latest version of Crane repository.
- Write and test your code.
- Commit and push changes. Don't forget to rebase your branch onto master branch.
- Send pull request. We recommend you to follow the provided template for pull request description. Also, please link the pull request with the corresponding issue so that collaborators can know the issue is being addressed.
- Get your code reviewed.
- Once approved, your code gets merged into Crane!