# @adlc/backlog-groom 中文文档

规范地址：https://npmcn.com/package/%40adlc/backlog-groom/

版本：1\.12\.0
npm 元数据更新时间：2026-10-10T02:35:03.613Z
中文译文更新时间：2026-11-06T02:41:48.174Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adlc/backlog-groom
原文对照：https://npmcn.com/package/%40adlc/backlog-groom/?lang=original
项目主页：https://github.com/voodootikigod/adlc/tree/main/packages/backlog-groom#readme
源码仓库：https://github.com/voodootikigod/adlc

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：183 kB，27 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2026-10-10T02:34:07.605Z
- 最新版本发布：2026-10-10T02:35:03.398Z
- 近 30 天下载量：6211（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

Grooms a GitHub针对代码的积压问题——基于代码的前提验证,集群,关系和排名.

## 安装

```sh
npm install @adlc/backlog-groom
```

也可以使用：`pnpm add @adlc/backlog-groom`、`yarn add @adlc/backlog-groom`、`bun add @adlc/backlog-groom`

## README

# @adlc/ backlog- groom (英语)

GitHub 问题积压 **针对代码**:核实每期是否 总部仍保留着 分组问题按套件 位置坐在那里,按所学的排列,并发布一套版本.

**默认只读; `--apply` 写作.** 无 `--apply` 命令读取 积压和代码,并且不写给 GitHub 。 与 `--apply --set <groomed.json>` 它在一套新装上行动——关闭和重新贴上标签——以及每一项行动 通过对抗性评论员, 自主层和评论第一写. 写入还需要 `ADLC_MANIFEST_KEY`:没有它,每个动作都会降为 提议(见e/cn.4/sub.2/2000/l.10) [门帐已经签了](https://npmcn.com/package/%40adlc/backlog-groom/#readme-the-gate-ledger-is-signed)) (中文(简体) ).

```bash
adlc backlog-groom                                   # report (read-only)
adlc backlog-groom --json                            # the groomed set (read-only)
adlc backlog-groom --threshold 0.4 --out set.json    # write the set to a file (read-only)
adlc backlog-groom --apply --set set.json            # gated, floored writes to GitHub
```

包裹的二进制, `backlog-groom`使用同样的旗帜.

| 旗帜 | 含义 |
| --- | --- |
| `--profile <path>` | 配置文件 JSON( 默认) `.claude/backlog-groom-profile.json`; 拒绝 `--apply` |
| `--cache <path>` 编号 : `--no-cache` | 裁决缓存( 默认) `.adlc/backlog-groom-cache.json`),或跳过 |
| `--threshold <n>` | 关系 候选人-过滤阈值, 0–1 (默认 0.2) |
| `--json` 编号 : `--out <path>` | 发出由 JSON 制作的套装 / 将其写入文件 |
| `--apply` | 在一个新装配的集上行动——唯一写给 GitHub 的模式 |
| `--set <path>` | 与 `--apply`: 培养出来的机器 |

