Skip to content

Naming Standards

Depending on the type of code, some repositories need to follow a certain naming scheme. We also would like to introduce some prefixes for repositories that are of a certain type. Outside of this list, if you are developing an application then feel free to just name your repository based on the name of the application or any other preferences you have.

A common pattern for naming in GitHub is to treat the repository name as a URL. This means seperation with - and all lowercase, no other special characters. Using dash is because it helps computers separate keywords from the url, and lowercase is because URL's are case sensitive. Regardless of the casing that you use for your app name, you should keep to this standard in the repository name.

Example:

App name: superAwesome Application

Repository: superawesome-application

Documentation

docs-<product-or-service>

Even though the repository is named something, the published page can have any custom domains that you like. For instance, this documentation is in the repository docs-github but the official address for it is github.crayon.com.

Internal Template Repository

template-<templatename>

Terraform Modules

terraform-<providername>-<modulename>

When developing Terraform modules, it is considered best practice to follow this naming standard. It make sense from a separation of concern perspective but it also enables you to publish your module on registry.terraform.io. For more Terraform information, read our Terraform Standards.

Terraform Providers

terraform-provider-<providername>

For many of the same reasons as modules, providers follow a strict naming scheme. A provider can not be published on registry.terraform.io without this naming scheme. For more Terraform information, read our Terraform Standards