Skip to content

Open Source Project Standards

  1. The name of the project repository MUST be all lowercase and use hyphens to separate words.
  2. The project MUST contain a README.md file.
    1. It MUST contain:
      1. A description of the project.
      2. Installation instructions.
      3. Usage instructions.
      4. License information.
    2. It SHOULD contain:
      1. Badge to show current build status.
    3. It COULD contain:
      1. Badges to show other relevant project statuses such as project version, code coverage, etc.
  3. The project MUST contain a CONTRIBUTING.md file.
    1. It MUST contain:
      1. How to report an issue.
      2. How to open a PR.
      3. The minimum requirements for a PR to be merged (testing etc).
      4. How to setup a development environment.
      5. How to run tests.
  4. The project MUST contain a LICENSE.md file.
  5. Source code SHOULD begin with a copyright message and link to the LICENSE file.
  6. The project MUST contain a CHANGELOG.md file, following the conventions laid out here: keepachangelog
  7. The project SHOULD use Travis CI to automatically run unit tests on branches and PRs.
  8. The project SHOULD use Docker for development, testing and execution.