Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 2.34 KB

CONTRIBUTING.md

File metadata and controls

65 lines (45 loc) · 2.34 KB

Contribution policy

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC2119, and RFC8174 when, and only when, they appear in all capitals, as shown here.

Adding a new package

Core mason.nvim package definitions reside within the github:mason-org/mason-registry registry. Contributions to add new packages MUST be done there (refer to the README and existing package definitions).

Code style

This project adheres to Editorconfig, Selene, and Stylua code style & formatting rules. New patches MUST adhere to these coding styles.

Generated code

Some changes such as adding or changing a package definition will require generating some new code. The changes to generated code MAY be included in a pull request. If it's not included in a pull request, it will automatically be generated and pushed to your branch before merge.

Generating code can be done on Unix systems like so:

make generate

Tests

Tests MAY be added or modified to reflect any new changes. Tests can be executed on Unix systems like so:

make test
FILE=tests/mason-core/managers/luarocks_spec.lua make test

Adding or changing a feature

Adding or changing a feature MUST be preceded with an issue where scope and acceptance criteria are agreed upon with project maintainers before implementation.

Commit style

Commits SHOULD follow the conventional commits guidelines.

Pull requests

Once a pull request is marked as ready for review (i.e. not in draft mode), new changes SHOULD NOT be force-pushed to the branch. Merge commits SHOULD be preferred over rebases.