SuperAPI AI 工具集

lisa-integration-test

测试与质量

查看项目

更新于 10-15 20:13

技能介绍

用途:在 Lisa 仓库目录中运行,对下游项目应用 Lisa 模板并做端到端验证;若验证失败,优先修复 Lisa 上游模板,必要时改用项目本地覆盖文件,直到项目通过全部检查,最后提交并推送。

前置条件:必须从含 src/core/lisa.ts 的 Lisa 仓库运行;目标项目工作目录需干净(无未提交改动),且至少含一个项目标识(Node/Bun/TypeScript 的 package.json,或 Rails 的 Gemfile 或 config/application.rb)。

主要流程:校验环境并从 $ARGUMENTS 取项目路径,未提供则询问用户;用 git -C <project-path> status --porcelain 检查是否干净,不干净则停止并提示先提交或暂存;记录基线(当前 HEAD、分支、是否有开放 PR);在 Lisa 目录运行 bun run dev <project-path> 应用模板;用 git -C <project-path> status --short 查看改动,无改动则报告“应用干净、无变更”并停止。

验证:Rails 项目按顺序执行 bundle check、bundle exec rails db:migrate:status、bundle exec rubocop(未配置则记录 Lint: SKIPPED)、bundle exec rails test;Node/Bun/TypeScript 项目按顺序执行类型检查、Lint、测试(如 bun run typecheck、bun run lint、bun run test)。包管理器按锁文件判断:bun.lockb→bun,pnpm-lock.yaml→pnpm,yarn.lock→yarn,package-lock.json→npm。任一步失败即停止。

失败处理:定位根因后,若属上游问题则在 Lisa 模板修复,运行 bun run typecheck && bun run lint && bun run test 通过后回到应用步骤重试;若属项目特定需求,则改本地覆盖文件(如 tsconfig.local.json、eslint.config.local.ts、vitest.config.local.ts、jest.config.local.ts)后重新验证。修-重试循环最多 3 次,超限则停止并报告。

收尾:全部通过后暂存变更、以 chore: apply Lisa <version> templates 提交并推送;若改了上游也一并提交推送,最后输出包含项目、Lisa 版本、分支、变更文件、验证结果与提交哈希的总结。

限制与注意:不跳过验证;尽量修上游;提交前先确认项目既有提交信息风格;资料未提供具体版本来源、支持项目类型之外的更多细节、依赖安装自动授权等,均暂未提供。