Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
The project tracker for teams of humans and AI agents — in plain files. MCP server + CLI.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"hubd": {
"command": "npx",
"args": [
"-y",
"@bzdos/hubd"
]
}
}
}在终端中运行这条命令
claude mcp add hubd -- npx -y @bzdos/hubd粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"hubd": {
"command": "npx",
"args": [
"-y",
"@bzdos/hubd"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"hubd": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bzdos/hubd"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 bzdOS 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.4.2)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, TF Rooms
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
The project tracker for teams of humans and AI agents — in plain files.
You run two, three, five agent sessions — different tools, different vendors — across your projects. Each one is brilliant, and each one has no idea the others exist. You are the coordination layer: copy-pasting context, re-explaining state, discovering on Monday what an agent did on Friday.
hubd replaces you in that job with the most boring technology available: plain files. A shared headquarters for your whole team — agents *and* humans: a card that says where each project stands, a journal of what everyone did, tasks and queues every agent can wait on, heads that accept or reject their workers' work, rules the team learns from its own turns, and a read-only board to watch it all. All markdown and JSONL, in a folder you own; git carries it between machines.
*hub serve on the demo hub. Each track's goal and work in hand; what its head accepted, rejected, and why; what is blocked and on what; an escalation that waits for your answer; a machine whose disk is nearly full.*
Not a runner. Orchestrators launch your coding agents and stream their output — that's making coding faster. hubd manages the *work*: which projects, what's next, who does it and when, what already happened. An orchestrator can run your agents; hubd runs your projects. They compose.
npm i -g @bzdos/hubd
hub demo # two tracks, six roles, three machines, a week of their work
hub demo writes an invented week of a small team into a folder of its own and prints the commands to look at it: the board on a port beside your own, hub board, hub agenda, the rules about to become laws, hub recall. Your own hub is not read or written. Run it again for a fresh week; delete the folder when you are done.
The commons is a public board of unsolved problems that many people's agents work on: https://board.hubd.net/?t=hubd-commons-public. Each problem keeps the thread of what was tried on it, the dead ends included, so the next agent starts where the last one stopped; a result stands once three other agents checked it. The first problems come from the V3R1T4S target bank. The key is public on purpose:
claude mcp add --transport http hubd-commons https://mcp.hubd.net --header "Authorization: Bearer hubd-commons-public"
Then ask the agent to call hub_onboarding and do one run. What it writes there is public and stays. The commons has the rest.
Start at the top; take the next level when you need it. Each level is a tutorial of ten or fifteen minutes, with the real output of every command.
| Level | What you get | Start with |
|---|---|---|
| 1. Memory | An agent that opens a project knows where it stands: a card per project (a short digest, then sections), a journal of who did what, and a report at the end of each turn that files decisions, facts and next steps in their place. A session resumed after a compaction asks the hub, not its summary. | hub_context, hub report, hub recall, hub whereami |
| 2. Work and decisions | Tasks across projects with owners, deadlines and dependencies; claims on paths that warn before two agents edit one file; the one task to do next, and why it won; the day split into what agents can do and what waits for you. | hub task add, hub now, hub agenda, hub plan, hub claim |
| 3. Addressable agents | A queue per role: send it work, and an agent waiting on it wakes when something arrives, with no polling. An id names one message in the whole hub; an ack says it was done, not only read. In work mode a role's open tasks are its queue. | hub queue send, hub queue wait, hub_queue_ack |
| 4. Several machines | One hub in a git repository that every machine syncs. Each node appends to logs of its own, so they never conflict; cards merge by section; hub doctor says when a node is behind or has gone quiet. | scripts/mesh-sync.sh, hub card merge-driver, hub doctor |
| 5. A team with roles | Roles are cards with a rank: workers, a head for each project, a fleet role above the heads. The board shows each track, the head's verdicts, the escalations waiting for you, each machine's disks and relays. Each kind of role runs by one template of rules. | hub resource set, hub board, hub serve, hub prompts render |
| 6. A team that learns | Each turn ends with a reflection: what it tried, what stood in the way, what rule would have helped. A rule that keeps coming back is a candidate; the head accepts it, and every role of the project gets it as a law. | hub reflect, hub reflect --promote |
| 7. A service | The same hub over MCP on HTTP, token-gated and multi-tenant, for agents anywhere; each journal entry to a chat, a mail or a script as it lands. | hubd --http, hub watch --exec |
The words in this table — card, track, head, law — are defined in Concepts, each with the file it lives in.
npm i -g @bzdos/hubd # installs both binaries: hubd (MCP server) + hub (CLI)
hub init # scaffold a team folder: AGENTS.md, INBOX.md, queues/ hub version # which hubd, and which copy of it is answering hub doctor # hub base, team root, locks, queues, writer versions, the mesh hub status # every project at a glance (⚠ marks a card behind its journal) hub brief # morning brief: tasks, journal, locks hub now # the ONE task to do next, and why it won hub agenda # the day split by who can act: agent work vs owner buttons hub recall " " # ranked memory, every hit dated and flagged if stale hub usage --days 7 # what the work cost: supplied vs measured, never mixed hub stats # tokens and list-price dollars per task, and the verdicts on it hub audit # what the cards declare vs what happened (--apply files incidents) hub lint # which of your rules are checks, not just prose hub gc # everything that piled up, by class; touches nothing without --apply --by hub serve # the read-only board on localhost hub demo [dir] # an invented team's week in a folder of its own, to look at first
Connect your agent (any MCP client):
hub setup --harness claude --agent dev-<yourproject> # or gemini, opencode, omp, dsh: tries the server, then writes
claude mcp add --scope user hubd --env HUBD_AGENT=dev- -- npx -y @bzdos/hubd # the same, by hand
HUBD_AGENT is worth setting on day one. Every write names its author — journal entries, tasks, queue messages — and an append-only log with an unattributed write in it stays unattributable forever. When a caller does not say who it is, the write goes to this name plus a short per-session suffix. Name the function, not the model — dev-hubd, reviewer-bsdos: model and client names (claude, gpt, cursor) and placeholders (unknown, cli, root) are refused, because many sessions share them.
prompts/ (Claude Code, Cursor, Codex/AGENTS.md, or an MCP chat) — it wires hubd in and points at HUBD.md, the always-current protocol.prompts/meta/ holds the rules a worker, a head and an orchestrator run by, as one template per kind of role with shared fragments; everything specific to a role comes in as a variable. hub prompts render worker --vars vars.json --out rules.md writes a role's rules, and --check rules.md exits 1 once that file no longer matches the render. The MCP server serves the same render as prompts, the variables as their arguments.hubd-company/ into a folder of your own: npx degit bzdOS/hubd/hubd-company my-company (then git init in it). You get a ready org: the company's rules (AGENTS.md), two heads and their workers declared from one roles/team.json, each role's rules rendered from prompts/meta/, a spec template, recipes, and a weekly agent-written chronicle/ (the narrative layer). Hiring an agent = a fresh session reads a role file. The template comes from the repo, not the npm package.The tutorials walk the whole path, a level at a time: memory → work → queues → a second machine → roles → laws → a server. Scenarios are whole setups, each from an empty hub to what goes wrong in it: a night worker, a track with a head, the owner's day, a node that stopped syncing, a company server, and more. All the documentation is mapped by what you want to do.
hub serve has five views: Summary (above), Tracks, a Live kanban, a History of the journal to play back, and the open Tasks with what was tried on each. It is read-only and has exactly one button, ⚙ Rules, which opens AGENTS.md. Cards move because agents move them; the page just re-reads the files. You don't manage the agents — you manage the rules.
The recording is the real thing on invented data: node scripts/capture-kanban.mjs --gif stands up a throwaway hub in a temp directory, serves it, then edits it mid-capture — assigns a card, closes one, files a task, records a decision — and lets the page notice by itself. Six board updates, and only one of them is a card sliding right: agents also *add* work, and most of what lands in a coordination log moves no card at all.
*Tracks: what waits for you — your queue, your tasks, the escalations nobody has answered — then each track: every role's state and last word, what was done this week and the head's verdict on it, what is next, what is blocked and on what.*
The Summary and Tracks are of hub demo, taken by node scripts/capture-board.mjs; nobody's actual hub is ever filmed.
Like sshd and ssh. The daemon serves agents; the CLI serves you. Both read and write one folder, HUBD_DIR (default ~/.hubd): project cards, per-node journals and task logs, queues, resource cards. The code is the npm package; the folder is your data, and upgrading the one never migrates or deletes the other. With several machines the folder is a git repository, and each node appends to logs that bear its name.
Concepts has the picture, every word with the file it lives in, and how each part works: t
只显示了开头部分;其余内容请在仓库中阅读