SuperAPI AI 工具集

lisa-update-projects

部署与运维

查看项目

更新于 10-15 20:13

技能介绍

用途:批量更新本地 Lisa 项目。技能从 .lisa.config.local.json 读取项目列表及其目标分支,对每个项目目录检出目标分支并拉取远端;若工作区有改动或脏则暂停并询问人工处理。随后在干净项目中新建分支(如 chore/lisa-update-YYYY-MM-DD)。

主要能力:

  1. 依据 package.json 的 engines 字段(权威依据,非 lockfile)确定包管理器;engines.bun 等为 please-use-npm 之类的哨兵值时表示该包管理器被禁用,改用 npm,并删除冒出的 lockfile。
  2. 执行更新命令:bun 允许且有 bun.lockb 时用 bun add -D @codyswann/lisa@latest;否则用 npm install -D @codyswann/lisa@latest。不得对同一项目同时运行两种命令。
  3. 确保 @codyswann/lisa 在 package.json 的 trustedDependencies 中(否则 Bun 的 postinstall 会被静默跳过);npm 安装后需手动运行 node node_modules/@codyswann/lisa/dist/index.js --yes --skip-git-check . 应用模板。
  4. 将 @codyswann/lisa 从 dependencies 移至 devDependencies。
  5. 迁移旧式内联 Codex 工作流,按 Rails 或 TypeScript 项目能力逐文件映射到对应 create-only 模板;可用 node scripts/detect-stale-workflow-inputs.mjs --project <project> --json 检测过期的 with: 输入。
  6. 清理 package.json 中指向捆绑 ESLint 插件的过期 file: 引用,以及 .Codex/settings.json 中 $CLAUDE_PROJECT_DIR/.Codex/hooks/ 的过期引用。
  7. 同步 create-only 工作流的 cron 计划,检查 git diff 是否需要上游化,最后提交、推送并向目标分支开 PR。

使用方式:按上述步骤顺序执行;第 4–13 步可用最多 4 个并行子代理。遇到 pre-push 阻塞应修复代码,不得降低阈值。

限制:若 Lisa postinstall 崩溃、回滚或应用错误模板,应在上游 Lisa 源码中定位并修复,而非仅在下游绕过。资料未提供具体价格、平台支持范围等信息,暂未提供。