代理林特
AGENTS.md 大部分时间都遵循规则。 agentlint把重要的东西变成一个大门 并保存着每个例外的忠实记录.
特工们将机械部分右转并滑倒在判断上:一个没有一等钥匙的付款呼叫,一个没有回填的倒行柱,一个隐藏了失败的倒行本,一个没有捆绑的读数,在固定中是好的.
| 工具 | 有判决的呼唤 |
|---|---|
| 提示 | 叫经纪人记住 |
| 线条 | 只能说"总是错误" |
| 大赦国际审查员 | 每次跑步都说不同的话 |
| 疲倦的人类 | 批准一个大diff 因为测试是绿色的 |
| 代理林特 | 屏蔽直到有人记录原因 |
每一个发现都被接受 或者被屏蔽
repository ──▶ deterministic ──▶ finding + your ──▶ acceptance with ──▶ gate open
evidence detector standard reason + authority
│
└── no compatible acceptance ──────▶ gate closed
- 决取相取. 规则匹配一个代码形状或规范化的Git更改. 没有模型、网络或时钟.
- 标准旅行与发现:文本、检查、允许的例子。 特工不依靠召回.
- 可审查例外情况. 接受需要理由和正确的权威(
agent或者说human(根据规则)。 它住在这里.agentlint/acceptances.jsonl,在 PR diff 中显示,并在代码发生实质性变化时终止:aeslint-disable这需要一个理由,一个权威, 和一个新的审查 当代码移动. - 人类决定 在键盘-第一本地 UI 或 PR 线条中,有代码,标准,以及代理商的并肩提议.
开出闸口,是指所报道的扫描范围中每个当前发现都有一个相容的被记录的决定. 它没有证明判决是正确的,也没有证明对未配置的关切问题进行了审查.
没有规则,也没有规定要使用 您的寄存器和插件包拥有标准、 检测器和政策 .
安装并运行闸门
让你的经纪人做: 包船代理技能.
Install @aurelienbbn/agentlint and follow its setup skill
(node_modules/@aurelienbbn/agentlint/skills/agentlint/setup/SKILL.md).
或以手执之:
pnpm add -D @aurelienbbn/agentlint
pnpm agentlint init # creates .agentlint/config.ts
pnpm agentlint rules test # replays every rule's fixtures
pnpm agentlint check --all # the gate
提交配置,并 .agentlint/acceptances.jsonl 当它存在时 每个命令都接受 --help。 。 。 .
规则是代码形状加标准
import { defineConfig, defineRule } from "@aurelienbbn/agentlint";
const boundedReads = defineRule({
lifecycle: "state",
standard: {
id: "data/bounded-reads",
revision: 1,
title: "Production reads are bounded",
guidance: { standard: "Reads that scale with production data have an explicit bound or pagination contract." },
},
detector: {
id: "prisma/find-many-without-take",
version: 1,
match: { pattern: "$DB.findMany($$$ARGS)", where: { notHas: "take: $_" }, message: "$DB has no explicit bound." },
fixtures: { mustReport: ["db.users.findMany({})"], mustStaySilent: ["db.users.findMany({ take: 50 })"] },
},
binding: { id: "data/bounded-reads", authority: "agent", include: ["src/**/*.ts"] },
});
export default defineConfig({ rules: [boundedReads] });
这个 standard 已修订政策 detector 一个版本的触发器,和 binding 你的范围和权威。 A 类 change 规则从合并基础来判断 Git diff , 而不是当前代码 .
退出代码
| 退出 | 含义 |
|---|---|
0 | 目前每个发现都有一个兼容的接受 |
1 | 一个或多个调查结果尚未解决 |
2 | 无效的使用、配置或证据; 内部错误 |
每个命令出口 2永远 1在内部错误上。 本地语义和CI语义相同.
你想怎样?
| 目标 | 开始 | 指南 |
|---|---|---|
| 将反复更正变为规则 | 页:1 rule-advisor 技能 | 开始吧 |
| 写入状态并更改规则 | defineRule | 写入规则 |
| 关闭一个发现 | agentlint accept 1 --reason "..." | 接受情况 |
| 把下一个发现交给特工 | agentlint next --format json | 接受情况 |
| 做人做决定 | agentlint review | 审查 |
| 打开门前订出一条规则 | agentlint rules scan --review | 校正 |
| 门拉请求和代理转弯 | gitHub 动作或一个 Stop 钩子 | CI和钩子 |
| 查找命令或旗帜 | agentlint --help | CLI 参考 |
| 知道大门能保证什么 | 保证 |
需要的CI检查是真门;本地的钩子是反馈. 在 GitHub 上:
steps:
- uses: actions/checkout@v5
with: { fetch-depth: 0 } # required: change rules use the merge base
- uses: actions/setup-node@v5
with: { node-version: 22 }
- uses: aurelienbobenrieth/agentlint/[email protected]
整个工作流程在 CI 指南。 。 。 .
公共入境点
| 导入 | 出口 |
|---|---|
@aurelienbbn/agentlint | defineConfig, (中文(简体) ), defineRule、规则和配置类型、探测器上下文、改变证据和结果计划、标记错误 |
@aurelienbbn/agentlint/testing | 基于承诺的固定帮助者 |
@aurelienbbn/agentlint/contract | 审查电线合同,包括 NextResult |
@aurelienbbn/agentlint/calibration | 校正报告计划和纯辅助工具 |
每一种类型, 计划, 和错误 : 公共 API。 。 。 .