# @afokapu/atdd-bun 中文文档

规范地址：https://npmcn.com/package/%40afokapu/atdd-bun/

版本：0\.10\.116
npm 元数据更新时间：2026-11-05T11:39:20.636Z
中文译文更新时间：2026-11-05T22:30:43.524Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40afokapu/atdd-bun
原文对照：https://npmcn.com/package/%40afokapu/atdd-bun/?lang=original
项目主页：https://github.com/afokapu/atdd-bun#readme
源码仓库：https://github.com/afokapu/atdd-bun

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

- 包体积（解压后）：2.8 MB，1290 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：4 个
- 首次发布：2026-09-22T18:58:19.562Z
- 最新版本发布：2026-11-05T11:39:20.319Z
- 近 30 天下载量：11982（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：140（近 12 个月 140 个）

## 中文简介

用于保存其计划、接受、测试和执行的存储器的原生ATDD执行。 它检查了计划明确表明的联系:

## 安装

```sh
npm install @afokapu/atdd-bun
```

也可以使用：`pnpm add @afokapu/atdd-bun`、`yarn add @afokapu/atdd-bun`、`bun add @afokapu/atdd-bun`

## README

# `@afokapu/atdd-bun`

用于保存其计划、接受、测试和 在一个基特历史中执行。 它检查了计划明确表明的联系:

```text
plan / WMBT → acceptance → Bun test → implementation
```

它运行在Bun 从仓库自己的 `node_modules`,没有全局安装和网络 访问。 与本地测试相同的检查 与快速反馈的Git钩一样, 这是合并的大门。 每个发现都失败了:没有咨询模式,也没有调整基线.

## 安装

```sh
bun add -d @afokapu/atdd-bun
bun run atdd-bun init
```

