# @adlc/lesson-foundry 中文文档

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

版本：1\.12\.0
npm 元数据更新时间：2026-10-10T03:04:10.175Z
中文译文更新时间：2026-11-06T00:27:27.937Z
软件包许可：MIT

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

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

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

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

## 中文简介

将起诉结论转化为永久辩护——更为接近(P7).

## 安装

```sh
npm install @adlc/lesson-foundry
```

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

## README

# 经验教训

**ADLC阶段:P7(更接近)**

将起诉结论转化为永久辩护。 每一次反复发现都要付一次钱.

> ADLC部分库存中的C9。 如果没有这一工具,生命周期不会变得更便宜——每跑一次都要重新获得经验教训.

## 它会做什么

1.  阅读JSONL分类账中的起诉结果(默认: `.adlc/findings.jsonl`(中文(简体) )
2.  跳过条目为 `verdict === 'killed'`; 表面形状错误的行
3.  按语义相似性分类的集群结果(token-set Jaccard {}0.5)
4.  大小的每组路线 `--min` 联合国 **最廉价的永久防御**数字 :
    -   **线性** - 任何成员脱口而出都含有引文的或可识别的标记(TODO、FIXME、eslint-disable等) – 释放出一个grep-gate JSON描述符+可运行标记符 `check-<name>.mjs` 脚本
    -   **杀人** - 类别是 `convention`, (中文(简体) ), `pattern`, (中文(简体) ), `architecture`,或 `style` 发射a `SKILL.md` 有前题和证据的插文
    -   **SPEC-GAP 计划** - 否则 - 附加一个问题: `interrogation-template.md` p1 地址
5.  默认: 干跑( 打印将写入的内容) 。 添加 `--write` 以发送文件.
6.  与 `--gate`: 退出 2, 如果任何集群没有在其中存在的非空防御文件 `--out-dir`,或如果发现分类账中包含无法解析/变形行数超过 `--tolerate-malformed`

## 使用量

```
lesson-foundry [options]

Options:
  --ledger <name>          Ledger name to read findings from (default: findings)
  --min <n>                Minimum cluster size to surface (default: 2)
  --out-dir <path>         Output directory for defense files (default: .adlc/lessons)
  --write                  Emit files (default: dry-run — prints what WOULD be written).
                           An existing non-empty artifact is kept; an empty one is regenerated
  --gate                   Exit 2 if any cluster >= --min has no non-empty defense file in --out-dir
  --allow-missing-ledger   Allow missing ledger file when --gate is set (bootstrap opt-in).
  --tolerate-malformed <n> Tolerate up to <n> unparseable/malformed ledger lines before failing --gate (default: 0)
  --llm                    Refine cluster wording via one mid-tier LLM call per cluster;
                           exits 1 (writing nothing) when no cluster could be refined
  --prompt-only            Print LLM prompts and exit 0 (works with zero API keys)
  --json                   Machine-readable output (stdout JSON, errors to stderr)
```

## 退出代码

| 代码 | 含义 |
| --- | --- |
| 0 个 | 门口——没有重复的无银行的经验教训(或门口没有设置) |
| 1个 | 操作错误——输入错误、无法读取的分类账、写作失败,或 `--llm` 无分组 |
| 2个 | 门失败——一个或多个集群在-out-dir中没有非空防御文件,或者分类账中包含错误的行 |

## 发送文件形状

### 电话: `<name>.lint.json`

```json
{
  "name": "cluster-name",
  "pattern": "ESCAPED_LITERAL_OR_MARKER",
  "paths": ["**"],
  "message": "lesson-foundry: recurring finding — <desc>"
}
```

### 电话: `check-<name>.mjs`

一个可运行的Node.js脚本为图案的回放提供grep,并在匹配时出站2个出站,清空后为0个出站. 运行它作为CI门.

### 杀: `<name>.SKILL.md`

用 YAML 前题标记下 (`name`, (中文(简体) ), `description`, (中文(简体) ), `category`, (中文(简体) ), `triggers`)和包含规则,证据引用和出处计数的一具尸体. 准备装入任何技术开采管道.

### SPEC-GAP: (英语) `interrogation-template.md`

附加到每个 spec-gap 集群带有复选框问题的文件 。 在P1谱中回答这些问题,以防止重复发现.

## 实例

**干跑看将产生什么:**

```bash
lesson-foundry --ledger findings --min 2
```

**写入辩护文件 :**

```bash
lesson-foundry --ledger findings --min 2 --write --out-dir .adlc/lessons
```

**CI 的门( 如果任何重复的课没有存入银行则失败) :**

```bash
lesson-foundry --ledger findings --min 2 --gate
```

**机器可读输出 :**

```bash
lesson-foundry --min 2 --gate --json
```

**通过LLM改进措辞:**

```bash
lesson-foundry --min 2 --write --llm
```

**打印 LLM 提示而不调用任何 API :**

```bash
lesson-foundry --min 2 --prompt-only
```

## 与兄弟姐妹工具的关系

| 工具 | 关系 |
| --- | --- |
| `adversarial-review` | 调查结果的主要来源——其JSONL产出为分类账提供经验教训 |
| `skill-mining` | sKILL.md分枝;技能开采管理全技能登记册 |
| `spec-lint` | 课程创建附件 `interrogation-template.md`; spec-lint 门在 spec 质量上 |
| `rails-guard` | 建立课时发布的国防文件应该像铁路一样公关——只读到其他工具 |

## ADLC 阶段

P7——复合体相近. 起诉结果在多个ADLC周期内累积。 效果是"一分一秒":每一课都得到准确的酬劳,反复出现的结果从概率检测(LLM审查,~每捕获一美元)降级到决定性检测(lint/grep,~永远免费).

## 核心差距

无。 所有所需功能均可在 `@adlc/core`。 。 。 .

## 常见问题

### @adlc/lesson-foundry 是什么？

将起诉结论转化为永久辩护——更为接近\(P7\)\.

### 如何安装 @adlc/lesson-foundry？

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

### @adlc/lesson-foundry 支持 TypeScript 吗？

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

### @adlc/lesson-foundry 支持 ESM 还是 CommonJS？

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

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

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

### @adlc/lesson-foundry 可以商用吗？

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

### @adlc/lesson-foundry 的下载量有多少？

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

### @adlc/lesson-foundry 还在维护吗？

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

