Repository navigation
Releases
v2.3.0
Nameable now checks GitHub repositories, not only accounts. The github channel asks whether github.com/<name>
is free, but a repository name is unique only within its account, so another project with the same name under
someone else's account went unnoticed. The new channel github-repo searches GitHub for repositories named exactly
the name, ignoring case.
npx nameable monibar --only github,github-repoA match names the repository, its stars and its last push, most recently active first, and meta lists up to ten
with their descriptions, so you can tell a project in your own field from an old experiment. Your repository can
still have the name, so a match is a clash, not a block. A free answer is probable: only the first 100 search
results are read, and forks are not searched.
github-repo is checked wherever github is: in the channels picked from a project, the general set outside one,
--all and the MCP tool's default. It uses the same GitHub token as github (GITHUB_TOKEN, GH_TOKEN or
gh auth token); without one, GitHub allows ten searches a minute, and a name past that comes back unknown.
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 現在除了 GitHub 帳號,也會查 GitHub repo。原本的 github 管道只查 github.com/<name> 有沒有人用,但 repo 名稱只在同一個帳號內唯一,所以別人帳號底下有同名專案時查不出來。新的管道 github-repo 會在 GitHub 上搜尋名稱完全相同(不分大小寫)的 repo。
npx nameable monibar --only github,github-repo查到時會列出 repo、star 數和最近一次 push,近期活躍的排前面;meta 最多列出 10 個並附上 description,方便分辨是同領域的專案還是早就沒在動的練習。你的 repo 還是可以用這個名稱,所以查到同名代表撞名,但不會被擋。只讀搜尋結果的前 100 筆,也不搜尋 fork,所以「可用」只能是 probable。
有查 github 的地方都會查 github-repo:從專案自動挑選的管道、不在專案裡時的通用組合、--all 和 MCP 工具的預設。它和 github 用同一個 GitHub token(GITHUB_TOKEN、GH_TOKEN 或 gh auth token);沒有 token 時 GitHub 每分鐘只允許 10 次搜尋,超過的名稱會回報 unknown。
安裝
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
v2.2.0
Nameable now checks Taiwan trademarks. The new channel trademark-tw looks a name up among the marks registered
with Taiwan's Intellectual Property Office (TIPO) that are in force, expired less than six months ago and so still
renewable, or applied for in the last three years. Marks are compared by the words in them, ignoring case, full-width
letters and punctuation, so Cover-Girl finds COVER GIRL.
npx nameable claude --only trademark-twA match names the mark's classes and whether it is registered, still renewable or only applied for, and links TIPO's
record of it. A mark limits a name only for goods and services like its own, so a match is a clash, not a block. A
free answer is probable: marks that look or sound alike are not checked.
TIPO's API takes about half a minute for each 5000 marks, so this project builds the list from TIPO's open data
(Open Government Data License, version 1.0) and publishes it in 16 parts; a check downloads only the part its name is
in, about 2 MB, and caches it for a day. The list leaves out who owns each mark.
trademark-tw is included in --all and in the MCP tool's default, but not in the channels picked from a project.
The Claude Code plugin's skill adds it when a project will be sold or marketed in Taiwan.
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 現在可以查台灣商標。新的管道 trademark-tw 會在經濟部智慧財產局(TIPO)的商標中查詢名稱,範圍包括:仍然有效的註冊商標、專用期限屆滿未滿六個月(仍可延展)的商標,以及近三年內提出的申請。比對的是商標圖樣中的文字,忽略大小寫、全形半形和標點,所以 Cover-Girl 會比對到 COVER GIRL。
npx nameable claude --only trademark-tw查到時會列出商標的類別,以及它是已註冊、仍可延展還是只在申請中,並附上智慧局的官方紀錄連結。商標只限制和它相同或類似的商品、服務使用這個名稱,所以查到同名代表撞名,但不一定會被擋。外觀或讀音近似的商標沒有檢查,所以「可用」只能是 probable。
智慧局的 API 每 5000 筆大約要半分鐘,所以本專案從智慧局的開放資料(政府資料開放授權條款第 1 版)整理出清單,分成 16 份發佈;查詢時只下載名稱所在的那一份,大約 2 MB,並快取一天。清單不收錄商標權人。
--all 和 MCP 工具的預設都會查 trademark-tw,但從專案自動挑選的管道不會包含它。Claude Code plugin 的 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
v2.1.1
Nameable now depends on Zod 4.6.7, past the advisory
GHSA-mrhx-c7xc-m3w5: Zod before 4.6.6 can exhaust memory while
validating oversized constrained collections. Both the npm package and the Claude Code plugin's lockfile carry the
fixed version. Nothing else in how names are checked has changed.
The MCP tool check_names also declares destructiveHint: false, next to its other hints, for directories that
require all four.
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 改用 Zod 4.6.7,避開安全公告 GHSA-mrhx-c7xc-m3w5:4.6.6 以前的 Zod 在驗證過大的受限集合時可能耗盡記憶體。npm 套件和 Claude Code plugin 的 lockfile 都已換成修正後的版本,檢查名稱的方式沒有其他變動。
MCP 工具 check_names 也補上了 destructiveHint: false,和其他提示並列,給要求四個提示都要有的目錄使用。
安裝
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
v2.1.0
The MCP tool check_names now takes channels or tlds that are empty or hold only blank entries as not given,
and uses the default instead of refusing the call. Clients that fill a tool's schema as a form, such as Glama's
inspector, send a list left blank that way, so they could not call the tool without checking domains. TLDs given
for a call that checks no domain are still refused, and the CLI is unchanged.
The Claude Code plugin's skill no longer runs the CLI through Bash when the tool is missing; it tells you the
plugin's MCP server did not start. The README now says what Nameable sends and where.
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
繁體中文
MCP 工具 check_names 現在會把空的、或只有空白項目的 channels 和 tlds 當成沒填,改用預設值,不再拒絕這次呼叫。用表單填寫工具參數的 client(例如 Glama 的 inspector)會這樣送出留白的清單,所以之前不查網域就沒辦法呼叫這個工具。在不查網域的呼叫裡填了 TLD,仍然會被拒絕;CLI 沒有變動。
Claude Code plugin 的 skill 在找不到 check_names 工具時,不再改用 Bash 執行 CLI,而是告訴你 plugin 的 MCP server 沒有啟動。README 也新增了會送出哪些資料的說明。
安裝
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
v2.0.2
The Claude Code plugin now runs its own copy of the CLI instead of fetching it through npx. When you install or
update the plugin, Claude Code adds the CLI's two dependencies from a lockfile in the plugin, so every install gets
the same versions. The plugin needs Node.js 22 or later, as the CLI does. The plugin also has an icon; the Nameable
name and logo are not covered by the MIT License (see the
README). The CLI and the MCP server are unchanged.
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
繁體中文
Claude Code plugin 現在改用內附的 CLI,不再透過 npx 下載。安裝或更新 plugin 時,Claude Code 會依照 plugin 裡的 lockfile 裝好 CLI 的兩個依賴,所以每次安裝拿到的版本都一樣。plugin 和 CLI 一樣需要 Node.js 22 以上。plugin 也有了 icon;Nameable 的名稱和 logo 不在 MIT License 的授權範圍內(見 README)。CLI 和 MCP server 本身沒有變動。
安裝
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
v2.0.1
Nameable is now on the official MCP Registry as
io.github.minanyang/nameable, so MCP clients that browse the registry can find and install it. The npm package
names it in mcpName, which the registry checks; nothing else changes.
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 已登錄到官方 MCP Registry,名稱是 io.github.minanyang/nameable,會從 registry 找 server 的 MCP client 現在可以找到並安裝它。npm 套件在 mcpName 裡寫了這個名稱,registry 會用它來驗證;其他都沒有變。
安裝
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
v2.0.0
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.--allchecks everything,--onlypicks 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_namestool and its inputs, the JSON fields with the values ofstatusandcertainty, the environment variables and the oldest Node.js version
supported. A minor release
may add a status. The wording oflabelandnote, whatmetaholds, and the channels picked from a project can change in
any release; pass--onlyto 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
繁體中文
第一個穩定版本。
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。
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。