@afokapu/atdd-bun

中文文档
0.10.116发布于 2026/11/05ES Module构建来源已验证近 30 天下载 1.2万

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

中文使用文档
文档目录14 节
  1. 安装
  2. 图标
  3. 简介
  4. 巡回执行战略公约
  5. 绿地和棕地
  6. 流程配置文件兼容性
  7. 配置
  8. 精确的基底查找鼠标
  9. 一次性明确配置激活
  10. 生成精确基数承诺门
  11. 文件站点主题
  12. 代理人和正直
  13. 不断更新
  14. 开发此软件包

@afokapu/atdd-bun

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

plan / WMBT → acceptance → Bun test → implementation

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

安装

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 测试失败 :

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, (中文(简体) ), runtimeBun 源和试验公约
interlocking火车/闭合捆绑、基础设施和线路覆盖
htmxhtmx 源码/ 测试常规和 Playwright 浏览器规格 (*.e2e.ts(中文(简体) )
design设计-系统分层、只显示符号的造型和反应能力
flow可选ATDD 长期席位、任务和线程的流程配套公约
all每个激活的配置文件; 钩子和 CI 运行

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

巡回执行战略公约

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

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

绿地和棕地

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

# 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。主要键 :

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 仍然失败 每一个发现:

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

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

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数字 :

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/,没有配置扫描 :

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数字 :

"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 共发布 140 个版本,首次发布于 2026/09/23;过去 12 个月发布了 140 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.10.116latest2026/11/05今天
0.10.1152026/11/051 天前
0.10.1142026/11/051 天前
0.10.1132026/11/051 天前
0.10.1122026/11/041 天前
0.10.1112026/11/033 天前

关于 @afokapu/atdd-bun 的常见问题

@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 和提交记录判断。