Skip to content

Repository Guidelines

madhivedan edited this page Jul 7, 2022 · 6 revisions

Note: This page follows rfc2119 definitions for words like MUST and SHOULD.

All repositories in alicenet:

Community

  • SHOULD be public.
  • SHOULD be named lowercase, with hyphen breaks, like-so.
  • MUST use The MIT License.
  • SHOULD have a Description set.
  • SHOULD have Topics set.
  • SHOULD have the organizational CODE_OF_CONDUCT file.

Development

  • SHOULD build and test cleanly after cloning.
  • SHOULD track code coverage with codecov.io with a badge in the README.
  • SHOULD provide a DevContainer which has all dependencies needed to build, test and develop in the repository.
  • SHOULD have branch protection on the main branch such that a code review and CI completion gates merges.
  • SHOULD only allow for squash-merging to maintain a clean history.
  • SHOULD have the organizational CONTRIBUTING file.
  • SHOULD automatically delete branches after successful merge.

Permissions

Security

  • MUST use Dependabot to automatically update dependencies.
  • SHOULD utilize common linting and code formatting tools.
  • MUST use CodeQL to scan all repository code.
  • MUST NOT contain checked in secrets.

Releases

  • SHOULD follow SemVer versioning.
  • SHOULD release at the same time as all other alicenet releases with the same version.

Clone this wiki locally