Standup circles often circle back to a quick name: "How do you say kubectl?" Someone guesses "cube-cuddle." Another insists "koob-control." The moment stalls. A pronunciation dictionary built by developers, for developers, means to end that friction. Pronounce, hosted at pronounce.renlab.ai, ships 1,934 entries for project names, products, and programmer jargon. Each entry carries IPA, a plain-English respelling, and pre-rendered audio. One thousand two eighty-three entries carry a citable source. The project began as a side effort at Ren Lab and has grown into a community-maintained dictionary with a CLI tool, VS Code extension, GitHub Action, and MCP server integration.

The core problem the dictionary solves is simple: developers encounter unfamiliar project names constantly, and guesses vary. Kubernetes alone spawns kubectl, helm, Argo, and numerous other terms whose pronunciation is not obvious from spelling. Prior to Pronounce, a developer could search online and find Reddit threads, YouTube videos, or conflicting blog posts. No single authoritative source existed. The Pronounce project fills that gap with a single source of truth: a TSV file with 1,934 entries, each tagged with confidence level and, where available, a citable source URL.

Figures from the project highlight the scope. The dictionary contains 1,934 entries, 1,313 of which carry a citable source. One hundred sixteen readings are settled by the creator themselves, while 177 remain contested, with both readings in active use. The project saw its first commit in the GitHub repository anzy-renlab-ai/pronounce, and 275 commits later the dictionary covers cloud and DevOps tools, programming languages and frameworks, databases, and classic CS jargon. Categories include kubectl, nginx, YAML, GIF, JSON, SQL, GUI, and hundreds more.

Specific pronunciations that the dictionary clarifies rest on creator statements or official docs. Steve Wilhite, GIF creator, declared "jif" at the 2013 Webby Awards. Douglas Crockford, at RailsConf 2009, recommended "JAY-son" for JSON. The GNU Project specifies a hard G, "g-noo." Linus Torvalds himself has stated "LIN-ux" for Linux. Leslie Lamport's LaTeX is "lay-tek" or "lah-tek." Django, per the Django FAQ, is "JANG-go" with a silent D. Evan You's Vue is "view." Vite, the French word for quick, is "veet." Knative is "KAY-native." etcd, per its FAQ, is "et-cee-dee." Each of these readings carries a source URL in the dictionary, so a user running say-it --why JSON sees the IPA, the confidence rating, and the citation.

Not every entry has a creator clarification. For those where debate remains, the dictionary records alternate readings. kubectl sits in the contested column: "koob-control" versus "cube-cuddle." SQL is "sequel" versus "S-Q-L." JSON leans "JAY-son" versus "JEE-son." GUI is "gooey" versus "G-U-I." JWT splits "jot" versus "J-W-T." The CLI tool handles these by chaining the primary reading with "or" followed by the alternate, so the user hears both without staring at terminal output. A --solo flag suppresses the alternate once the user has internalized it.

The dictionary lives in data/pronunciations.tsv, a tab-separated file with 10 columns per entry: word, IPA, US respelling, alternate IPA, alternate respelling, source URL, source label, category, confidence, and notes. Confidence values are creator-clarified, community-consensus, and contested. Entries without a source URL are intentionally left blank rather than given a fabricated citation. The project prefers an honest gap over a invented authority.

Beyond the browser, the project ships practical integrations. The say-it CLI enters the workflow with a single command: say-it kubectl primary × 3, then "or: cube-cuddle" for the alternate. Flags extend the experience: --solo for primary only, --alt to focus on a specific alternate, --all to hear every alternate, --why to show IPA and source URL, --json for machine-parsable output. The CLI auto-detects the OS text-to-speech backend: macOS say, Linux espeak-ng or espeak, Windows PowerShell System.Speech. Linux users install espeak-ng; Windows users run the CLI under WSL or git-bash. A Homebrew tap anzy-renlab-ai/tap/say-it serves macOS installers.

The VS Code extension brings the dictionary into the editor. Hovering over a tech word displays IPA, a plain-English respelling, and a play button. A keyboard shortcut speaks the selection. The extension bundles the 1,934-entry dictionary as JSON at build time, so no runtime parsing adds latency. Other editor integrations include Cursor, Codex, Kiro, and the Claude Code skill, which triggers on pronunciation prompts and replies with audio instead of a phonetic guess. The MCP server, streamable via HTTP, lets any AI client query the dictionary without installing the CLI.

The GitHub Action, anzy-renlab-ai/pronounce, auto-generates a pronunciation glossary in a pull-request summary. When Markdown changes, the action scans for matched terms and writes a table with IPA, respelling, audio page, and creator or official source where available. The action runs from the repository snapshot: no token, no API key, no network request during the CI run. This means documentation PRs can include a sourced pronunciation guide at zero cost to the pipeline.

Contributing to the dictionary is open. A developer adds a row to data/pronunciations.tsv with required columns word, ipa, and respelling_us. A source URL is highly preferred. ContestEd readings go in the alt_* columns. The project accepts pronunciation entries and backend improvements equally. The maintainers emphasize keeping defaults opinionated: three repetitions, General American voice, Samantha on macOS. The single highest-leverage contribution, they note, is starring the GitHub repository, which signals to more developers that the project exists and invites their own entries.

Why this matters for teams: a shared pronunciation reduces the awkward standup moment, speeds onboarding for new hires, and creates a common mental model for discussing tools in meetings. When every team member hears "koob-control" instead of guessing, meetings run tighter. When documentation includes sourced pronunciations, new contributors do not have to reverse-engineer the "correct" reading from scattered blog posts. The dictionary transforms a fragmented guessing game into a single, authoritative reference.

The project shows no signs of stopping. The roadmap includes cloud TTS opt-in for names the built-in engines still mangle, an Anki export for vocabulary drills, and a light theme for the v2 homepage already shipped. The dictionary already powers audio in daily dev jargon challenges, a browser-based quiz, and a correction short-link system: pronounce.renlab.ai/say/<word>. What started as a list of 1,903 names has become a practical tool that lives in the terminal, the editor, the CI pipeline, and the AI assistant. For any team that values clear communication, it is a reference worth bookmarking.