OpenClaw · dependency-cruiser · JSON · 远程 Mac · Monorepo

2026 OpenClaw 前端实战:
远程 Mac 上解析 dependency-cruiser JSON 输出、生成 PR 环形依赖门禁摘要并与合并流程对齐的可复现步骤

2026-04-30 架构门禁与平台工程 约 9 分钟

给要把 Monorepo 环形依赖做成可合并闸的团队:固定 dependency-cruiserJSON违规等级与模块数上限表,网关脚本触发后与 ESLint 类块合并回传 PR。延伸阅读 ESLint 与 Stylelint JSON 合并摘要Oxlint 与 Biome 合并摘要knip 未使用导出摘要首页资费帮助购买均可免登录打开。

依赖图闸 · 制品可举证 · 与合流对齐

痛点拆解

  1. 终端刷屏。默认文本报告难进评审上下文,Reviewer 不知是否阻断合并。
  2. 阈值口头化。「尽量少环」无法审计,跨团队复现时争议大。
  3. 多闸孤岛。lint 摘要与依赖图分两帖,维护者要手工对齐提交哈希。

原始 JSON 与折叠摘要

评审对象钉为「环、边数、模块数」三列。远程 Mac 与 CI 共用同条 npx depcruise 与同 --config

维度 贴整段 JSON OpenClaw 折叠摘要
可读性 modules 数组长,环难扫。 表头固定,环路径截断加余量行。
合流 与 lint 块格式不一。 统一 envelope:tool、level、summary_md。
举证 易夹绝对路径。 评论相对路径;全文进制品 URL。
npx depcruise src --config .dependency-cruiser.cjs \
  --output-type json > artifacts/depcruise/graph.json

违规等级与模块数上限

下表为常用起点,可调;写入 ci/thresholds/depcruise.json 供脚本与网关共读。

等级 条件 单环模块数上限 合并策略
S0 告知 仅测试或 story 目录内环。 ≤8 个模块展示在表内。 不挡合并;PR 打标签。
S1 警告 生产源码环或跨包但未触公共 API。 表内最多列 5 条环,余量计数。 要求跟进工单;可选挡合并。
S2 阻断 workspace 之间 barrel 互指或环上边数大于阈值。 任一环若 >12 模块直接 S2。 退出码非零;禁止合入主干。
可引用口径

全图扫描涉及的不同源文件数若超过两千,应在摘要头注明「大图截断」,避免Reviewer误判覆盖率。

可引用口径

同一拉取请求内 depcruise 节与 lint 节共用同一 commit_sha 字段,合并脚本按字典序拼块,便于 diff。

HowTo:网关或脚本触发

脚本scripts/depcruise/pr-summary.mjs 读 json 写 artifacts/pr/depcruise-summary.md网关:POST OpenClaw,带 Markdown、阈值版与 HMAC;重试截断,密钥不进日志。

落地六步

  1. 版本化 .dependency-cruiser.cjs,写好 includeOnlyexclude
  2. json 落约定相对路径,勿写 Runner 家目录。
  3. jq 或 Node 读 summary 等,出三列表与 cycle_count
  4. 读阈值 JSON 映射 S0/S1/S2 设退出码。
  5. 网关验签后并 ESLint 块;或 catgh pr comment
  6. 评论用 <!-- openclaw-depcruise:SHA --> 锚点幂等更新。

与合并流程对齐

Runbook 与 ESLint Stylelint 合并文对齐:先 lint 块再 depcruise,再润色一句可否合并。远程 Mac 复现争议 PR 时同分支同 npm ci 键重放脚本。

  • 阈值已审、锚点可搜、制品规则写 README。
  • 与 knip 摘要交叉:删 barrel 后环变,工单同链。
  • 大图仓优先真机跑图缩差。

要对齐 ARM CI 可打开 购买页 租节点,六步写入 Runbook,SSH 见 帮助中心

远程 Mac · dependency-cruiser · OpenClaw · 免登录

租 Apple Silicon 真机把依赖图与 PR 摘要跑在同一命令上

先看 首页算力资费,需要下单请打开 购买;更多 OpenClaw 实践见 博客列表

更多文章:博客列表

免登录去租真机跑依赖图门禁