Welcome! We are excited that you are interested in contributing to our project!
Here's what you need to know:
As a new contributor, you're in an excellent position to provide valuable feedback. Here are some ways you can help:
- Fix or report a bug.
- Suggest enhancements to code, tests, and documentation.
- Report or fix problems found during installation or in developer environments.
- Propose new features or improvements.
Be nice and respectful to each other.
We follow the Contributor Covenant Code of Conduct.
Before creating a new issue, please check if a similar one already exists.
If so, you can add your information as a comment to the existing issue.
Reporting bugs is a valuable way to contribute:
- Open an issue that summarizes the bug.
- Set the label to "bug".
To request a new feature:
- Open an issue summarizing the desired functionality and its use case.
- Set the label to "feature" or "enhancement".
To contribute code, documentation, or other improvements:
- Discuss your plans beforehand to ensure alignment with project goals.
- Check the list of open issues. Assign yourself an existing issue or create a new one.
- Follow project conventions for tests, code style, documentation, and commit messages.
- Understand that contributions may be declined if they don't align with project guidelines or goals.
- Familiarize yourself with the Pull Request Lifecycle.
- Agree to the "inbound=outbound" norm: your contributions will be under the same license as the project.
- Sign your commits.
Project maintainers will do their best to review and respond to issues within five business days.
The quality of information in your issue or pull request will affect the feedback loop.
For non-trivial contributions, please discuss with the project team first.
If the project is not listed as archived, it is maintained.
We use the Fork-and-Pull Model:
- Fork the repository.
- Create a topic branch from your fork's main branch.
- Push your changes to the topic branch in your fork.
- Open a new pull request to the main project.
- Respond to any feedback from project maintainers.
A Signoff assures to the project that you have the right to contribute your content +
Add a signoff to your commit using the -s
or --signoff
flag:
git commit --signoff -m 'fix: add fix for superbug x'
A Sign assures that the commit came from you
Sign your commit with -S
or --gpg-sign
:
git commit --signoff --gpg-sign -m "fix: add fix for the bug"
- Use the Conventional Commit standard.
- Group relevant changes in commits.
- Write clear, human-readable commit messages.
For security vulnerabilities, please follow the guidelines in our Security information.
For development guidance, see the DEVELOPMENT Guide.
- Keep documentation easy to read.
- Use bullet points for clarity.
- Be concise and link to external resources when needed.
- Use British English (e.g., "colour" instead of "color").
- Follow the one-sentence-per-line principle in Markdown or AsciiDoc.
English is the primary language, with translations on a best-effort basis.
We aim to comply with the following standards and best practices:
-
- Ensures clear and standardized license compliance across the project.
-
- Provides a clear and structured project history through standardized commit messages.
-
- Maintains a clear and user-friendly release history.
-
Contributor Covenant guidelines
- Establishes a social contract for respectful and inclusive collaboration.
-
- Helps assess and improve the security health of our project.
-
- Facilitates easy metadata indexing for better discoverability of our project.
-
- Ensures our project meets criteria for public code quality and sustainability.
Contributors are encouraged to familiarize themselves with these guidelines and help us uphold these standards in their contributions.
Happy contributing!