Phabricator/Diffusion/Callsign naming conventions

When repositories (git, SVN, etc.) are created in Phabricator, they are given a callsign. These are all-uppercase strings that are used in URLs and links. The important thing about callsigns is they cannot be changed (unlike repository names and other settings). Therefore, callsigns should be picked carefully as they become a permanent part of our nomenclature. Here are a couple of guidelines for picking a Phabricator callsign:

  • It must be unique – cannot be used by any other repository already
  • By extension: it should be forward thinking. If you know other repos exist (or are going to exist) that may clash, planning ahead for that is good.
  • Must be 4 letters or less, the first letter (or two) is reserved for the group under which the repo exists:
    • M - mediawiki/*, except for extensions and skins
    • E - extensions
    • S - skins
    • W - wikimedia
    • AN - analytics
    • AP - apps
    • CI - integration
    • O - operations
    • L - labs
    • T - labs/tools
    • PH - phabricator
    • PW - pywikibot
    • G - general (repos that don't really have another larger home but don't need their own group)
  • The remaining letter or two can be an abbreviation, acronym, or some other method of uniquely identifying the repository in question.

To add a new prefix for grouping, open a task for the Repo-Administrators project and gain consensus :)