`init` 安装 Git 钩(`.githooks/`),CI工作流程(A`.github/workflows/atdd-bun.yml`, (中文(简体) ), 管理区块 `AGENTS.md` 财务报告和审定财务报表 `CLAUDE.md`,以及 `atdd-bun.integrity.test.ts`全部提交 他们。 没有东西是覆盖的 无 `--replace`,添加依赖性后再运行 `init`。 。 。 .

然后要求工作流程在 GitHub 分支规则中的工作,所以它门会合并.

关于已申报的 GitHub 包范围 `.npmrc` (例如, `@forgeonehundred:registry=https://npm.pkg.github.com`),运行 `bun run atdd-bun ci init --replace`。生成器保留了该范围并添加 仅限 `//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}`; 生成的工作流程 为被冻结的安装步骤提供电子动作符号。 它拒绝一个 已有存储的符号,而不是读取、复制或替换.

## 图标

| 命令 | 它会做什么 |
| --- | --- |
| `atdd-bun [profile ...] [--root <path>]` | 执行命名简介; `all` 运行每一个激活的 |
| `atdd-bun init [--replace]` | 安装钩子、 CI、 代理文件和完整性测试 |
| `atdd-bun hooks <install|uninstall|status>` | 只管理 Git 钩 |
| `atdd-bun ci <init|status>` | 只管理 CI 工作流程 |
| `atdd-bun agent <init|status>` | 管理 `AGENTS.md`编号 :`CLAUDE.md` 指令块 |
| `atdd-bun profiles registry [--check]` | 生成(或核实)确定性剖面范围公约登记册 |
| `atdd-bun integrity [init|status]` | 检查工具包及其生成的文件是否未修改 |
| `atdd-bun docs journeys [--check]` | 生成( 或验证) 行程、 交错和列车视图 |
| `atdd-bun worktree <start|finish|status>` | 代理工作的可选链接-工作树木政策 |
| `atdd-bun release check` | 仅读 SemVer 和 释放意图检查 |
| `atdd-bun help [--json]` | 每一个命令和特征, 人或代理可读 |

跟着他们跑 `bun run atdd-bun …`。要在断开关闭时使单一的 Bun 测试失败 :

```ts
import { registerEnforcementTest } from "@afokapu/atdd-bun/register";
registerEnforcementTest({ root: import.meta.dir + "/..", profiles: ["traceability"] });
```

## 简介

| 简介 | 检查 |
| --- | --- |
| `traceability` | 封闭源码:每一次验收、每一次装订 `Tested-By` 解决 |
| `topology` | 特性分解和计划、源、测试和E2E位置。 缺少源、测试和E2E套件仅在运行时报告 `coder` 或者说 `tester`,因此计划阶段的存储器可以强制 `planner` 财务报告和审定财务报表 `topology` 在RED之前 |
| `planner` | 每个计划都有计划 完整图 范围规划规则 |
| `telemetry` | 遥测跟踪计划:项目形状、路径自旋身份和版本 `telemetry/`,逻辑文物的马车所有权,每个接受的遥测决定,标注基本性,来源 `Telemetry:` 参考、活弦和被禁财产排放、遥测站周围的销售商-SDK边界以及遥测测试,这些测试将验收和物品捆绑起来,在被捕获的水槽上申明确切身份,覆盖所需要每一物品,并进行申报的定时语义 |
| `docs` | 文献能力,包括生成的行程视图 |
| `coder`, (中文(简体) ), `tester`, (中文(简体) ), `security`, (中文(简体) ), `architecture`, (中文(简体) ), `metrics`, (中文(简体) ), `runtime` | Bun 源和试验公约 |
| `interlocking` | 火车/闭合捆绑、基础设施和线路覆盖 |
| `htmx` | htmx 源码/ 测试常规和 Playwright 浏览器规格 (`*.e2e.ts`(中文(简体) ) |
| `design` | 设计-系统分层、只显示符号的造型和反应能力 |
| `flow` | 可选ATDD 长期席位、任务和线程的流程配套公约 |
| `all` | 每个激活的配置文件; 钩子和 CI 运行 |

`planner-nodes/ENFORCEMENT_SCOPE.yaml` 说哪个警犬计划者的规则有Bun实现.

### 巡回执行战略公约

计划员的简介揭露了Bun所有 `planner.journey.execution-strategies` 和8个人 战略模式:参考、有条件、并行、编审、分批、缓存、投机、, 和适应性。 每一份说明适用性、制约因素、证据及其实际运行时间 支助。 特工们通过生成的 规划者简介登记册来发现它们 战略 可合并,但无一是强制性的,或仅仅是因为公约的存在而是一种运行模式.

现有的行走续航,交接路线,验收验证器仍然严格. 《公约》指南的确 **没有** 允许未申报的叉/联、流或投机 执行:这些需要自己的运行时间语义和接受证据.

## 绿地和棕地

一个绿地寄存器从一开始就执行每个配置文件:这就是默认. 一个棕地 (遗产)存储处可以逐步采用强制执行。 操作员列出已准备好的配置文件 并随着代码的追赶而增加:

```yaml
# atdd-bun.yaml
profiles: [traceability, planner]
```

`all`然后,钩子和生成的CI只运行这些配置文件。 任何配置文件仍然可以运行 按名称分列`bun run atdd-bun coder`)去见所遗. 未知的名称或空列表是 错误,永远不要沉默无声.

### 流程配置文件兼容性

`flow` 是犬科可选配置名称。 对于兼容的升级, 遗留的清晰 `workflow` 输入 `atdd-bun.yaml`,或直接 `bun run atdd-bun workflow`,常态化为 `flow`; 它不使无关的名称有效. `flow` 需求 `@afokapu/atdd-bun` **0.10.45 或 2 更新**。如果离职报告 `flow` 未知, 它正在运行一个 stale 工具包: 运行 `bun update @afokapu/atdd-bun`,然后使用仓库-本地命令 `bun run atdd-bun flow --root .` (从不采用全球方式) `atdd-bun`) (中文(简体) ). 保留 `flow` 在新编辑中 配置 .

没有 `profiles:` 字段,每个配置文件运行,但还没有管理。 第一个明确的清单是: 用于建立所规范的集合的通过,这样一个褐地寄存器就可以声明 `profiles: [docs]` 在普通拉动请求中。 从那时起 廉洁检查报告 从列表中删除一个配置文件,并删除列表本身。 第二关 两步绕行 `[docs, security]` 没有清单 `[docs]`。 。 。 . `init` 写入新文件 `atdd-bun.yaml` 列出每个配置文件,并有匹配的清晰 `reject-new` 权宜之计 绿地 储存库从其第一次承诺开始。 对于有明确内容的现有配置 配置列表,但没有策略, `init` 只附加匹配策略并保存选中的 配置配置和所有其他配置字段; 当 在第一个承诺逐步收养之前对其进行调整.

## 配置

一切就绪 `atdd-bun.yaml`。主要键 :