退出代码 : `0` 运行完成(包括 `--apply` 运行每个动作 降为提案人, `1` 操作出错 。 没有门故障出口.

## 为什么它存在

积压的标签在存档时被盖一面并被烂掉。 没有重新检查 问题是否仍然真实。 这个包可以机械地回答问题 在它可以的地方,说得那么明了 在它不能的地方, 永远不要让 "我们没有看" 读作"我们看,它坚持。".

## 三条路线

| 路线 | 含义 |
| --- | --- |
| `mechanical` | 身体带有可解析的代码参考——a `path:line` 和/或与其相关的有栅栏的片段 |
| `model` | 关于代码的可核对索赔,但没有任何可核对的 |
| `unverifiable` | 完全没有关于代码的可核查索赔 |

`unverifiable` 这是头等大事 折叠为“ 仍然有效 ” 是 特定的假绿色 此套件存在以避开 .

## 判决

`valid` • 妇女 `fixed` • 妇女 `moved` • 妇女 `unverifiable` • 妇女 `unverified` (模式路线,尚未判断)

有三条规矩 `fixed` ——导致结束的判决——诚实:

-   **被引用的行是一个提示,从来不是一个身份.** 上面任何不相关的编辑a 引用会改变它下面的每一行, 所以一个线 - 焦虑的比较报告 `fixed` 为活代码.
-   **所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出.** 发行机构例行引用 非毗连行相. 相匹配是一个顺序中的子序列,和 _部分_ 活着 `unverifiable` ——代码更改了,更改了没有固定.
-   **从未跟踪过的路径不是被删除的文件 .** 外表是传言 像一条道,并称它 `moved` 将报告引出 仓库从来没有.
-   **引用的路径必须是文件 .** 修订版的目录是 `unverifiable`数字 : git会显示一个列表,一个节选从不匹配一个列表.

集群和区域重新标签只使用自检查的引用 `valid` 或者说 `fixed`一个问题可以是: `valid` 在一个活的引用上,另一个命名一条路径 第二道路却说不出工作在哪里.

在若干引文中 `moved` > 翻译: `valid` > 翻译: `unverifiable` > 翻译: `fixed`,所以每一次打结失败 _没有_ 关闭. `unverifiable` 超级 `fixed` 是微妙的:一个问题,一个引言已逝去,另一个问题已逝去 未显示无法检查的状态,关闭时会采取行动 证据不足.

## 简介

`.claude/backlog-groom-profile.json`,由核心解析 **未关闭** —— 说 任何深度的未识别密钥都是操作错误, 因为配置 默默地无视它不理解的东西 手给你一个你相信的场景 已经生效,没有.

```jsonc
{
  "schemaVersion": 1,               // the only required key
  "autonomyFloor": ["close"],       // read by the write path
  "units": [{ "name": "parallax", "paths": ["packages/parallax/**"] }],
  "frozenPaths": ["packages/rails-guard/**"],
  "labels": { "priority": { "high": "P1-high" }, "areaPrefix": "area:" },
  "providers": { "decider": "anthropic", "reviewer": "openai" }
}
```

一个缺失的剖面是好的——默认是一个完整,保守的剖面. 一个畸形的不是:那是你所做的错误陈述.

写入路径将配置文件视为信任根,并将其与 与默认分支合并基数: 宽度 `autonomyFloor`减少 `frozenPaths`, (中文(简体) ), 或不同 `providers`, (中文(简体) ), `labels` 或者说 `units` 拒绝 `--apply`,以及 `--apply` 拒绝 `--profile` 因为基线是在剖面图自己的路径上读取的.

**这一基线是建立在可再生能源基础上的.** `git ls-remote --symref origin HEAD` 询问远端的默认分支, 并且它指向一个 交换,合并基础必须能够从该承诺中达到。 当地法官决定 无: `git update-ref refs/remotes/origin/main HEAD` 是一个本地写作, 而且是 不移动比较点。 未能到达遥控器的每一种方式——不 源, 无法到达的寄存器, 无法取回的承诺, 合并基础 在遥控器历史之外——拒绝运行而不是倒下。 仅 `--apply` 到达远程; 读取路径保持本地化 .

**遥控锚没有覆盖的东西.** `origin` 不管怎么样 `.git/config` 名字,那个文件是当地的州。 可以重写它(`git remote set-url`)可以指点 `origin` 在他们控制的仓库, 持有一个承诺 a 扩大下限,基线如下。 主播停止一个可以编辑的呼叫者 配置文件或移动本地参考文件; 它不会阻止可以重写的人 `.git/config`。针对呼叫者,分类账键是边界:没有 `ADLC_MANIFEST_KEY` 没有任何文字,但是政策检查没有进行.

## 门帐已经签了

每个条目 `.adlc/backlog-groom-ledger.json` 携带一个HMAC 整个 内容,按键 `ADLC_MANIFEST_KEY` 和每个域分开 签名文物 (# 1035). `ledgerApproves` 拒绝签名为 缺少,错误,或不再符合它涵盖的内容——包括: `applied`,哪个 决定是否按照已经做的那样跳过并报告写入.

**因此,写作是一种关键持有人行为.** 没有钥匙,什么也封不住,所以 每一个行动都降级到一个提案, 运行仍然报告它会有什么 完成了,它离开0。 无人看管的代理人提议; 结束一个问题需要 键。 签名是调用者无法计算的一个字段——每个字段, `artifactDigest` 由行动本身产生.

**分类账是每个检查状态.** `.adlc/backlog-groom-ledger.json` 实值 gitignored,一个缺席的文件是第一次运行. 一发制人的规则——一次审查 百分比 `(issue, contentHash)` - 因此,在一次检查之内: 文件,或从新退票或新工作树上运行,忘记所有花费 并可以再次审查同一修订。 签名停止 a 伪造批准,而不是被遗忘的拒绝。 关键是边界:谁持有 可以重新运行 从新鲜的离职 并获得新的审查.

## 递增

隐藏在 `.adlc/backlog-groom-cache.json`每期按键 `(updatedAt, contentHash)`。 。 。 . **无内容的问题 Hash 只能缓存为 `unverifiable` 或者说 `unverified`。 。 。 .** 这涵盖了一个没有参考路径的问题 并引用任何无法读取的路径: 它的密钥没有代码 组件,因此代码更改不能使其无效,缓存 `valid` 或者说 `fixed` 将胜过固定,或复出.

## 关系

相似性是一个 **候选过滤器, 永远不要证据**判决 和释放的关系 引用推理而不是分数。 这个 过滤器的回想是可以找到的天花板, 所以每个运行报告有多少 被排除的双胞胎 从未被评判过 他们决定了跑步的可能 已经找到.

真正的失收率需要这个工具没有的地面真相; 报告一个 这将是错误的精确。 被排除的计数是实际可知的.

选择 `--threshold` 从那些报告的数字。 因为判断是一对, 唯一有用的阈值是 一个浮出水面的计数将会被判断, 计数急剧倒塌:在381个未解决的问题上 (72 390对) `0.2` 默认表面23,327对, `0.3` 表面为360, `0.35` 表面为47, `0.4` 表面 13, 显示, `0.5` 表面1,和 `0.6` 及以上职等 表面无. `0.4` 是一个合理的起点。 数字以 积压的大小和标题相似,因此重新计量,而不是重新使用它们——每个 运行打印 `relationFilter`。 。 。 .

## 诚实的规矩

每跑一次都会有路线分布 短道速滑的接线员都这么说 大声一点 由机械验证的4%仍有用 坐在结论旁边,因为不完全的考试绝不能 以完整形式出现.

## 什麽 `fixed` 没有,也不意味着

`fixed` 表示 **引用的每行问题都来自它引用的文件**。 这并不意味着缺陷是固定的,区别在于:

-   重写每个引用时, 重写者可以保留同样的错误行为 线条。 这个工具会判决 `fixed`虫子还在那儿.
-   反之,当周围的逻辑停止时,代码可以逐字存活 到达它.

这就是为什么 `fixed` 生成关闭 **建议** 而不是一个接近, 为什么 证据带有它所计算的修改及其读取的路径,以及 为什么写路径会让每个提案都通过新内容审查员和 在应用任何方法之前,必须先有自主的底线。 判决是强烈的信号 分门别类,不是证据, 和这个设计的一部分 把它当作一个.

证据字段已命名 `lastCommitTouchingPath` 出于同样的原因: 最后承诺触摸文件,并不一定是删除文件的 引用行。 发现这需要 皮克克斯搜索每个引用,和呼叫 清除承诺是工具从未检查过的主张.

## 缓存不是信任边界

缓存是当地出土的有花纹的表演文物. 谁都能写出来 可以输入一个判决——但任何能够写入它的人也可以编辑代码,以便 因此它没有增加特权。 因此,一个缓存的判决是 **没有** 证据:书写路径必须把提案视为有待审查的事项 其优点,以及 `--no-cache` 在运行需要时进行全面重新核查 独自站立.

## 常见问题

### @adlc/backlog-groom 是什么？

Grooms a GitHub针对代码的积压问题——基于代码的前提验证,集群,关系和排名\.

### 如何安装 @adlc/backlog-groom？

在项目目录运行 npm install @adlc/backlog-groom，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 backlog-groom，可以用 npx backlog-groom 直接运行。

### @adlc/backlog-groom 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adlc\_\_backlog-groom 是否存在。

### @adlc/backlog-groom 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @adlc/backlog-groom 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @adlc/backlog-groom 可以商用吗？

@adlc/backlog-groom 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @adlc/backlog-groom 的下载量有多少？

根据 npm 官方下载统计，@adlc/backlog-groom 在 2026/10/05 – 2026/11/03 这 30 天内被下载 6,211 次，日均约 207 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @adlc/backlog-groom 还在维护吗？

最新版本 1\.12\.0 发布于 2026/10/10（27 天前）；至今共发布 2 个版本，其中过去 12 个月发布了 2 个；首次发布于 2026/10/10。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

