Contribution Guide
Our goal is to make contributing to the Libra project easy and transparent.
The Libra 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 Agreement
The Libra project follows many popular Open Source projects by requiring a signed CLA before accepting contributions. Sign the CLA.
Contributing to Libra Core
To contribute to Libra Core, ensure that you have the latest version of the codebase. To setup Libra Core with all the necessary dependencies for linting, testing, and building the documentation, run the following:
$ git clone https://github.com/libra/libra.git
$ cd libra
$ ./scripts/dev_setup.sh
$ source ~/.cargo/env
$ cargo build
$ cargo xtest
Coding Guidelines
For detailed guidance on how to contribute to the Libra Core codebase refer to Coding Guidelines.
Documentation
All developer documentation is published on the Libra developer site. The developer site is open source, and the code for building the site is located in this repository. The developer site is built using Docusaurus.
If you are familiar with Markdown, you can start contributing!
Pull Requests
To submit your pull request:
- Fork the
librarepo and create your branch frommaster. - 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 Conduct
Please refer to the Code of Conduct, which describes the expectations for interactions within the community.
Issues
Libra 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.