```yaml
profiles: [traceability, planner, topology]   # default: every profile
topology:                                     # default layout; point it at existing roots
  plan_root: plan
  source_root: src/wagons
  test_root: tests/wagons
  e2e_root: e2e
  telemetry_root: telemetry                    # tracking-plan registry; inert until the tree or a decision exists
frontend:
  viewports: [375, 768, 1280]
  breakpoints: [480, 768, 1024, 1280]
registry_paths: ["plan/_*.yaml", "contracts/_*.yaml"]   # exempt from micro-commit size caps only
max_registry_removed_lines: 350                        # larger removals need [mass-delete-approved]
worktrees: { enabled: false }                 # enabled defaults to ~/Github/worktrees/<repo>/...
release: { enabled: false }
```

当启用时没有覆盖, 则在 `~/Github/<repo>` 使用链接的工作树 `~/Github/worktrees/<repo>/<branch>`默认值 `primary_directory: .` (当前主要离职)和 `root: ../worktrees/{repo}`· ; `{repo}` 扩展为主检出目录名 。 需要另作布局的仓库可以明确设置任一字段.

## 精确的基底查找鼠标

`bun run atdd-bun init` 生成明确的 `reject-new` 其配置完全符合的政策 生成的选定配置文件。 对于现有的明确选择,没有政策,同样 命令附加匹配策略而不改变选择或其他配置. 没有政策,严格强制执行仍然是违约; `bun run atdd-bun all` 仍然失败 每一个发现:

```yaml
# atdd-bun.yaml
ratchet:
  mode: report       # or reject-new
  profiles: [coder, tester]
```

运行它只针对一个完全审查的基地SHA:

```sh
bun run atdd-bun coder tester --ratchet --base <40-character-reviewed-main-sha>
```

司令部对一个孤立的精确基地运行同样的安装的探测器 干净的候选者发出一个经过编辑的JSON `carried`编号 :`new`编号 :`resolved` 指纹报告,从不写入或接受基线. `report` 记录债务而不改变命令成功; `reject-new` 只有当候选人在同等基数之外增加一个结果时,才退出非零。 声明 `ratchet.profiles` 必须完全匹配命令的有效配置。 基准和候选简介/文摘必须匹配或比较失败;简介/文摘的采用另行管理。 利用债务补偿分支来删除附带的调查结果。 直接执行配置只能通过这一明确政策选择,不更改已配置的合并配置或 `profiles:`。 。 。 .

指纹是版本规则的SHA-256,正常寄存器相对路径,以及提供时的语义主题;行/栏,提供证据,源文本,绝对路径,运行时间数据被排除在外. 鼠标检测结果与Bun无关 `test.failing()` 或J股/行为测试基线。 当生成策略时, 生成提供者 CI 使用此精确命令 `reject-new`,相对于拉取请求基对象,预推提示,或并排目标,带有完整历史取出;它拒绝缺出,零,无效,不可用,或非祖先取出. 没有这一政策,生成的CI保留严格的 `all` 执行.

### 一次性明确配置激活

如果现有确切的主公司在较小规模的明确概况清单下有债务,则单独管理下的收养承诺可能会扩大该清单而不接受债务。 基础和候选人都根据候选人新选的简介进行评判,所以旧的调查结果是 `carried`中,只有候选人的审计结果依然存在 `new` 拒绝 `reject-new`,清除量报告为 `resolved`数字 :

```sh
bun run atdd-bun --profile flow,traceability --ratchet --ratchet-activate-profiles --base <40-character-reviewed-main-sha>
```

这是普通等同文字规则的只激活例外,而不是基线迁移. 这需要一名明确的候选人 `profiles:` 列表,其有效的配置文件设置(其明确的列表,或者在无设置时的隐性默认设置)是其严格的子集,并且是相同的非特征政策/配置。 不变的匹配配置也可能带有旗帜并遵循普通的准确文本比较,让生成的CI使用一个命令来进行活动并扩展政策. 删除、隐含/默认列表候选人的通过、不相关的配置改变、肮脏的树、不可用/非祖先基础或省略 `--ratchet-activate-profiles` 扩张失败 关闭。 指挥库没有激活状态,也没有接受的结果;在受管制的扩张后,使用普通 `--ratchet` 带有精确匹配的上下文。 严格非评议执行不变.

### 生成精确基数承诺门

生成 `pre-commit` 钩子认得一个舞台 `reject-new` 政策与实现 承诺 `HEAD` 加上一个孤立的工作树上的阶梯索引树。 已经很活跃了, 不变的显式配置集和相同的上下文,它运行普通的精确基准比较和 发出已携带/新/已解决的报告;承诺只有在 `new` 为空。 严格 profile扩展使用与一次性激活例外相同的比较.

