Skip to main content

Contributor Guide

Please fee free to report bugs, submit suggestions, or submit PRs according to this guide.

Submit an issue#

  1. Before submitting your issues, please go through a comprehensive search to make sure the problem cannot be solved just by searching.

  2. Check the Issue List to make sure the problem is not repeated.

  3. Create a new issue and choose the type of issue.

  4. Define the issue with a clear and descriptive title.

  5. Fill in necessary information according to the template.

  6. Choose a label after issue created.

  7. Please pay attention to your issue, you may need provide more information during discussion.

Developer Flow#

Fork repo#

Fork the Apache APISIX repo to your own repo to work, then setting proper upstream.

git remote add upstream

Choose an issue#

  1. Please choose your target issue. If it is a new issue discovered or a new function enhancement to offer, please create an issue and set the right label for it.

  2. After choosing the relevant issue, please reply with a deadline to indicate that you are working on it.

  3. Find a mentor from the Team page and your mentor will give you feedback about your PR or issue in time.

Good First Issues:#

Good First Issue curates easy pickings from this project, and helps you make your first contribution to Apache APISIX®.

Create your branch#

Switch to your forked master branch, pull codes from upstream, then create a new branch.

$ git checkout master$ git pull upstream master$ git checkout -b IssueNo

Notice: We will merge PR using squash, commit logs will be different form upstream if you use one older branch.


  1. Please obey the Code of Conduct during the process of development and finish the check before submitting the pull request.

  2. Then push codes to your fork repo.

$ git add modified-file-names$ git commit -m 'commit message'$ git push origin issueNo

Submit PR#

  1. Send a pull request to the master branch.

  2. The mentor will do codes review before discussing some details (including the design, the implementation and the performance) with you.

  3. Also make sure that the pull request title has a semantic prefix like fix: or feat: or any other conventional commit types.

  4. Then congratulate to you to be an official contributor of Apache APISIX.

Delete branch#

You can delete the remote branch (origin/IssueNo) and the local branch (IssueNo) associated with the remote branch (origin/IssueNo) after the mentor merged the PR into the master branch.

$ git checkout master$ git branch -d IssueNo$ git push origin --delete issueNo


Please note that in order to show your ID in the contributor list, please DO NOT forget to set the configurations below:

$ git config --global "username"$ git config --global "mail address"