# Contributing Guidelines The following is a set of guidelines for contributing to nginx project. We really appreciate that you are considering contributing! ## Table of Contents - [Ask a Question](#ask-a-question) - [Report a Bug](#report-a-bug) - [Suggest a Feature or Enhancement](#suggest-a-feature-or-enhancement) - [Open a Discussion](#open-a-discussion) - [Submit a Pull Request](#submit-a-pull-request) - [Issue Lifecycle](#issue-lifecycle) ## Ask a Question To ask a question, open an issue on GitHub with the label `question`. ## Report a Bug To report a bug, open an issue on GitHub with the label `bug` using the available bug report issue template. Before reporting a bug, make sure the issue has not already been reported. ## Suggest a Feature or Enhancement To suggest a feature or enhancement, open an issue on GitHub with the label `feature` or `enhancement` using the available feature request issue template. Please ensure the feature or enhancement has not already been suggested. ## Submit a Pull Request Follow this plan to contribute a change to plugin source code: - Fork repository - Create a branch - Implement your changes in this branch - Submit a pull request (PR) when your changes are tested and ready for review ### Formatting Changes - Changes should be formatted according to the code style - Keep a clean, concise and meaningful commit history on your branch, rebasing locally and breaking changes logically into commits before submitting a PR - Each commit message should have a single-line subject line followed by verbose description after an empty line - Limit the subject line to 67 characters, and the rest of the commit message to 76 characters - Reference issues in the the subject line; if the commit fixes an issue, [name it](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) accordingly ### Before Submitting - Try to make it clear why the suggested change is needed, and provide a use case, if possible