MMG GitHub Repository Naming Convention
MMG GitHub Repository Naming Convention
Prepared by: YJ Kim, Santiago Paz, James Walmsley, Date: 10 Mar 2022
Mirco Bianchini and Kate Molony
Approved by: Maria Mingallon 14 Mar 2022 Checked by: Chris Teolis 11 Mar 2022
● Concise
● Memorable
● Readable
There may be Team or community specific naming conventions that have more detailed requirements for
naming repositories within that Team on GitHub, so members should look for and follow additional
instructions on the GitHub Team discussion page. For example, see the Data Science Community GitHub
Team
An example repository name could be “azfunc-structure-optimiser”, this is a real repository that relates to an
Azure function based around optimising structure members. This repository name heavily relates to the
platform and function of the repository.
A larger project may have a more arbitrary marketable name such as “overleaf” which is a real product that
provides cloud-based document editing and storage services.
This document is issued for the party which commissioned it and for specific purposes connected with the above-captioned project only.
It should not be relied upon by any other party or used for any other purpose.
We accept no responsibility for the consequences of this document being relied upon by any other party, or being used for any other
purpose, or containing any error or omission which is due to an error or omission in data supplied to us by other parties.
This document contains confidential information and proprietary intellectual property. It should not be shown to other parties without
consent from us and from the party which commissioned it.
Mott MacDonald 2
3 Repository Descriptions
The most important aspect for naming repositories is the repository description. This allows the owner to
describe the repository which is used by the GitHub search engine when a GitHub user searches the Mott
Macdonald GitHub for repositories. When a series of search results are returned, the repository descriptions
are shown to the user for them to sift out the useful repositories.
Therefore, a repository description should consider the following characteristics in reference to the repository
content:
● Descriptive
● Readable
● Contextual
● Concise
Some example generic terms to consider that can relate to the overall functionality or operating platform of
the repository:
● Library: A supporting library of functions, e.g., a series of Python classes/methods that share a theme.
● API: A collection of API functions/endpoints.
● Workflow: A workflow of steps that accomplish some output given an input.
● App: An application, expected to be deployed as distributed software or as a cloud solution.
● Tool: Specific to grasshopper/dynamo.
● Plugin: Extends an existing piece of software.
These characteristics for a repository description are important as it allows a person browsing repositories to
quickly ascertain the nature of a repository. It also helps to optimise repository search results.
Here is an example of a repository with a contextually related name and good description that aids a user
searching for repositories related to the Moata Carbon Portal:
Some of these repository names contain abbreviations related to the Moata Carbon Portal but all the
repository descriptions fit the given considerations allowing a user to easily find useful repositories.
Mott MacDonald 3
Here are some examples of topics (prior descriptors apply also). If none of the examples apply to your
repository, please suggest your topic and we will update the table below accordingly.
Every team is welcome to define their own topics extending from this basic list and publish them on
the GitHub team discussion.
3. Under "Topics", type the topic you want to add to your repository, then type a space.
4. After you've finished adding topics, click Save changes.
Mott MacDonald 4