@gzxijiu/acceptance
v0.7.3
Published
Guizhou Xijiu Software Acceptance Engine.
Downloads
891
Readme
特性
- 双模式一键验收
- Agent Skills 验收
- 标准化、自动化、可量化的验收流程
- 融入开发环节,降低验收成本,杜绝额外回归
- 多框架支持,自动推断框架
- 多包管理器支持,自动推断包管理器
- 基于 AST 的调试工具自动注入
- 基于 AST 的源码映射自动配置
- 基于 AST 的设备兼容性自动配置
- 高风险许可证扫描,支持递归溯源
- 废弃依赖、停止维护依赖检测
- ESLint 忽略扫描
- 约定式提交自动配置
- 代码规范自动配置 + 可视化审查
- 符合公司相关要求和标准
[!TIP]
验收引擎并不局限于新项目的验收场景,同样适用于老项目的接手与治理
何不直接让 AI “帮我验收这个项目”?
因为 AI 不知道你的验收标准是什么。
直接对 AI 说“帮我验收”,它只能基于通用的软件工程常识给出泛泛而谈的意见——缺少明确的检查项、不了解公司规范、无法执行自动化整改,输出质量完全取决于 prompt 的质量和模型的发挥。
本引擎解决的正是这个问题:
- 标准明确:验收条目源自公司标准与多年项目经验沉淀,而非 AI 自由发挥
- 流程可控:一键验收负责能自动化的部分(AST 整改、依赖扫描、规范配置等),Agent Skills 负责需要理解力的部分(代码审查、文档审查、安全审查等),各司其职
- 结果可量化:每条验收条目有明确的通过/待改进/需人工确认状态,而非模糊的建议
- 可复核、可追溯:输出结构化的验收报告,支持多轮整改与复核
简而言之,本引擎提供的是有标准的验收,而不是有想法的建议。
是否支持后端验收?
本引擎定位并不局限于前端和通用领域,后续会逐步扩展全栈能力,覆盖更多项目类型。
一键验收
根据项目使用的包管理器执行:
# npm
npx -y @gzxijiu/acceptance@latest
# pnpm
pnpm dlx @gzxijiu/acceptance@latest
# bun
bunx @gzxijiu/acceptance@latest
# deno
deno run -A npm:@gzxijiu/acceptance@latest
# yarn
yarn dlx @gzxijiu/acceptance@latestAgent Skills 验收
在被验收项目中打开 Agent 入口,引用 SKILL.md,让 AI 按步骤逐条审查当前项目并输出验收意见
- https://cdn.jsdelivr.net/npm/@gzxijiu/acceptance@latest/SKILL.md
- https://esm.sh/@gzxijiu/acceptance@latest/SKILL.md
双模式
执行一键验收时可选择运行模式:
- Standard Mode: 标准模式,首次验收时使用,会自动整改代码,提交代码前需人工审查变更
- Dry Run Mode: 演练模式,整改后复核或微调时使用,仅作检查不产生文件变更,适合反复执行直至全部通过
验收流程
- 执行一键验收
- 执行 Agent Skills 验收
- 执行人工审查
[!NOTE]
- “一键验收”与“Agent Skills 验收”是互补关系,不是替代关系
- 验收条目覆盖比例:一键验收 ≈ 45%|Agent Skills ≈ 45%|人工 ≈ 10%
验收条目
[!WARNING]
- 建议在新建的验收分支执行命令
- 提交代码前仔细审查,整改后执行回归测试
- 标注为“一键验收”、“Agent Skills”和“混合验收”的条目均不等于最终成品或结论,需人工复核
[!CAUTION]
为避免因不当的 ESLint 整改引发事故,请务必分批处理 ESLint
- 第一批(优先级相对高):先提交一版能自动修复(
npm run lint:fix)的部分(多跑几次)- 第二批(优先级相对低):不能自动修复的部分审慎修改,严禁草率修改(如双等号直接改成三等号)
多框架支持
- Vue 3
- Nuxt
- Vanilla JavaScript
- Vue 2/3 isomorphic
- React
- Next
- Vue 2
- ...
多包管理器支持
XSS
| 描述 | 语法 | 解决方案参考 |
| :--------------------------: | :-----------------------: | :------------------------------------------------------------------: |
| Vue 操作 HTML | v-html | vue-dompurify-html |
| React 操作 HTML | dangerouslySetInnerHTML | DOMPurify |
| Vanilla JavaScript 操作 HTML | innerHTML | textContent |
| 动态执行代码 | eval | 非必要不使用 |
| 动态创建函数 | Function | 非必要不使用 |
| ... | | |
设备兼容性验证方法
复制(包括但不限于)下方代码到项目中,打包后在产物中搜索 ?./??/??= 等新语法是否被正确转译,replaceAll 等新 API 是否被正确 polyfill:
// TODO: 示例代码,用于验证兼容性配置是否生效,验证后务必删除
let result = null
const user = {}
result ??= user?.name?.replaceAll(' ', '_') ?? '@gzxijiu/acceptance'