How engineers pronounce developer jargon — 1,903 confidence-tagged entries with citations.
io.github.anzy-renlab-ai/pronounce — MCP Server
This MCP server (io.github.anzy-renlab-ai/pronounce) provides pronunciations for developer jargon, using a Bash command that pronounces 1,903 confidence-tagged entries with citations. The server is positioned around pronunciation/dictionary data and speech synthesis outputs (e.g., IPA/tts) for developer terms.
git clone https://github.com/anzy-renlab-ai/pronounce.git
cd pronounce && ./install.sh
say-it kubectl
That's it. Now try say-it GIF, say-it nginx, say-it Pydantic, say-it --why JSON, or say-it quiz for a 10-question challenge. Linux users: install espeak-ng (sudo apt install espeak-ng) and the CLI just works. Windows: same CLI under WSL or git-bash + PowerShell. Or skip install and use the browser at pronounce.renlab.ai.
⭐ If say-it kubectl saves you one cringey standup moment — star the repo. It nudges more devs to contribute their favorite mispronounced project name.
🏆 The developer pronunciation scoreboard
1,903 entries — 1,283 carry a citable source — 108 settled by the creator themselves, 175 the community still argues about. The famous ones:
Disagree with one? That's the whole point — open a PR with your reading and a source. The argument is the dataset.
What you're actually getting
1,903 entries — 1,283 carry a citable source. Confidence-tagged (creator-clarified / community-consensus / contested), each with a citable URL where one exists (we'd rather leave it blank than fabricate one). Wilhite said GIF is "jif" at the 2013 Webby Awards. Crockford says JSON is "JAY-son" (RailsConf 2009). RFC 7519 says JWT is "jot". The dictionary cites them.
Multi-reading audio. For words where the debate is real — GIF, SQL, GUI, char, regex — the CLI chains the alternates after the primary with a spoken "or:" so you hear the debate without staring at the terminal. --solo skips the tail once you've internalized it.
One Bash CLI, no npm runtime. No sudo, no framework bootstrap, no surprises. It detects macOS say, Linux espeak-ng/espeak, or Windows PowerShell System.Speech. The repo also ships a Claude Code skill and an MCP server so your AI answers "how do you pronounce X?" with audio, not a phonetic guess.
A docs-native GitHub Action. Scan Markdown changed by a pull request and emit a sourced pronunciation glossary in the job summary — no API key, dependency install, or network request.
Canonical website audio. The site plays each committed canonical MP3 first and uses Web Speech only as a fallback if playback fails.
bash
$ say-it --why JSON
word JSON
ipa /ˈdʒeɪsən/
respelling_us jay son
confidence contested
source Wikipedia § Pronunciation
url https://en.wikipedia.org/wiki/JSON#Pronunciation
Why not just Google?
Because Google gives you 47 Reddit arguments and a YouTube clip you have to unmute. IPA gives you /ˈkuːb kənˌtroʊl/ — a reference, not a teacher.
You don't need a phonetic transcription. You need to hear the word. Twice. Maybe three times. Done.
say-it ships a community-maintained dictionary of how engineers actually say the names that trip everyone up — and feeds the intended respelling to your OS's text-to-speech engine, so kubectl comes out as koob-control, not whatever your computer guessed from the letters.
Famous moments
Some pronunciations aren't opinions — the creators settled them. The dictionary cites every one:
Run say-it --why <word> to see the citation when an entry has a source_url; unsourced entries are left blank rather than given a fabricated URL.
Install
bash
brew install anzy-renlab-ai/tap/say-it # Homebrew on macOS
Or the "Try it in 30 seconds" block above. ./install.sh drops:
the CLI at ~/.local/bin/say-it,
the pronunciation dictionary at ~/.local/share/say-it/pronunciations.tsv,
if you use Claude Code, a pronounce-word skill at ~/.claude/skills/pronounce-word/ so any "how do you say X?" prompt to your AI gets answered with audio instead of IPA,
the same skill into ~/.agents/skills/ (Codex CLI) and ~/.kiro/skills/ (Kiro) when those dirs exist — it's the cross-tool Agent Skills standard.
Make sure ~/.local/bin is on your $PATH. Linux also works — install espeak-ng (sudo apt install espeak-ng / brew install espeak-ng). Windows: WSL or git-bash + PowerShell. Or skip install entirely with the browser version at pronounce.renlab.ai.
Usage
bash
say-it kubectl # primary × 3, then "or: <alt>" for each alternate
say-it --solo kubectl # primary only — silence the "or:" tail
say-it --alt GIF # focus on the first alternate
say-it --alt 2 GUI # focus on the Nth alternate (1-indexed)
say-it --all SQL # primary AND every alternate, each repeated
say-it --no-dict kubectl # bypass the dictionary entirely
say-it --why JSON # show IPA, source URL, category, confidence
say-it list # every word in the dictionary
say-it search redis # grep the dictionary (case-insensitive)
say-it -n 5 Pydantic # 5 repetitions instead of 3
say-it -r 110 Knative # slower (110 wpm; default is 130)
say-it -o /tmp/word.aiff Postgres # save to file instead of playing
say-it --list # all macOS voices
The default macOS voice is Samantha (General American); -v <voice> selects another macOS voice. Linux and Windows use their detected backend's English voice. The dictionary is GenAm-only, by design.
Claude Code integration
Install the cross-tool Agent Skill directly with GitHub CLI:
You: kubectl 怎么读?
Claude: 🔊 (plays "koob-control" three times)
/ˈkuːb kənˌtroʊl/ — "KOOB-control". Kelsey Hightower says it
this way (KubeCon talk). "Cube-cuddle" is an alternate —
try `say-it --alt kubectl` to hear it.
Once installed, the pronounce-word skill auto-triggers on:
X 怎么读 / X 怎么发音 / 读一下 X
how do you pronounce X / pronounce X / how do you say X
Not on Claude? Same skill drops into Codex CLI (codex plugin marketplace add anzy-renlab-ai/pronounce) and Kiro (~/.kiro/skills/), and the MCP server covers Claude Desktop, Cursor, Continue, Zed, Cline & friends — full matrix in integrations/.
GitHub Action — pronunciation guides for docs
Add a pronunciation glossary to every documentation pull request:
Pronounce Docs scans changed Markdown/MDX and writes a table containing each
matched term, its IPA, plain-English respelling, audio page, and creator or
official source where available. It runs locally from the repository snapshot:
no token, API key, telemetry, package install, or network request. See the
complete setup, inputs, and outputs.
Hover over any tech word in any file — see the IPA, hear the pronunciation. Same 1,903-entry dictionary as the CLI, JSON-bundled at build (zero runtime parse cost).
Now live on Microsoft Marketplace too: ext install sayit.pronounce in VS Code. See marketplace listing.
Hover over kubectl, YAML, Ghostty, wagmi… → tooltip with IPA + 🔊 Play + ★ Star link.
⌘⇧' — speak selection.
Status bar🔊 sayit — click to speak the current selection.
Welcome walkthrough — 4-step onboarding on first install.
Pronounce: Search dictionary… — fuzzy-find all 1,903 entries.
Source: integrations/vscode/. Cross-platform as of v0.3 — macOS say, Linux espeak-ng, Windows PowerShell.
Chrome / Edge / Brave extension
Click any tech word on any webpage → popup with IPA + audio. Same 1,903-entry dictionary. The extension speaks through Web Speech; pronounce.renlab.ai plays the committed MP3 corpus first and reserves Web Speech for fallback. Sideload only for now (not yet on Chrome Web Store).
Each entry has 10 columns: word | ipa | respelling_us | alt_ipa | alt_respelling_us | source_url | source_label | category | confidence | notes. respelling_us is plain English-like input passed to the detected OS TTS backend, so the intended reading is spoken instead of asking the engine to guess from the project name.
Local override: drop a ~/.config/say-it/pronunciations.local.tsv and it takes precedence.
What works today
✅ macOS — built-in say.
✅ Linux — espeak-ng (preferred) or espeak.
✅ Windows — PowerShell System.Speech from the same Bash CLI under Git Bash/MSYS2/Cygwin.
✅ 1,903 entries; 1,283 carry a citable source — the rest are confidence-tagged, no fabricated citations.
✅ Audible multi-reading awareness — contested words audibly chain alternates with "or:".
☁️ Cloud TTS (opt-in ElevenLabs / OpenAI) for the names native TTS still mangles.
📚 Anki export for vocabulary drills.
🌗 Light theme on the v2 homepage (already shipped on word/SEO pages).
Contributing
Two things we want most:
Pronunciation entries. Open a PR adding a row to data/pronunciations.tsv. Required columns: word, ipa, respelling_us. Highly preferred: source_url (creator interview, conf talk, official FAQ — anything verifiable). Contested readings are welcome; put the rival in alt_* columns and we'll wire --alt through.
Backend quality. macOS (say) is the gold standard; the Linux (espeak-ng) and Windows (PowerShell) backends ship but are best-effort — help us close the gap. See DESIGN.md §Backends.
Keep it tiny. Keep it dep-free where possible. Keep the defaults opinionated (3 reps, GenAm, Samantha voice).
⭐ Support — start with a star
The dictionary is free and MIT. The single highest-leverage thing you can do is star the repo — it's the signal that pulls in more contributors, more PRs, more creator-clarified entries.
Dollars cover hosting (Vercel/Cloudflare/Open VSX), domain renewals, MiniMax narration credits for promo videos, and time to track down creator citations for new entries.
Contributors
Every entry, source upgrade, and skill fix counts. Open a PR — your face shows up here.