@aaac/toolchain

中文文档
0.3.0发布于 2026/10/20MITTypeScriptES Module近 30 天下载 6439

用于装有文物的工具申报的工具链合同定义

中文使用文档
文档目录13 节
  1. 安装
  2. 它会做什么
  3. 快速启动
  4. DSL 示马
  5. 类型
  6. $refs
  7. CLI 命令
  8. aaac-toolchain validate
  9. aaac-toolchain lint
  10. 退出代码
  11. 图书馆 API
  12. 相关软件包
  13. 许可证

@aaac/工具链

受人工活性约束的工具链声明——定义了哪些工具可以操作哪些文物.

安装

npm install @aaac/toolchain

它会做什么

toolchain-contracts 是一个声明式合同层, 绑定 工具 文物. 每一个工具链条目都宣布其消费和生产的内容,从而能够进行静态验证和数据流动,跨越文物合同、代理合同和工具链合同.

快速启动

创建 toolchain-contracts.yaml数字 :

schema: aaac/toolchain/0.1

system:
  id: my-project

toolchains:
  prettier:
    kind: library
    module: prettier
    artifacts:
      consumes: [source-code]
      produces: [source-code]
    operations: [format]

  eslint:
    kind: cli
    command: npx eslint --fix
    artifacts:
      consumes: [source-code]
      produces: [source-code]

  speckeeper:
    kind: component
    component_contract: ./speckeeper.component.yaml
    artifacts:
      consumes: [spec-md, codebase]
      produces: [conformance-report]

验证它:

npx aaac-toolchain validate toolchain-contracts.yaml

DSL 示马

外地说明
schemaSchema版本(例如:. aaac/toolchain/0.1(中文(简体) )
system项目身份id选项 name(中文(简体) )
toolchains工具链 ID-工具链定义地图

每个工具链条目 :

外地说明
kind装订类型 : library, (中文(简体) ), cli,或 component
modulenpm 软件包名称( 需要 library(中文(简体) )
command贝壳命令(用于 cli 否时 cli_contract(中文(简体) )
cli_contractCli-contracts YAML 路径( 用于 cli(中文(简体) )
component_contract此工具链包含的组件合同路径( 需要 component(中文(简体) )
artifactsconsumes 财务报告和审定财务报表 produces 文物标识
operations操作名称, 在命名空间 component_contract 名称——该组件设定时的操作,工具自己的动词(format, (中文(简体) ), lint当它不是

类型

仁爱含义需要的字段
library在程序上引用 npm 软件包module
cli外部 CLI 工具command 或者说 cli_contract
componentAaaC部分有自己的合同component_contract

$refs

使用工具链定义分割文件 $refs数字 :

schema: aaac/toolchain/0.1

system:
  id: my-project

toolchains:
  inline-tool:
    kind: library
    module: inline-lib
    artifacts:
      consumes: [source-code]

$refs:
  - ./formatting.yaml
  - ./linting.yaml

参考文件包含额外的 toolchains 合并到根文档中的条目。 跨文件的复制工具链ID被拒绝 .

CLI 命令

aaac-toolchain validate

验证工具链-合同文件的图案和语义规则.

npx aaac-toolchain validate toolchain-contracts.yaml

# Optional: check artifact IDs against a known set
npx aaac-toolchain validate toolchain-contracts.yaml \
  --artifact-ids source-code spec-md codebase conformance-report

aaac-toolchain lint

检查合同层的数据流完整性.

npx aaac-toolchain lint toolchain-contracts.yaml \
  --artifact-contracts artifact-contracts.yaml \
  --agent-contracts agent-contracts.yaml

退出代码

代码含义
0 个所有支票通行证
1个B. 发现的验证或提示问题
2个文件读取或计划出错

图书馆 API

import {
  loadToolchainContracts,
  parseToolchainFile,
  validateToolchainContracts,
  lintDataflow,
} from "@aaac/toolchain";

// Load and parse (resolves $refs)
const doc = await loadToolchainContracts("./toolchain-contracts.yaml");

// Validate
const issues = validateToolchainContracts(doc, {
  artifactIds: ["source-code", "spec-md"],
});

// Lint dataflow against other contract layers
const lintIssues = lintDataflow(doc, {
  artifacts: [{ id: "source-code", derived_from: [] }],
  agents: [{ id: "reviewer", consumes: ["source-code"], produces: ["review-report"] }],
});
函数说明
loadToolchainContracts装入 YAML 文件, 解析 $refs,验证计划
parseToolchainFile解析文件没有 $ref 决议
validateToolchainContracts语义验证(艺术标识、复制件)
lintDataflow跨合同数据流程完整性检查

许可证

麻省理工学院——见 自由主义。 。 。 .

版本与发布记录

@aaac/toolchain 共发布 15 个版本,首次发布于 2026/06/08;过去 12 个月发布了 15 个版本。

版本发布日期距今
0.3.0latest2026/10/2018 天前
0.2.102026/10/2018 天前
0.2.92026/10/1127 天前
0.2.82026/10/1127 天前
0.2.72026/10/0929 天前
0.2.62026/10/061 个月前

关于 @aaac/toolchain 的常见问题

@aaac/toolchain 是什么?

用于装有文物的工具申报的工具链合同定义

如何安装 @aaac/toolchain?

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

@aaac/toolchain 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aaac/toolchain 支持 ESM 还是 CommonJS?

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

@aaac/toolchain 需要什么版本的 Node.js?

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

@aaac/toolchain 可以商用吗?

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

@aaac/toolchain 的下载量有多少?

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

@aaac/toolchain 还在维护吗?

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