Skip to main content

每周依赖更新 PR

安排每周一次 Devin 会话,查找过时的依赖包、运行测试并创建升级 PR。
AuthorCognition
Category自动化
Features计划
1

创建每周计划

打开 app.devin.ai 并前往 Settings > Schedules。点击 Create schedule 并按如下配置:
  • Frequency: Weekly——例如,每周一 UTC 时间早上 7:00(0 7 * * 1
  • Prompt: 粘贴下面的依赖更新提示词
如果你使用了关于团队如何处理依赖升级的 Playbook(例如,更新后总是运行 npm run build,或跳过 devDependencies),请将其附加到该计划上,这样每次运行都会遵循同样的流程。
2

添加 Knowledge 以引导更新

并不是每个包都应该自动更新。前往 Settings > Knowledge,添加条目,告诉 Devin 哪些需要跳过或谨慎处理:
  • Do not update react past v18 — we're mid-migration to v19 on a separate branch.
  • Always pin @types/node to match our Node.js version (20.x).
  • Skip eslint-plugin-import — it conflicts with our custom lint config.
  • Our test command is npm run test:ci, not npm test.
这些 Knowledge 条目会在每次按计划运行时持续生效,因此 Devin 会始终遵守你的约束,而无需你在提示词中反复重复。
3

审查 Devin 的交付结果

每周一,Devin 会检查你的仓库中是否有过时的包,并代表你创建 PR。典型的一周可能会产生:PR #1 —— 安全更新(补丁 + 次要版本):
## Dependency Updates — Week of Feb 10

| Package         | From    | To      | Type  |
|-----------------|---------|---------|-------|
| axios           | 1.6.2   | 1.6.8   | patch |
| react-query     | 5.17.0  | 5.22.1  | minor |
| tailwindcss     | 3.4.1   | 3.4.6   | patch |
| typescript      | 5.3.3   | 5.3.5   | patch |

All 847 tests passing. No vulnerabilities found by npm audit.
PR #2 —— 主版本升级(单独 PR,附说明):
## Major Update: zod 3.x → 4.0.0

Breaking changes (from CHANGELOG):
- `z.object().strict()` is now the default behavior
- `z.enum` requires at least one value
- Removed deprecated `.check()` method

Code changes in this PR:
- Updated 3 schema files to remove explicit `.strict()` calls
- Added fallback value to empty enum in src/schemas/status.ts
Devin 会对每个 PR 独立运行你的测试套件,因此你可以立即合并安全更新批次,并花时间审查主版本升级。
4

迭代并扩展

当你的每周计划开始稳定运行后,你可以逐步优化它。回复任意一次计划会话,为 Devin 提供后续指令:让流程更顺畅的技巧:
  • 前后端分开 —— 如果你的仓库同时包含前端和后端,请创建两个计划,这样每个 PR 都能保持聚焦、便于审查。
  • 在合并前让 CI 完整运行 —— 即便看起来安全的次要版本更新,也可能引入隐蔽 bug。Devin 会运行你的测试,但你完整的 CI 流水线能够再提供一层信心保障。
  • 查看 Schedules 页面 来监控运行历史、在代码冻结期间暂停某个计划,或调整 cron 表达式。