Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 3.66 KB

CONTRIBUTING.md

File metadata and controls

76 lines (53 loc) · 3.66 KB

Contributing to Au

Thank you for your interest in Au: a C++ units library, by Aurora. We welcome your contributions! Here are some guidelines to help.

Contributor License Agreement (“CLA”)

Contributions to this project must be accompanied by a signed CLA. You (or your employer) retain the copyright to your contribution; the CLA merely gives us permission to use and redistribute your contribution as part of the project. You'll automatically be prompted to sign the CLA the first time you create a pull request. You only need to sign it once.

NOTE: If you're planning to make contributions on behalf of your employer or another entity, please sign the corporate CLA. Your employer's GitHub organization will be allowlisted after you do.

Reporting Issues

We also have an issues page for tracking problems and future work. If you have a bug report or feature request, check the existing issues to see if it’s been posted, and file a new one if it hasn’t. While we can’t promise timely resolution, we will do our best to respond quickly so you know you’ve been heard, and where we stand on the issue.

License

By contributing to Au, you agree to be bound by the terms of the applicable CLA and that your contributions will be licensed under the LICENSE file in the root directory of this source tree.

Guidelines for Pull Requests

Pull requests (PRs) can involve a significant amount of work, both to write and to review. Follow these guidelines to minimize the chance of wasting that work, and maximize the chance of delivering its value!

  • First, check the issues. If your change isn't covered by any existing issue, it's a good idea to file a new one, so you can make sure the change would be welcomed.

  • Make small PRs. Each PR should address one idea only. This means some issues may take multiple PRs to resolve; this is normal and expected.

  • Each PR becomes one single commit when it lands to main, so follow the rules for good commit messages! In particular, note that the PR title becomes the commit title, and the PR summary becomes the commit body.

  • All remote builds must pass before any PR is landed.

See our development setup guide to get started with building and testing the code and documentation!

Style guide

Au follows the Google C++ Style Guide, apart from the explicit exceptions we enumerate below. Please make sure your PR conforms to this modified style guide before landing.

Here are the modifications we've made to the Google C++ Style Guide for Au:

  1. The .clang-format file in the repository supersedes the Google style guide in all matters of code formatting.

  2. Our header files use the .hh extension, not .h.

  3. Use #pragma once instead of #define guards.

  4. We permit implicit conversions that perform unit conversions we expect to be safe.

  5. We do not use the kConstantName convention for our constants. Instead, we use the UPPER_SNAKE_CASE convention. This also applies to enumerator names.