BCPs for development

Must have

  • sign every commit, but do not trust single commit to be safe to merge
  • sign every release tag
  • pin all external dependencies using hashes
  • lint git tags

Should have

  • require doc strings
  • use only audited external dependencies
  • Rust: cargo-vet
  • define formatting rules to enforce consistent style
  • define other requirements
  • require impact assessment for commits

Nice to have

Git Commits

In commit message body

  • impact: <major|minor|patch> see: https://semver.org/
  • type: <feat|fix|docs|style|refactor|test|chore> see: https://www.conventionalcommits.org/en/v1.0.0/