Last updated: 11 Dec 2024
Name a new application or gem
This describes how you should name an application or gem on GOV.UK. It was first proposed in RFC 63.
Of course, break any of these rules sooner than say anything outright barbarous.
Naming applications
Firstly, the service manual has good guidance on naming things.
The most important rules:
- The name should be self-descriptive. No branding or puns.
- Use dashes for the URL and GitHub repo
- The name of the app should be the same on GitHub, Puppet and hostname
Publishing applications
Applications that publish things are named x-publisher.
Good:
- specialist-publisher
- manuals-publisher
Not so good:
- publisher (too generic)
- contacts-admin (could be contacts-publisher)
Frontend applications
Applications that render content to end users on GOV.UK are named x-frontend
Good:
- government-frontend
- email-alert-frontend
Not so good:
- collections (could be collections-frontend)
- frontend (too generic)
APIs
Applications that just expose an API are named x-api.
Good:
- publishing-api
- email-alert-api
Not so good:
- rummager (renamed to search-api)
Admin applications
Applications that “manage” things can be called x-manager or x-admin or thing-doer.
Good:
- search-admin
- local-links-manager
- content-tagger
Not so good:
- signonotron2000
- maslow (needs-manager)
Service applications
Applications which (probably) listen to the publishing queue and do a thing, with no API or web interface.
Good:
- email-alert-service
- cache-clearing-service
Not so good:
- cache-clearer
Naming gems
- Use the official Rubygems naming convention
- Use underscores for multiple words
- Use
govuk_
prefix if the gem is only interesting to projects within GOV.UK
Good:
govuk_sidekiq
govuk_content_models
govuk_admin_template
vcloud-edge_gateway
Not so good:
slimmer
plek
gds-sso
(should begds_sso
, orgovuk_sso
)