@adlc/preflight

中文文档
1.12.0发布于 2026/10/10MITES Module构建来源已验证近 30 天下载 8138

在扇出(D2相0)前进行许可和环境飞行前检查.

中文使用文档
文档目录15 节
  1. 使用量
  2. 没有旗帜——只需检查
  3. 带有可选检查
  4. 旗帜
  5. 检查
  6. 需要( 总是运行)
  7. 可选( 仅在给定旗帜时运行)
  8. 退出代码
  9. 产出
  10. 可读( 默认)
  11. 贾森(JSON) --json (中文(简体) )
  12. 已进入ADLC阶段
  13. 清理保障
  14. 与兄弟姐妹工具的关系
  15. 核心差距

@adlc/ 飞行前

在扇出前进行权限和环境飞行前检查(ADLC D2相 0).

进行隔离检查,以验证代理机队需要的每个操作类别 实际上在目前的环境中工作——所以许可提示和 配置失败前装入一批,而不是延后中空.

从ADLC D2字段注释:

许可提示中途飞行是一个隐藏序列点: 一个被屏蔽 代理 × N 队友 = N 摊位,赛事兄弟姐妹,半起步状态. 环境决定论是平行的时钟数学的先决条件.

使用量

preflight [--dir <path>] [--test-cmd "..."] [--gh] [--llm] [--worktrees] [--json]

没有旗帜——只需检查

preflight

运行所需的4个检查( bash, git, write, 分支) 并打印表格加 一个判决线。 0号出口,如果全部通过;2号出口,如果有任何失败.

带有可选检查

preflight --dir .sdlc/.adlc --test-cmd "npm test" --gh --llm --worktrees

旗帜

旗帜类型说明
--dir <path>字符串用于写入检查和临时文件的 ADLC 目录( 默认 ): .adlc 或者说 $ADLC_DIR) (中文(简体) ).
--test-cmd "CMD"字符串通过 CMD 运行 sh -c,预计出口0。 失败时显示输出尾端 。 传入但空值( 如未设置) $TEST_CMD)以1号出口被拒绝 --test-cmd requires a non-empty command 从来没有默默地跳过.
--gh布尔运行 gh auth status; 期望退出 0.
--llm布尔打电话 detectProvider() 并说它是无核的。 没有API的电话。 找到了提供的报告.
--worktrees布尔git worktree add --detach .worktrees/preflight-test HEAD 然后删除.
--json布尔机器可读输出 : { checks, verdict, failedNames }。 。 。 .

检查

需要( 总是运行)

名称测试什么
bashecho preflight-ok 继承
gitgit status cwd 中成功( cwd 必须是 git repo)
write写入 + 删除 .adlc/tmp/preflight-test (按需要为mkdir-p)
branch创建和删除 preflight-test-branch总是在最后清理

可选( 仅在给定旗帜时运行)

名称旗帜测试什么
worktrees--worktreesgit worktree add/remove 循环; 总是在最后清理
test-cmd--test-cmd "CMD"通过 sh 运行 CMD, 期望退出 0
gh--ghgh auth status 出口 0
llm--llmdetectProvider() 返回非无效( 无 API 调用)

退出代码

代码含义
0 个出入口——通过所有检查(需要+明确要求可选)
1个操作/内部出错
2个门失败——一次或多次要求或明确要求的检查失败

注:不要求的可选检查不运行,不能失败. 当国旗像 --gh 通过, 需要检查 . A 类 --test-cmd 被通过但为空或仅为空白(什么 preflight --test-cmd "$TEST_CMD" 当变量未设置时, 生成 CI 既不跳过也不运行:这是一个操作错误——飞行前打印 error: --test-cmd requires a non-empty command … 到 stderr 时,没有打印 stdout(没有桌子,没有判决,没有) --json 1. 请求的A 检查不能运行时, 决不能看起来像通行证 .

产出

可读( 默认)

──────────────────────
check      status  detail
──────────────────────
bash       ✓ PASS    echo preflight-ok succeeded
git        ✓ PASS    git status succeeded
write      ✓ PASS    .adlc/tmp/preflight-test written and removed
branch     ✓ PASS    branch 'preflight-test-branch' created and removed
worktrees  ✓ PASS    worktree add/remove succeeded
test-cmd   ✓ PASS    exited 0
──────────────────────

verdict: ALL CHECKS PASSED — environment is ready.

贾森(JSON)--json(中文(简体) )

{
  "checks": [
    { "name": "bash",   "status": "pass", "detail": "echo preflight-ok succeeded", "required": true },
    { "name": "git",    "status": "pass", "detail": "git status succeeded",          "required": true },
    { "name": "write",  "status": "pass", "detail": ".adlc/tmp/preflight-test written and removed", "required": true },
    { "name": "branch", "status": "pass", "detail": "branch 'preflight-test-branch' created and removed", "required": true }
  ],
  "verdict": "pass",
  "failedNames": []
}

已进入ADLC阶段

D2阶段 0 (fan-out前环境门). 在产卵前跑一次 平行的代理舰队,以确保每个操作级都成功. 与 team-develop 作为平行建设管线的第0阶段.

清理保障

创建副作用( 分支、 工作树、 tmp 文件) 的检查 在a中进行清理 finally 区块 - 清除残余物,不论检查通过与否 失败.

与兄弟姐妹工具的关系

  • merge-forecast ——飞行前使用确认环境已就绪;验证出票DAG并预测出出票前相冲突概率.
  • gate-manifest ——将出入口通过事件记录入ADLC运单分类账;飞行前应以有条不紊的流程记录通过.

核心差距

无。 所有要求的核心API(detectProvider, (中文(简体) ), git, (中文(简体) ), parseArgs, (中文(简体) ), printJson(中文(简体) ) 可在 @adlc/core。 。 。 .

版本与发布记录

@adlc/preflight 共发布 18 个版本,首次发布于 2026/06/14;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.12.0latest2026/10/1027 天前
1.11.12026/09/091 个月前
1.11.02026/08/252 个月前
1.10.02026/08/112 个月前
1.9.02026/08/092 个月前
1.8.02026/08/082 个月前

关于 @adlc/preflight 的常见问题

@adlc/preflight 是什么?

在扇出(D2相0)前进行许可和环境飞行前检查.

如何安装 @adlc/preflight?

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

@adlc/preflight 支持 TypeScript 吗?

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

@adlc/preflight 支持 ESM 还是 CommonJS?

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

@adlc/preflight 需要什么版本的 Node.js?

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

@adlc/preflight 可以商用吗?

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

@adlc/preflight 的下载量有多少?

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

@adlc/preflight 还在维护吗?

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