Repository navigation
v0.1.0
First release.
Nameable checks whether a name is free on npm, PyPI, crates.io, Homebrew, GitHub and domains. It applies each
registry's own rules instead of reading "not found" as free, shows the evidence behind every answer, and says how sure
each answer is.
What's in it
- Six kinds of channel. npm, PyPI, crates.io, Homebrew, GitHub users and organizations, and domains on any TLD,
through RDAP or, for TLDs without it such as.ioand.sh, whois. - The rules a 404 does not show. A name the registry would refuse comes back as
unavailable, with the reason:- npm: names equal without punctuation (
first-oneandfirstone), Node.js core modules, the 24-hour block after an
unpublish. - PyPI: similar names (
f1askandflask), standard library names, projects without releases or in quarantine. - crates.io: reserved names and recently deleted ones.
- Homebrew: aliases and old names (
golangisgo), and names a formula cannot have. - Domains: labels registries cannot accept, such as emoji typed in punycode.
- npm: names equal without punctuation (
- Honest answers. A free answer is
confirmedwhen every rule public data allows was checked, andprobablewhen
one could not be, with the reason. A failed request isunknown, never free. - One name or many. One name shows each channel with its evidence; several names show a grid to compare them.
--jsonprints the same results for scripts, with exit codes. - For AI agents.
nameable mcpserves the same checks as an MCP server with one read-only tool,check_names.
A Claude Code plugin adds the/nameable:checkskill, which picks the channels that matter for your project, looks
for projects that already do the same thing, and gives a verdict for each candidate.
Install
npx nameable <name>Requires Node.js 22 or later. To use it from an AI agent, add npx -y nameable mcp as an MCP server, or install the
Claude Code plugin:
/plugin marketplace add minanyang/claude-plugins
/plugin install nameable@minanyang
繁體中文
第一個版本。
Nameable 會檢查一個名稱在 npm、PyPI、crates.io、Homebrew、GitHub 和網域上是否可用。它套用每個 registry 自己的規則,而不是把「查不到」當成可以用,並附上每個答案背後的證據,也說明每個答案有多確定。
內容
- 六類渠道。 npm、PyPI、crates.io、Homebrew、GitHub 使用者和組織,以及任何 TLD 的網域:透過 RDAP 查詢,沒有 RDAP 的 TLD(例如
.io、.sh)改用 whois。 - 404 看不出來的規則。 registry 會拒絕的名稱會回傳
unavailable,並附上原因:- npm:去掉標點後相同的名稱(
first-one和firstone)、Node.js 內建模組、unpublish 後的 24 小時封鎖。 - PyPI:相似名稱(
f1ask和flask)、標準函式庫名稱、沒有任何 release 或被隔離的專案。 - crates.io:保留名稱和最近刪除的名稱。
- Homebrew:別名和舊名(
golang就是go),以及 formula 不能使用的名稱。 - 網域:registry 無法接受的 label,例如以 punycode 輸入的 emoji。
- npm:去掉標點後相同的名稱(
- 誠實的答案。 所有能用公開資料查的規則都查過時,「可用」標為
confirmed;有規則沒辦法查時標為probable並說明原因。請求失敗一律是unknown,絕不會當成可用。 - 一個或多個名稱。 查一個名稱時列出每個渠道和證據;查多個名稱時用表格比較。
--json會輸出同樣的結果給 script 使用,並有對應的結束碼。 - 給 AI agent 使用。
nameable mcp會以 MCP server 提供同樣的查詢,只有一個唯讀工具check_names。Claude Code plugin 另外提供/nameable:checkskill:根據你的專案挑出重要的渠道、找有沒有人已經做過一樣的東西,並對每個候選名稱給出結論。
安裝
npx nameable <name>需要 Node.js 22 以上。要在 AI agent 裡使用,把 npx -y nameable mcp 加成 MCP server,或安裝 Claude Code plugin:
/plugin marketplace add minanyang/claude-plugins
/plugin install nameable@minanyang
詳見 README。