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