Skip to content
On this page

Repositories

Naming conventions

Like

  • project-name-web monorepo
  • project-name-api
  • project-name-service
  • project-name-flutter
  • project-name-ios
  • project-name-android

Dislike

  • project-name
  • project-name-frontend
  • project-name-backend
  • project-name-js
  • project-name-mobile
  • project-name-cross-platform

Prefers to store Infrastructure as Code (IaC), such as Terraform code, in a separate repository named project-name-infrastructure.

Branches

  • The main and dev branches must always exist.
    • Default branch must be dev. So, every pull request may default to dev.
    • Establish a pull request procedure to merge code to dev and main by implementing branch protection rules for both branches.
    • Prevent developers committing straight to dev and main.
    • Prevent accidentally deleting dev and main.

Access Management

  • Check that the visibility of the code repository is set to private for projects.
  • User groups/teams must be used to control access. Never provide access to a single person. In other words, a person must be a member of a group and the group must be granted access. At least two user groups/teams are required:
    • Project Name - General: these users have only write access Typically, this group consists of the developers.
    • Project Name - Admin: these users have only admin access. Typically, this group consists of the Tech Lead or Senior.