Skip to content

Contributing guidelines #514

@gynter

Description

@gynter

Hello!

Since we now have more collaborators I suggest us to settle on somekind contributing guidelines.

My suggestions:

  • Use English in commit messages, branch, and tag names;
  • Branch and tag names must be separated by dash -;
  • Follow the seven rules of a great git commit message:
    • Separate subject from body with a blank line;
    • Limit the subject line to 50 characters;
    • Capitalize the subject line;
    • Do not end the subject line with a period;
    • Use the imperative mood in the subject line;
    • Wrap the body at 72 characters;
    • Use the body to explain what and why vs. how;
  • Pull requests must have it's own feature branch;
  • All commits in pull request must be rebased and squashed, except
    when the commits are required to mark specific advancement (i.e
    collection of serveral major features) in the development history;
  • Merge conflicts must be resolved in feature branch during the rebase;
  • Issues may be closed via commit messages using fix keyword i.e fix
    Added Hikari #24 closes issue Added Hikari #24. Multiple issues must be separated by comma like
    this: fix Added Hikari #24, fix Added theme: Architect #32, fix Adding Jekyll Metro theme #51.
  • Exceptions can be made for theme pull requests only. All changes by collaborators must follow the rules above;
  • When merging pull request, merger must squash the commits and follow the rules when commiting;
  • No direct commits to master branch, everything goes via pull requests;
  • Any major changes to site layout and functionality must be firstly discussed in issue/pull request.

The point of the last one is, that this site has always been built on keep it simple, stupid concept, therefore adding awesome bells and whistles isn't always a good idea.

Squashing can be both done via CLI or Github web interface.

All suggestions and counter arguments are welcome!

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions