Contribution guide
Our goal is to make contributing to the Diem project easy and transparent.
The Diem Core project is currently an early-stage prototype, it is undergoing rapid development. Before making any substantial contribution to the project, be sure to discuss it in the Discourse forum to ensure that it fits into the project roadmap.
#
Contributor License AgreementThe Diem project follows many popular Open Source projects by requiring a signed CLA before accepting contributions. Sign the CLA.
#
Contributing to Diem CoreTo contribute to Diem Core, ensure that you have the latest version of the codebase. To setup Diem Core with all the necessary dependencies for linting, testing, and building the documentation, run the following:
$ git clone https://github.com/diem/diem.git$ cd diem$ ./scripts/dev_setup.sh$ source ~/.cargo/env$ cargo build$ cargo xtest
#
Coding GuidelinesFor detailed guidance on how to contribute to the Diem Core codebase refer to Coding Guidelines.
#
DocumentationTo contribute to our developer documentation, use the suggested edits icon above the right hand navigation bar.
#
Pull RequestsTo submit your pull request:
- Fork the
diem
repo and create your branch frommain
. - If you have added code that should be tested, add unit tests.
- If you have made changes to APIs, update the relevant documentation, and build and test the developer site.
- Verify and ensure that the test suite passes.
- Make sure your code passes both linters.
- Complete the Contributor License Agreement (CLA), if you haven't already done so.
- Submit your pull request.
#
Code of ConductPlease refer to the Code of Conduct, which describes the expectations for interactions within the community.
#
IssuesDiem uses GitHub issues to track bugs. Please include necessary information and instructions to reproduce your issue. Security-related bugs should be reported using our security procedures.