QuickRouter · 人工操作教材 · 非目标产品 UI / 非模型会话日志

Claude Code batch 教程 · 配置与操作材料

batch-plan.md

# Six independent units for /batch
Each after/NN-* folder has one owner. Do not touch another unit or package metadata.
Use explicit Vitest imports. Preserve assertions; suite 05 must document the different reset semantics.
Run all six tests after integration. Do not push or open pull requests.
If the installed /batch workflow cannot stop before publication, keep its plan and migrate locally instead.

migration-map.json

[
  {
    "suite": "01-value",
    "before": "Jest 30.2.0",
    "after": "Vitest 4.0.18",
    "note": "explicit imports; preserve assertion and async boundary"
  },
  {
    "suite": "02-async",
    "before": "Jest 30.2.0",
    "after": "Vitest 4.0.18",
    "note": "explicit imports; preserve assertion and async boundary"
  },
  {
    "suite": "03-object",
    "before": "Jest 30.2.0",
    "after": "Vitest 4.0.18",
    "note": "explicit imports; preserve assertion and async boundary"
  },
  {
    "suite": "04-mock",
    "before": "Jest 30.2.0",
    "after": "Vitest 4.0.18",
    "note": "explicit imports; preserve assertion and async boundary"
  },
  {
    "suite": "05-reset",
    "before": "Jest 30.2.0",
    "after": "Vitest 4.0.18",
    "note": "mockReset restores original implementation in Vitest; not same as Jest"
  },
  {
    "suite": "06-error",
    "before": "Jest 30.2.0",
    "after": "Vitest 4.0.18",
    "note": "explicit imports; preserve assertion and async boundary"
  }
]