Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 08:31
· 40 commits to main since this release

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 .io and .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-one and firstone), Node.js core modules, the 24-hour block after an
      unpublish.
    • PyPI: similar names (f1ask and flask), standard library names, projects without releases or in quarantine.
    • crates.io: reserved names and recently deleted ones.
    • Homebrew: aliases and old names (golang is go), and names a formula cannot have.
    • Domains: labels registries cannot accept, such as emoji typed in punycode.
  • Honest answers. A free answer is confirmed when every rule public data allows was checked, and probable when
    one could not be, with the reason. A failed request is unknown, never free.
  • One name or many. One name shows each channel with its evidence; several names show a grid to compare them.
    --json prints the same results for scripts, with exit codes.
  • For AI agents. nameable mcp serves the same checks as an MCP server with one read-only tool, check_names.
    A Claude Code plugin adds the /nameable:check skill, 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

See the README (繁體中文).


繁體中文

第一個版本。

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。
  • 誠實的答案。 所有能用公開資料查的規則都查過時,「可用」標為 confirmed;有規則沒辦法查時標為 probable 並說明原因。請求失敗一律是 unknown,絕不會當成可用。
  • 一個或多個名稱。 查一個名稱時列出每個渠道和證據;查多個名稱時用表格比較。--json 會輸出同樣的結果給 script 使用,並有對應的結束碼。
  • 給 AI agent 使用。 nameable mcp 會以 MCP server 提供同樣的查詢,只有一個唯讀工具 check_names。Claude Code plugin 另外提供 /nameable:check skill:根據你的專案挑出重要的渠道、找有沒有人已經做過一樣的東西,並對每個候選名稱給出結論。

安裝

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。