ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

no-mistakes vs 传统CI/CD:为什么代码校验应该前移到本地

no-mistakes vs 传统CI/CD:为什么代码校验应该前移到本地 no-mistakes vs 传统CI/CD为什么代码校验应该前移到本地【免费下载链接】no-mistakesgit push no-mistakes项目地址: https://gitcode.com/GitHub_Trending/no/no-mistakesno-mistakes 是一个把代码校验前移到本地的开源工具你不再直接git push origin而是推送到本地的no-mistakes远端一个本地 git 代理。它会立刻在一个隔离的临时 worktree 中启动 AI 驱动的校验流水线——审查、测试、文档、Lint、推送、开 PR、盯 CI全部绿灯之后分支才会被转发到真实远端并自动创建干净的 PR。一句话让每一次推送都先通过本地门禁。传统 CI/CD 校验的 3 个固有痛点大多数团队的经验是push 完去等远程 CI 亮绿。这个模式有三个绕不开的问题反馈慢代码已经推上去了远程流水线排队 1030 分钟期间你只能干等坏代码先出门远端 CI 看到的是一份还没被任何人独立验证过的代码失败循环红了 → 本地改 → 再 push → 再等一轮 CI每次修复都要付一次排队成本。问题的根源是校验发生在代码离开本地之后。no-mistakes 是什么本地门禁 AI 流水线no-mistakes 的解法很直接在你和真实远端之间加一道本地门禁gate。no-mistakes init会在本地创建 bare 门禁仓库并给你的工作仓库加一个名为no-mistakes的 remote。origin保持原样日常git push完全不受影响当你执行git push no-mistakes branch守护进程会为这次运行创建一个一次性 worktree所有校验都在其中进行你的工作目录始终不被打扰流水线是固定 9 步、不可调序的intent → rebase → review → test → document → lint → push → pr → ci。顺序写死是为了让通过门禁在所有仓库里含义一致。架构细节可参考 docs/src/content/docs/concepts/gate-model.md校验由 AI Agent 驱动且不绑定厂商claude、codex、grok、opencode、copilot等均可配置还支持按顺序自动 fallback。各步骤的完整行为定义在 docs/src/content/docs/concepts/pipeline.mdAI 代码审查的具体实现在 internal/pipeline/steps/review.go。校验前移带来的 4 个实际收益1️⃣ 坏代码不再外发在本地门禁满足之前什么都不会到达配置的推送目标。远程 CI 看到的分支必然是已经通过审查、测试、文档、Lint 的版本——远程 CI 从发现问题的人退回到最终确认的人大部分问题根本到不了它那里。2️⃣ 反馈以秒计推送即触发AI 审查和定向测试在本地并行推进。测试这一步是针对本次变更的本地定向验证而非完整 CI 套件的复刻所以等待时间从分钟级降到秒级。3️⃣ 审查带着作者意图流水线第一步就是Intent获取或从本地 Agent 会话记录推断你这次改动的意图。AI 审查的是 diff 对照意图而不是盲读 diff——这是本地、同机、带上下文的校验天然具备的优势远程 CI 很难复制。4️⃣ 修复合并成一次循环CI 失败时门禁会监视 PR 并自动修复失败项与合并冲突修复后的提交会从 Review 步重新走完整条流水线再经过同样的防覆盖保护才发布。你不需要手动改一行、推一次、等一轮。人类掌舵自动修复与人工审批的分工前移校验不等于交给 AI 全权决定。no-mistakes 把每个发现finding分为三类auto-fix机械、安全的修复如格式化、Lint 告警Agent 自动应用并重跑验证ask-user涉及你意图的判断暂停等你approve / fix / skipno-op仅记录。每一步的自动修复都有次数上限如 rebase、test、lint 默认 3 次超限即升级给人。这套判断权永远在人机械活交给机器的设计详见 docs/src/content/docs/concepts/auto-fix.md。三步上手 no-mistakes快速开始第 1 步获取源码并构建git clone https://gitcode.com/GitHub_Trending/no/no-mistakes cd no-mistakes make build第 2 步初始化门禁no-mistakes init它会在本地创建门禁仓库、安装钩子、添加no-mistakesremote并确保守护进程就绪。整个过程幂等重复执行只会刷新。第 3 步推送并查看git push no-mistakes branch # 触发本地流水线 no-mistakes # 打开 TUI审批/处理 findingsTUI 中逐项处理发现全部绿灯后分支自动转发到目标远端并开出 PR——不需要手动git push origin也不需要手写 PR 描述。如果你用 AI 编码 Agentinit还会安装/no-mistakes技能定义见 skills/no-mistakes/SKILL.md让 Agent 完成一个任务后直接送检无头跑完同一套审批流程。对比一览本地门禁 vs 传统 CI/CD维度传统 CI/CDno-mistakes 本地门禁校验时机push 之后远端push 之前本地 worktree首次反馈延迟分钟半小时秒级开始未验证代码是否外发是否全绿才转发审查上下文仅 diffdiff 作者意图 本地环境失败处理人工修复后重推AI 自动修复 人工审批对origin的影响—不改动普通 push 照常人类角色事后救火只处理真正的判断题总结不是替代 CI而是把 CI 的第一层搬到本地no-mistakes 明确自己的边界它是内部门禁CI 仍是共享的外部门禁合并策略仍归平台所有。它解决的问题只有一个——在你按下推送键的瞬间就有一份独立、对抗性的验证发生在你自己的机器上而不是在远端队列里等你。对于产出速度已经超过人工验证速度的开发者尤其是同时驱动多个编码 Agent 的场景把校验前移到本地省下的不只是等待时间更是每一次失败重推的循环成本。【免费下载链接】no-mistakesgit push no-mistakes项目地址: https://gitcode.com/GitHub_Trending/no/no-mistakes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表