Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 2.6 KB

CONTRIBUTING.md

File metadata and controls

40 lines (28 loc) · 2.6 KB

Contributing to Terramate

A Word Before We Begin

First and foremost, we'd like to express our gratitude to you for taking the time to contribute. We don't accept feature contributions by the community as we are currently sticking to an internal roadmap. This may change in the future.

We welcome and appreciate all bug fix contributions via Pull Requests along the GitHub Flow.

Thanks!

Contribution Workflow

For bug reports or requests, please submit your issue in the appropriate repository.

We advise that you open an issue and ask the CODEOWNERS and community prior to starting a contribution. This is your chance to ask questions and receive feedback before writing (potentially wrong) code. We value the direct contact with our community a lot, so don't hesitate to ask any questions.

For contributing to Terramate, please follow these steps:

  1. Within your fork of Terramate, create a branch for your contribution. Use a meaningful name.
  2. Create your contribution, meeting all contribution quality standards
  3. Create a pull request against the main branch of the Terramate repository.
  4. Work with your reviewers to address any comments and obtain a minimum of 1 approval.
  5. Once the pull request is approved, one of the maintainers will merge it.

Contribution Quality Standards

Most quality and style standards are enforced automatically during integration testing. Your contribution needs to meet the following standards:

  • Each contribution must have a single scope: one feature/bugfix/chore per PR
    • Exceptions can be accepted if accompanied by good reasoning
  • Include tests for any new functionality (or bug fix) in your pull request.
  • Document all your public functions.
  • When opening the PR, follow the instructions in the description template.
  • If you need an early review, even if not ready, mark it as Draft.
  • When ready to be reviewed, squash all commits into a single signed commit following the conventional commits convention.