Creating a Repository

This public content is an excerpt from Flutter staff GitHub docs. It is published as a reference to show how GitHub is used for inner source at Flutter.

This guide explains how to create a new repository. Remember – if you create a repository you are responsible for maintaining it.


A good repository name allows users to accurately guess its contents. Repositories in Flutter-Global follow the conventions:

  • repository names MUST be lower case, using a dash (-) as a word separator.
  • use a relevant prefix to group several related repos together. e.g. for the fixed odds cashout quote functionality this is fcq-.
  • for the primary repository of an application use -service suffix, e.g. fcq-service.
  • each division usually maintains its own deployment repository for specific divisional configuration. If these repos live in Flutter-Global they usually contain config to indicate their contents. Show divisional ownership with a suffix (e.g. -ppb, -fdg, or -isp). e.g. fcq-config-ppb contains PPB deployment config for the FCQ service.


Every user in Flutter-Global has permission to create a new repository in the normal way in GitHub. Use the + drop-down menu on the top-right corner of a GitHub page and select New repository.

In the Owner drop-down, select Flutter-Global.

Enter the name of your repository and a description.

In Flutter-Global, all repositories are Private. If you want something different, contact the inner source team. Choose how you want to initialise then continue to create the repository. Creating a repository gives you an empty sandbox repository that you have full control over, and only you have access to. To share the repo, you need to configure it.

Configure Your Repo

To setup your repository:

  1. Choose a branching model: how do contributors propose changes, and who approves them?
  2. Choose an access model: who can access the repository, and with what permissions?
  3. Use Codebase Governor to quickly and easily setup (1) and (2) in an audit friendly way.

Read more about maintaining your repository.

Use a Repo
Maintaining a Repository