Contribute
Add to the Archive
The archive grows one entry at a time. If you’ve found a fictional expletive that isn’t here, here’s how to add it.
Check first
Check the browse page first to make sure the entry doesn’t already exist. Use the search bar — we may have it under a slightly different spelling or franchise name.
How to contribute
Contributions are made via GitHub pull request to the main repository. Fork the repo, add your entry to data/entries.json, and open a PR. A maintainer will review it for completeness and accuracy.
Required fields
| Field | Type | Description |
|---|---|---|
| term | string | The fictional word or phrase, as it appears in source material. |
| slug | string | URL-safe version of the term: lowercase, hyphens, no special chars. |
| englishEquivalent | string | The closest real-world profanity equivalent. |
| phoneticPronunciation | string | How it's pronounced, e.g. "FRAK" or "FREL". |
| partOfSpeech | string | e.g. expletive, noun, verb, adjective, phrase. |
| franchise | string | The franchise where it originates. Match existing names exactly. |
| medium | enum | TV | Film | Book | Comic | Game | Animation |
| category | enum | Expletive | Insult | Euphemism | Curse | Oath | Slang |
| severity | enum | Mild | Moderate | Strong | Extreme |
| notableSpeaker | string | The character most associated with the word. |
| firstAppearance | string | Episode, chapter, issue, or film where it first appeared. |
| shortDescription | string | A 1–2 sentence description. Tone: playful, precise, editorial. |
| etymologyNarrative | string | How the word was invented; in-universe and/or real-world origin. |
| usageHistoryNarrative | string | How and by whom it was used across the source material. |
| tabooTrajectoryNarrative | string | How its transgressive status evolved over time. |
| regionalNotes | string | In-universe regional variations, if any. |
| exampleQuote | object | { text: "...", source: "Speaker, Episode/Chapter" } |
| relatedWords | string[] | Slugs of related entries in this archive. |
| realWorldEuphemisms | string[] | Real words that serve a similar function. |
Validate your entry
Run the validation script before opening your PR:
node scripts/validate-entries.js
This checks all required fields, valid enum values, and duplicate slugs. PRs that fail validation will not be merged.
Style guide
- Write in the present tense for in-universe descriptions.
- Keep
shortDescriptionunder 200 characters when possible. - Narrative fields should be engaging — this is a reference archive, not a Wikipedia article.
- Be precise about first appearances. “Season 1” is acceptable; “Episode 3” is better.
- Don’t add entries for real-world profanity, only fictional coinages.
- The
idfield should be the next available integer as a string.
Ready to add an entry?
Fork the repository on GitHub, add your entry following this guide, and open a pull request. All contributions are reviewed by a maintainer before merging.
View on GitHub