22 Contributing Code
ᴜɴᴋɴᴡᴏɴ edited this page 2020-02-22 13:18:42 +08:00

This document describes requirements and best practices for contributing code (Pull Request) to Gogs project.

If you have/find any concern/problem with this document, DO NOT create an issue in this repository, instead, please go to Gogs Discussion and discuss.

Before you start

Those we do accept

  1. Typos in template files or code comments.
  2. Bug fixes or feature implementations (be sure to discuss first).
  3. Issues that are labeled as help wanted and good first issue (be sure to claim first to prevent two people work on the same thing!).

Those we do not accept

  1. We do not accept pull requests for locale files (conf/locale_xx-XX.ini files), please read the guide, except for conf/locale_en-US.ini file.
  2. Docker compose file.
  3. Pull request with a lot of changed files; we have rights to deny any pull requests that we considered too large to take time to review.

Make a claim

Write a comment to the corresponding thread to claim you're working on it, so people wouldn't have conflict on what they're working on.

Coding guidelines

  1. Please follow the Sourcegraph's Go style guide.
  2. All .go files must be formatted with gofmt.
  3. All .less and .tmpl files must use 1 tab as indention.
  4. NO direct modifications to .css files, .css files are all generated by .less files. Normally you can achieve this by executing make less.

For UI changes

  1. Please use standard Semantic UI classes as much as possible to avoid editing .less files.
  2. Please attach corresponding screenshots for all representative pages that is affected by your changes.
  3. If you need to add new locale strings, you ONLY need to care about conf/locale_en-US.ini file, DO NOT touch all the other locales files.

Final checks

  1. There is no guarantees that your pull request will be merged.
  2. Please expect code review being VERY strict, be prepared for benefiting future of this project.