@ drawbridge/ drawbridge- 代理服务器
抽取桥- * 单列的共享代理指令内容. 每一个取出桥* repo所消耗的公约(规则、代码样式、图案)的一个词源 CLAUDE.md (和今后其他代理配置文件).
为什么会这样
在这个包裹之前,每个取出桥* repo 都携带着同一个164行的字节-同文副本 CLAUDE.md更新规则意味着编辑13个地方,漂移是不可避免的。 现在,峡谷内容 住在这里;每个repo's CLAUDE.md 是一个很薄的文件 @ 进口.
版式
conventions/ ← canonical, agent-neutral content (@-imported into CLAUDE.md)
rules.md, javascript-formatting.md, ...
ecosystem.md ← always-loaded architecture map of the 16 repos
cross-repo-contracts.md ← load-bearing invariants that break across repos
docs-linkage.md ← consult the spec + @story/@doc code anchors
graphify.md ← query the family knowledge graph before grepping
claude/
CLAUDE.md ← aggregator — @-imports every conventions/*.md
.claude-template/ ← the complete shared .claude/, mirrored into each consumer repo
settings.json ← permissions, additionalDirectories, drift-check Stop hook,
family-wide plugin marketplaces + enabledPlugins
skills/ ← shared skills (drawbridge-ship-feature, -asana-ship-handoff, ...)
hooks/ agents/ commands/
.root-template/ ← mirrored to each consumer repo's root; files are stored DOTLESS
and the mirror restores the leading dot (one rule; also required
for npmrc since npm strips a literal .npmrc from tarballs)
mcp.json → .mcp.json project-level MCP servers (Sentry, Asana)
editorconfig → .editorconfig family-wide editor defaults (tabs, lf, utf-8)
npmrc → .npmrc save-exact=true (exact-pin convention)
nvmrc → .nvmrc family-standard node version (v22.23.4)
bin/
sync-claude.js ← drawbridge-agents-sync — mirrors templates + graphify preflight
graph.js ← drawbridge-agents-graph — builds the merged family knowledge graph
preflight-graphify.js ← ensures the graphify runtime is installed (called by sync)
scripts/
check-doc-links.js ← drawbridge-agents-check-docs — validates @story/@doc tags resolve
hooks/
drift-check.js ← Stop hook (wired via .claude-template/settings.json)
consult-docs-record.js ← PostToolUse hook: remembers a docs page read / graph query per session
consult-docs-gate.js ← PreToolUse hook: refuses the first source edit until both happened
qa-gate.js ← PreToolUse hook on the Asana comment tool: every "quoted label" must have been walked or exist in source; a session that changed code needs a clean QA report
guard-superpowers-docs.js ← PreToolUse hook: plans/specs go to drawbridge-docs
从吊桥取出*
-
作为安装 依赖性 (这个软件包只是代理工具——没有应用运行时间进口) 因此,它不能运送生产/数字海洋:
npm install --save-exact --save-dev @drawbridge/drawbridge-agents确保应用程序的安装步骤省略 devdependency(
npm ci --omit=dev) (中文(简体) ). -
替换还款
CLAUDE.md带有稀疏导入文件 :@./node_modules/@drawbridge/drawbridge-agents/claude/CLAUDE.md添加任何 Repo 特定规则 上文 进口线.
-
(可选) 导入本包中新增的狭义公约 :
@./node_modules/@drawbridge/drawbridge-agents/claude/CLAUDE.md @./node_modules/@drawbridge/drawbridge-agents/conventions/sync-side-effects.md -
扩大消费者范围
npm run sync以映射共享.claude/模板 :"sync": ". \"$HOME/.nvm/nvm.sh\" && nvm use && npm prune && npm install && npx drawbridge-agents-sync"在每一个
npm run sync,这个包将真实的单一来源映射到消费者身上:.claude-template/• 消费者.claude/- 那个 完整 共享设置 :settings.json(许可,additionalDirectories,漂移检查停止钩),加skills/, (中文(简体) ),agents/, (中文(简体) ),commands/, (中文(简体) ),hooks/。 。 。 ..root-template/− 消费者的回波根(.mcp.json, (中文(简体) ),.editorconfig(中文(简体) )
模板中存在的路径是 管理 (每个同步上覆盖)——每回波结束 上加一个相同的
.claude/。仅限settings.local.json(每个 dev 的个人覆盖)和 任何仅限消费者使用的文件都无动于衷.
克劳德代码 @ 进口级联——一条进口线解决下方的整棵树 claude/CLAUDE.md。 。 。 .
生态系统知识、图表和漂移检查
除了公约外,这个软件包还赋予了特工们交叉检索的能见度,并保持代码,docs, 和流出而来的知识图表。 此软件包是单个源; 每个 repo 得到一个 通过同步镜像获得相同的副本(见"交付模型").
- 家庭知识图 (Graphify).
npx drawbridge-agents-graph运行只有代码的 AST 逐一提取drawbridge-*将合并的图写到承诺的、共享的 地点drawbridge-docs/knowledge/graphs/global.json代理查询到graphify国 际 (例如:.graphify query "…" --graph ../drawbridge-docs/knowledge/graphs/global.json改为 greping; 刷新是重建 + 承诺在文件 +git pull(无 npm/publish 循环). 这个 运行时间是一个每台机器 Python 工具——npm run sync安装它 (单位:千美元)bin/preflight-graphify.js页:1DRAWBRIDGE_SKIP_GRAPHIFY=1跳过 CI/无头。 我们 故意这样做 没有 运行graphify install(将重写)CLAUDE.md);可选graphify-mcp如果您喜欢MCP,则服务器是可用的. - Docs链接 + 校验器. 特性代码携带
@story <domain>/<slug>编号 :@doc reference/<file>#<anchor>锚( 见conventions/docs-linkage.md) (中文(简体) ).npx drawbridge-agents-check-docs扫描每次重播, 如果主播不再解决则失败 反对drawbridge-docs。 。 。 . - 漂泊检查停止钩.
hooks/drift-check.js运行于每个任务收尾端,通过 漂移检查Stop钩入镜中.claude/settings.json。 块 关于未解决的 医生锚和上@story-anchored 代码更改后没有绘制桥-文件更改(每名 转身;第二次尝试通过,所以特工必须回答),并且 摇摆 (无阻塞)何时 图表看起来很僵硬。 它跳过计划模式,转动时没有源变化. - 秘密守护.
hooks/guard-secrets.js(PreTools Use on Read/Bash)拒绝读取任何.env*文件和一个显示一个、打印环境或打印环境的 Bash 命令op不重定向的值。 见conventions/secrets.md。 。 。 . - 读取前作钩.
hooks/consult-docs-record.js(后工具在读取/ Bash 上使用) 在本会话中读取了绘图-文件页并运行了图表查询;hooks/consult-docs-gate.js(PreTools Use on Write/Edit) 拒绝第一个源编辑直到 都发生了 见conventions/docs-linkage.md"强迫,不只是问". - 共享技能. 镜像到每个回波
.claude/skills/(从).claude-template/skills/:drawbridge-ship-feature(核实文件 ),drawbridge-asana-ship-handoff, (中文(简体) ),drawbridge-explore-ecosystem, (中文(简体) ),drawbridge-record-contract,以及卖方第三方impeccable设计技能impeccable-*代理人(参见conventions/design.md) (中文(简体) ).
交付模式
每笔押金都有 相同、正常化 代理设置, 所有来源于此软件包 :
CLAUDE.md□ 单行@import(从node_modules) (中文(简体) )..claude/(设置.json + 权限+ 钩子,技能,代理/命令/呼克) → 镜像 从.claude-template/和每笔押金..mcp.json, (中文(简体) ),.editorconfig~ 照出从.root-template/和每笔押金.- 配置文件( E)
.claude/, (中文(简体) ),.mcp.json) 被复制而不是导入,因为只减少标记 (单位:千美元)CLAUDE.md() 支持@import;镜像从一个来源保留了相同的拷贝. - 包是一个 依赖性 * 从未安装在数字海洋上.
- 知识图被承诺一次
drawbridge-docs/knowledge/graphs/; 图表化 运行时间 + 构建缓存为每台机器~/.graphify/(恶作剧).graphify install(编辑)CLAUDE.md从不运行.
更新规则或共享 .claude/ 文件
- 编辑相关的
conventions/<file>.md或者说.claude-template/<path>。 。 。 . - 弹出
version内package.json(样本:用于澄清的补丁,用于添加的规则/文件的次要部分,用于突破更改的主要部分). npm audit(每张画桥-*出版会).npm run build(运行)npm publish) (中文(简体) ).- 在每一次消费回购中跳出精确的插件
package.json财务报告和审定财务报表npm run sync。 。 。 .
内容图(原出地-目的地)
这个包是从原包取出 CLAUDE.md 以前住在每座桥*回放。 绘图:
| 原章节 | 文件 |
|---|---|
# Rules (8个编号规则) | conventions/rules.md |
# JavaScript Formatting (空格、结号、括号、逗号、分号、缩进) | conventions/javascript-formatting.md |
## Nested objects must always be expanded across multiple lines | conventions/nested-objects.md |
## JSX Fragments | conventions/jsx-fragments.md |
## Database Transactions | conventions/transactions.md |
## Property shorthand | conventions/property-shorthand.md |