TL;DR: I’ve released Codenamer, a simple CLI to generate codenames. Such as it’s own release codename,
$ curl -s https://en.wikipedia.org/wiki/Gravitational_Waves | codenamer --format pa,cJ,n15-cN,a,n20 astronomical-amplification
Using codenames for releases has been one of my hobbies, ever since I started using Angular, inspired by their cool-sounding and mysterious codenames.
Using names for releases in large-ish projects can make them easier to remember and to talk about. Even if the name is totally unrelated to the contents of a release, it can be easier to relate a feature set to a name than to an arbitrary number.
In order to be extra cool, codenames should:
- Sound awesome
- Keep to a theme
- Fulfill a set of rules, e.g.
- Optionally relate to the release number, e.g. start with
- Alliterations are welcome.
Codenamer lets you generate these memorable codenames without need for imagination. You just pipe it a (fairly large) body of text as input, and some rules for the codenames.
$ curl -s https://en.wikipedia.org/wiki/Alliteration | codenamer --count 10 --format cJ,n15-cN,a,n20 persuasive-parallelism specific-syllables symmetrical-syllable consonant-consonants alliterative-argument pickled-proposition special-speaker rhetorical-release memorable-meter potential-pairs
format option lets you specify the number of words per codename, the length of each word (or the combined length), the word class for each of the words and alliteration.
The module also has a Node API, so you can generate codenames as part of a release script or something.
Install it with
npm install --global codenamer, and you’re ready.
Check the repo at mikberg/codenamer.