SuperAPI AI 工具集

bead-tracker-migration

部署与运维

查看项目

更新于 10-15 17:29

技能介绍

用途:把 beads 问题跟踪工作区从 bd 迁移到 br,要求无损,并以 JSONL 作为两者之间的桥梁(bd 导出、br 导入)。bd 的存储可能是 Dolt,br 始终是 SQLite,但问题记录可互相交换。

主要安全约束:必须在源机器上先执行 bd 导出,再接触 br,因为 br init 会新建 SQLite 库,看不到 bd 的 Dolt 行;初始化前缀必须与 bd 完全一致,否则问题 ID(如 bd-abc123)在提交、依赖和聊天记录中的引用会失效;验证通过前不要删除 bd 的 Dolt 数据,JSONL 只含问题级数据,不含 Dolt 分支与提交历史;.beads/metadata.json 是主机专属且保持 gitignore,不要复制给 br。

使用方式(快速开始):在含 .beads/ 的仓库内执行 bd export --all > /tmp/bd-migration.jsonl,用 bd count --json 记录源数量;接着 br init --prefix "$BD_PREFIX",把 JSONL 复制为 .beads/issues.jsonl,运行 br sync --import-only,再 br count --json 核对数量。数量一致即数据完整,随后更新文档与自动化命令。

流程分五阶段:捕获源数据(含按状态计数、记录前缀);初始化 br(--backend 被忽略,配置不通用,需用 br config get|set);导入数据(import-only 会先校验并拒绝畸形 JSONL 或 git 冲突标记,不可强制绕过);验证(运行 scripts/verify-migration.sh <bd-count> <br-prefix> 做计数对比及依赖、评论抽查,退出码 0 才安全,1 表示数量不符,2 为用法错误,3 为 br 工作区问题);切换文档与自动化。

命令映射要点:bd ready → br ready --json;bd create/q → br create/q;bd show → br show <id> --json;bd update → br update <id> --status in_progress;bd close → br close <id> --reason "…";bd list → br list --json;bd status → br stats(别名 br status);bd export → br sync --flush-only;导入用 br sync --import-only;跨机同步由 bd dolt push/pull 变为 git commit .beads/(br 从不运行 git);bd doctor → br doctor(--fix 修复)。产出需在仓库根写 bead-tracker-migration-report.md,记录源数量、目标数量、差值(必须为 0)、前缀与命令映射变更。

适用场景:把 Dolt 支持的 bd 工作区完整迁到本地 SQLite 的 br 工作区。限制:JSONL 不含历史;导入校验不可绕过;配置不继承;缺失事实如 scripts/verify-migration.sh 具体实现细节暂未提供。