Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 21:14
· 18 commits to main since this release

The first stable release.

Nameable now checks a name on 20 registries and directories plus domains, picks the ones that matter from your
project's files, and keeps its CLI, JSON and MCP tool stable under semantic versioning from here on.

What's new

  • Fifteen new channels.
    • Package registries: RubyGems, Packagist, pub.dev, NuGet and Docker Hub.
    • AI agent directories: the official MCP Registry, Smithery, Anthropic's Claude Code marketplace, Cursor's
      marketplace and the Gemini CLI gallery.
    • Editor marketplaces: VS Code Marketplace, Open VSX and JetBrains Marketplace.
    • App stores: the App Store and Google Play.
  • More rules a 404 does not show. pub.dev's plurals and names kept for the Dart and Flutter teams, RubyGems'
    reserved names and yanked gems held for their owners, IDs NuGet deleted but still holds, Docker Hub's official
    images, Open VSX's similar-namespace rule, the words JetBrains refuses in plugin names.
  • Channels picked from your project. Run it in a project and it reads the manifests there, or up to the
    repository root: npm, PyPI, crates.io, RubyGems, Packagist, pub.dev and NuGet packages (skipping private apps,
    servers and test projects), Dockerfiles, editor and agent plugins, MCP servers, and mobile apps; at a workspace
    root, every member's. --all checks everything, --only picks by hand.
  • Clashes, not only blocks. Where a name is not exclusive (the MCP Registry, Google Play, the Gemini CLI
    gallery) or an app title adds a subtitle, the answer says another entry uses the name and that it does not block
    yours.
  • A stable contract. Semantic versioning covers the commands and options, the exit codes, the channel IDs, the
    check_names tool and its inputs, the JSON fields with the values of status and certainty, the environment variables and the oldest Node.js version
    supported. A minor release
    may add a status. The wording of label and note, what meta holds, and the channels picked from a project can change in
    any release; pass --only to fix them.

Changes from 0.1.0 that scripts may notice: --clear-cache exits 2 when it cannot clear the cache (1 is kept for a
taken name), and --tlds takes at most 20 TLDs and needs domain among the channels. The full list is in the
changelog.

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 現在會檢查名稱在 20 個 registry 和目錄,以及網域上是否可用;會根據專案裡的檔案挑出需要查的管道。從這個版本開始,CLI、JSON 和 MCP 工具都遵循語意化版本(semver),不會任意變動。

新功能

  • 新增 15 個管道。
    • 套件 registry:RubyGems、Packagist、pub.dev、NuGet、Docker Hub。
    • AI agent 目錄:官方 MCP Registry、Smithery、Anthropic 的 Claude Code marketplace、Cursor marketplace、Gemini CLI 擴充目錄。
    • 編輯器 marketplace:VS Code Marketplace、Open VSX、JetBrains Marketplace。
    • App 商店:App Store、Google Play。
  • 更多 404 看不出來的規則。 pub.dev 的複數形和保留給 Dart、Flutter 團隊的名稱,RubyGems 的保留名稱和替原擁有者保留的 yanked gem,NuGet 刪除但仍保留的 ID,Docker Hub 的官方 image,Open VSX 的相似 namespace 規則,JetBrains 不允許出現在 plugin 名稱裡的字。
  • 依專案挑選管道。 在專案裡執行時,會讀取當前目錄(或往上到 repository 根目錄)的 manifest:npm、PyPI、crates.io、RubyGems、Packagist、pub.dev、NuGet 套件(private app、server 和測試專案不查)、Dockerfile、編輯器和 agent plugin、MCP server,以及行動 app;在 workspace 根目錄會合併每個成員的管道。--all 查全部,--only 自己指定。
  • 撞名,不只是被擋。 在名稱不獨佔的地方(MCP Registry、Google Play、Gemini CLI 擴充目錄),或 app 名稱多了副標題時,結果會說明已經有其他項目用了這個名字,但它不會擋住你。
  • 穩定的介面。 semver 涵蓋的範圍:指令和選項、結束碼、管道 ID、check_names 工具和它的參數,JSON 的欄位和 status、certainty 的值、環境變數,以及支援的最低 Node.js 版本。次版本可能新增 status。label 和 note 的文字、meta 的內容,以及從專案挑出哪些管道,任何版本都可能調整;需要固定管道時請用 --only。

script 可能會注意到的、相對 0.1.0 的變更:--clear-cache 清不掉快取時結束碼改為 2(1 只代表名稱被佔用),--tlds 最多 20 個 TLD,而且管道裡要包含 domain。完整列表見 changelog。

安裝

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。