Skip to content

Repository Conventions

Timo Denk edited this page Jun 12, 2018 · 8 revisions

Commits

  • Commits should be atomic, i.e. incorporate a single change (semantically). Create multiple commits rather than committing "Add CNN and update README.md" is desired.
  • The first letter of commit names is uppercase and verbs are in present tense.
    Good: "Create input adapter", "Add boilerplate", "Remove .idea folder"
    Bad: "Create Input Adapter", "Removed old code"
  • Commit names such as "Small changes" or "Fixes" are bad. If there are small changes, simply name them.

Branches

  • master is write protected.
  • Branch out for every single work-item / feature.
  • Naming convention: Descriptive name, all lowercase, dashes to separate words.
    Example: terraform-config

Pull Requests

  • Should be named like book chapters.
    Good: "Input Adapter", "Boilerplate Code"
    Bad: "Added input adapter"
  • Should be squashed before merging. That way commits in a branch do not pollute the master commit history.
  • Use labels.
  • Request reviews.
  • Add a description that summarizes the changes.

Issues

  • Naming convention: like book chapters (see PRs).
  • Use labels.
  • Used not only for code issues but also for work item tracking, meetings, ...
  • May have a conversational style.

Wiki

  • Knowledge base, i.e. formal content.
  • Should be updated to reflected the latest state.

Labels

  • Lowercase, dash-separated name.
  • Description as a sentence without full stop.
  • Colors of labels that are related to existing labels should have a similar color.