Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ To help us review your changes quickly and accurately, please follow these guide
be squashed and merged with the pull request title and number as the commit message.
2. Complete the pull request template, including any relevant details about your changes and any associated issues.

* Be sure to use the official template. Do not use AI-generated PR summaries that completely replace our template.
* Leave the template comments in place. They are helpful when editing the PR description.

```markdown
Expand Down Expand Up @@ -88,7 +89,7 @@ Here are some of the guidelines we follow:
- Each file, with few exceptions, should end with an empty line.
- In most cases, the maximum line length should not exceed 120 characters to make the code more readable.
- We use [yamllint](https://yamllint.readthedocs.io) to lint our *yaml* files. You can find the configuration file
[here](https://github.com/LizardByte/.github/blob/master/yamllint-config.yml) in our *.github* repository.
[here](https://github.com/LizardByte/.github/blob/master/.yamllint.yml) in our *.github* repository.
- We use [CodeQL](https://codeql.github.com/) and [SonarCloud](https://sonarcloud.io/) to analyze our codebases.
There will be a comment on your PR indicating if there are any issues that need to be addressed.
Please address these issues if reasonable.
Expand All @@ -110,6 +111,7 @@ contributions must meet our quality standards.
- Code refactoring suggestions that you carefully review and understand

#### Unacceptable AI Usage
- AI generation of PR description/summary, use our standard PR template
- Submitting code you don't fully understand
- Generating entire features or components without significant human oversight
- Using AI to create code without properly testing it
Expand All @@ -126,13 +128,19 @@ Testing is a critical part of our development process, and we have automated tes
meets the expected quality and functionality.

#### Code Style Tests
To ensure consistent code style, we run automated tests on pull requests. The tests that run depend on the labels of
the repository. The following table shows the labels and the corresponding tests that will run:

| Label | Checks |
|----------|------------------------------|
| `python` | `flake8` |
| `c++` | `clang-format`, `cmake-lint` |
To ensure consistent code style, we run automated tests on pull requests. The tests that run depend on the language(s)
of the repository. The following table shows the labels and the corresponding tests that will run:

| Language | Checks |
|------------------------------------|--------------------------|
| `c`, `c++` | clang-format, cmake-lint |
| `docker` | hadolint |
| `github-action`, `github-workflow` | actionlint |
| `jupyter`, `python` | flake8 |
| `PowerShell` | PSScriptAnalyzer |
| `rust` | rustfmt |
| `shell` | shellcheck |
| `yaml` | yamllint |

Projects may have additional checks, `eslint` for example, depending on the project's requirements.

Expand Down