pronounce — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pronounce (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<h1 align="center">🔊 say-it · Pronounce</h1>
<p align="center"><strong>Stop saying "kub-cuttle". One Bash command pronounces 1738+ developer jargon names — with cited sources.</strong></p>
<p align="center"> <a href="https://github.com/anzy-renlab-ai/pronounce/stargazers"><img src="https://img.shields.io/github/stars/anzy-renlab-ai/pronounce?style=social" alt="GitHub stars"></a> <a href="https://pronounce.renlab.ai"><img src="https://img.shields.io/badge/live-pronounce.renlab.ai-7adfbb?logo=safari&logoColor=white" alt="Live site"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a> <a href="https://pronounce.renlab.ai/browse"><img src="https://img.shields.io/badge/dictionary-1738%20entries-8fd694" alt="Entries"></a> <a href="https://marketplace.visualstudio.com/items?itemName=sayit.pronounce"><img src="https://img.shields.io/visual-studio-marketplace/v/sayit.pronounce?label=VS%20Code&color=007ACC&logo=visualstudiocode" alt="VS Code Marketplace"></a> <a href="https://open-vsx.org/extension/sayit/pronounce"><img src="https://img.shields.io/open-vsx/v/sayit/pronounce?label=Open%20VSX&color=8fd694" alt="Open VSX"></a> </p>
<p align="center"> 🌐 <a href="https://pronounce.renlab.ai"><strong>pronounce.renlab.ai</strong></a> · 🇨🇳 <a href="https://pronounce.renlab.ai/zh" hreflang="zh-Hans">中文</a> · 📖 <a href="https://pronounce.renlab.ai/browse">Browse</a> · 🎯 <a href="https://pronounce.renlab.ai/quiz">Quiz</a> · 🎤 <a href="https://pronounce.renlab.ai/#hero-search">Voice search</a> · 🔌 <a href="mcp-server/">MCP server</a> </p>
<p align="center"><img src="https://pronounce.renlab.ai/demo.gif" alt="say-it kubectl — terminal demo" width="720"></p>
<p align="center"> <a href="https://github.com/anzy-renlab-ai/pronounce/releases/download/v2.5.0/promo.mp4"><strong>▶ Watch the 47-second promo</strong> (with voice)</a> · <a href="https://pronounce.renlab.ai/quiz">🎯 Try the quiz</a> · <a href="https://pronounce.renlab.ai/#hero-search">🎤 Voice search</a> </p>
git clone https://github.com/anzy-renlab-ai/pronounce.git
cd pronounce && ./install.sh
say-it kubectlsay-it CLI demo — kubectl, YAML, TOML, Ghostty
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](https://pronounce.renlab.ai).
⭐ If say-it kubectl saves you one cringey standup moment — [star the repo](https://github.com/anzy-renlab-ai/pronounce). It nudges more devs to contribute their favorite mispronounced project name.<p align="center"><a href="https://star-history.com/#anzy-renlab-ai/pronounce&Date"><img src="https://api.star-history.com/svg?repos=anzy-renlab-ai/pronounce&type=Date" alt="Star history" width="600"></a></p>
1,738 entries, all sourced — 67 settled by the creator themselves, 158 the community still argues about. The famous ones:
| Word | It's… | …not | Settled by |
|---|---|---|---|
| [GIF](https://pronounce.renlab.ai/word/gif) | "jif" | "gif" (hard g) | Steve Wilhite (creator), NYT 2013 |
| [nginx](https://pronounce.renlab.ai/word/nginx) | "engine X" | "n-jinx" | NGINX official |
| [YAML](https://pronounce.renlab.ai/word/yaml) | "yam-ul" | "yammel" | yaml.org |
| [GNU](https://pronounce.renlab.ai/word/gnu) | "guh-NEW" (hard g) | "noo" | GNU Project |
| [LaTeX](https://pronounce.renlab.ai/word/latex) | "lay-tek" | "lay-teks" | Lamport / LaTeX project |
| [TOML](https://pronounce.renlab.ai/word/toml) | rhymes with "knoll" | "tom-el" | Tom Preston-Werner (creator) |
| [Tcl](https://pronounce.renlab.ai/word/tcl) | "tickle" | "T-C-L" | John Ousterhout (creator) |
| [awk](https://pronounce.renlab.ai/word/awk) | "auk" (like the bird) | "A-W-K" | Aho / Weinberger / Kernighan |
| Word | Camp A | Camp B |
|---|---|---|
| [kubectl](https://pronounce.renlab.ai/word/kubectl) | "koob-control" | "cube-cuddle" |
| [SQL](https://pronounce.renlab.ai/word/sql) | "sequel" | "S-Q-L" |
| [JSON](https://pronounce.renlab.ai/word/json) | "JAY-son" | "JEE-son" |
| [GUI](https://pronounce.renlab.ai/word/gui) | "gooey" | "G-U-I" |
| [JWT](https://pronounce.renlab.ai/word/jwt) | "jot" (per RFC 7519) | "J-W-T" |
Every cell has IPA, audio, and the source. [Hear all 1,702 →](https://pronounce.renlab.ai/browse)
Disagree with one? That's the whole point — open a PR with your reading and a source. The argument is the dataset.
creator-clarified / community-consensus / contested) with a citable URL where one exists. 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.--solo skips the tail once you've internalized it.say engine that's already on your Mac. Ships a Claude Code skill and an MCP server so your AI answers "how do you pronounce X?" with audio, not a phonetic guess.$ say-it --why JSON
word JSON
ipa /ˈdʒeɪsən/
respelling_us jay son
source Douglas Crockford (RailsConf 2009)
url https://www.youtube.com/watch?v=-C-JoyNuQJsBecause 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.
Some pronunciations aren't opinions — the creators settled them. The dictionary cites every one:
| Word | Reading | Source |
|---|---|---|
GIF | "jif" (creator says so) | Steve Wilhite, Webby Awards 2013 |
JSON | "jay-son" | Douglas Crockford, RailsConf 2009 |
GNU | "g-noo" (hard G, one syllable) | GNU Project official |
Linux | "LIN-ux" (short i, schwa) | Linus Torvalds himself |
LaTeX | "lay-tek" (or "lah-tek") | Leslie Lamport, official |
Django | "JANG-go" (silent D) | Django FAQ |
Vue | "view" (one syllable) | Evan You, Vue docs |
Vite | "veet" (French for quick) | Vite docs |
Knative | "KAY-native" (the K is voiced) | Knative docs |
etcd | "et-cee-dee" (et-cetera-distributed) | etcd FAQ |
Every dictionary entry includes a source_url. Run say-it --why <word> to see it.
brew install anzy-renlab-ai/tap/say-it # HomebrewOr the "Try it in 30 seconds" block above. ./install.sh drops:
~/.local/bin/say-it,~/.local/share/say-it/pronunciations.tsv,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,~/.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](https://pronounce.renlab.ai).
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 voicesThe default voice is Samantha (General American). Pass -v <voice> for any other macOS voice — but the dictionary is GenAm-only, by design.
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 怎么发音 / 读一下 Xhow do you pronounce X / pronounce X / how do you say XYour AI replies with sound, not just a phonetic guess. Skill file: skills/pronounce-word/SKILL.md.
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/.
Pronounce demo — kubectl, YAML, Ghostty, wagmi
Hover over any tech word in any file — see the IPA, hear the pronunciation. Same 1738-entry dictionary as the CLI, JSON-bundled at build (zero runtime parse cost).
# Cursor / VSCodium / Zed / Gitpod / Theia / code-server (Open VSX)
code --install-extension sayit.pronounce
# or the listing: https://open-vsx.org/extension/sayit/pronounceNow live on Microsoft Marketplace too: ext install sayit.pronounce in VS Code. See marketplace listing.
kubectl, YAML, Ghostty, wagmi… → tooltip with IPA + 🔊 Play + ★ Star link.🔊 sayit — click to speak the current selection.Source: integrations/vscode/. Cross-platform as of v0.3 — macOS say, Linux espeak-ng, Windows PowerShell.
Click any tech word on any webpage → popup with IPA + audio. Same 1738-entry dictionary; same Web Speech API as pronounce.renlab.ai. Sideload only for now (not yet on Chrome Web Store).
Download pronounce-chrome-0.1.0.zip from the latest release → unzip → chrome://extensions/ → Developer mode → Load unpacked.
Source: integrations/chrome/.
data/pronunciations.tsv is the single source of truth — tab-separated, 1738 entries, covering:
kubectl, nginx, Kubernetes, helm, Istio, Envoy, Prometheus, Grafana, Terraform, Argo, Knative, etcd, containerd, runc, Podman, ...Django, Vue, Vite, Pydantic, Bun, Deno, Hugo, Hono, Caddy, Svelte, Astro, Pinia, ...PostgreSQL, Postgres, SQLite, MySQL, MongoDB, Cassandra, Redis, Ceph, ScyllaDB, ClickHouse, DuckDB, ...GIF, JSON, SQL, GUI, GNU, char, regex, sudo, tmux, chmod, WYSIWYG, ASCII, enum, NaN, SaaS, PaaS, ...Linux, Debian, Ubuntu, Arch, Nix, LaTeX, TeX, emacs, zsh, ...Each entry has 10 columns: word | ipa | phon_us | alt_ipa | alt_phon_us | source_url | source_label | category | confidence | notes. The phon_us column is Apple's Speech Synthesis phoneme set, injected into say via [[inpt PHON]]…[[inpt TEXT]]. This is what gives the intended reading rather than whatever the TTS would have inferred from the letters.
Local override: drop a ~/.config/say-it/pronunciations.local.tsv and it takes precedence.
say engine. Zero dependencies.--alt [N], --all, --solo, --why, --json, --md, --no-dict, list, search, quiz, repl, stream, doctor, export, benchmark, badge, cheatsheet.See DESIGN.md for the architecture.
System.Speech.SpeechSynthesizer, same CLI flags.espeak-ng, then cloud).Two things we want most:
data/pronunciations.tsv. Required columns: word, ipa, phon_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.DESIGN.md §Backends.Keep it tiny. Keep it dep-free where possible. Keep the defaults opinionated (3 reps, GenAm, Samantha voice).
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.
Optional, if it's saved you real standup pain:
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.
<a href="https://github.com/anzy-renlab-ai/pronounce/graphs/contributors"><img src="https://contrib.rocks/image?repo=anzy-renlab-ai/pronounce" alt="Contributors"></a>
Every entry, source upgrade, and skill fix counts. Open a PR — your face shows up here.
MIT — see LICENSE.
IPA is a reference. Audio is a teacher.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.