大门从不写一个基线,或削弱政策,而不进行精确的比较。 无法关闭 除非指数有明确对应的鼠标政策,否则工作树没有被取消或 未跟踪状态,且所选配置/文本要么没有改变,要么基本配置是 一个严格的子集,具有相同的不公开政策。 删除、上下文漂移、不可用/非祖先 基准、绕行、放弃、可变基线和新结论仍然被拒绝.

## 文件站点主题

一个将 AsciiDocs 发布为网站的寄存器不需要自己的主题. `templates/docs/site.css` 样式 Ascidoctor 默认 HTML5 输出(`toc: left`),轻和 黑暗,而且干净 `design` 简介。 用包而不是复制, 所以它不会在你的扫描和 更新与工具包。 Ascidoctor把它嵌入每一页; 将网站写入 `dist/`,没有配置扫描 :

```sh
asciidoctor -a stylesheet="$PWD/node_modules/@afokapu/atdd-bun/templates/docs/site.css" -D dist docs/index.adoc
```

为了重新确定主题,必须超越其自定义属性(`--paper`, (中文(简体) ), `--ink`, (中文(简体) ), `--accent`, (中文(简体) ), `--sans`继续 `:root` 在您自己的样式表中,使用您的设计符号.

## 代理人和正直

管理区块引导一个代理人到配置文件预设的常规, 然后到选定配置文件的 生成的登记册 `conventions/_profiles/`。每个登记册都是对 剖面的探测器显示 常规路径 和直接关系边缘 仅开放与其任务有关的公约。 它还防止代理人修改 工具箱或更改配置激活而无需用户选择.

对于一个实时的ATDD流动服务台,管理区块还需要提供 `atdd-flow` 命令: 不得使用代理人 `bunx` 以获取另一个流程版本,初始化一个现有的服务台, 或重写办公桌/项目/座椅/运行时间记录,以围绕缺失的命令或平板错配. 它向操作员/协调员报告先决条件或具有约束力的问题。 刷新一个 现有消费者管理区块 `bun run atdd-bun agent init --replace` 升级后.

`atdd-bun integrity`,由生成的测试运行,并在CI中第一个在干净的安装上运行,当:

-   已安装的软件包不同于其公布的散列;
-   依赖性不是 npm 注册版本;
-   编辑了生成的文件(工作流程、指令块、完整性测试);
-   `atdd-bun.yaml` 宽于基部分支( 在第一个显式之后) `profiles:` 列表中, 正在删除一个配置文件或列表计数 .

每个查找名称的恢复命令 .

## 不断更新

每次合并到此软件包 `main` 以出处发布到 npm 作为下一个补丁 标记 `vX.Y.Z`。一旦一个寄存器升级依赖,规则和钩子就会改变。 来刷新 每个安装上的管理指令块, 将此添加到仓库本身 `package.json`数字 :

```json
"scripts": { "postinstall": "atdd-bun agent init --replace" }
```

升级方式 `bun update @afokapu/atdd-bun`,或让 Depabot (`package-ecosystem: "bun"`打开 a 每一次释放都拉出请求。 为了新的 `0.x` 次要, 运行 `bun add -d @afokapu/atdd-bun@latest`如果 升级更改工作流程或完整性测试,运行 `bun run atdd-bun init --replace` 承诺.

## 开发此软件包

`bun test` 运行探测器的清洁而肮脏的蝎子, 真正的吉特钩固定装置, 前端 铬链( C)`bunx playwright install chromium`) (中文(简体) ). 警卫测试要求每个发射规则 有个严格的公约, 一个失败的固定和边缘 `relationships.yaml`。 。 。 .

## 常见问题

### @afokapu/atdd-bun 是什么？

用于保存其计划、接受、测试和执行的存储器的原生ATDD执行。 它检查了计划明确表明的联系:

### 如何安装 @afokapu/atdd-bun？

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

### @afokapu/atdd-bun 支持 TypeScript 吗？

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

### @afokapu/atdd-bun 支持 ESM 还是 CommonJS？

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

### @afokapu/atdd-bun 可以商用吗？

@afokapu/atdd-bun 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @afokapu/atdd-bun 的下载量有多少？

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

### @afokapu/atdd-bun 还在维护吗？

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

