bd到br迁移Skill bd-to-br-migration

此技能用于将文档从bd(beads)工具迁移到br(beads_rust)工具,通过机械转换命令、添加git手动提交步骤并严格验证,确保迁移过程完整无误。适用于更新AGENTS.md等文档,关键词:bd迁移,br迁移,git集成,文档转换,验证脚本,自动化迁移。

DevOps 0 次安装 0 次浏览 更新于 3/9/2026

名称: bd到br迁移 描述: >- 将文档从bd(beads)迁移到br(beads_rust)。用于更新AGENTS.md时, 转换bd命令,“bd sync” → “br sync --flush-only”,或珠子迁移。

<!-- 目录: 哲学 | 确切提示 | 决策树 | 命令映射 | 转换模式 | 验证循环 | 风险层级 | 参考资料 -->

bd → br 迁移

核心哲学: 一个行为改变,机械转换。唯一的区别是git处理—其他所有都是查找替换。

为什么这很重要

不完整的迁移会导致文档损坏。代理遵循过时的bd sync指令,期望自动提交,并丢失工作。此技能确保完整、验证的迁移


确切提示 — 单文件迁移

将此文件从bd(beads)迁移到br(beads_rust)。

按此顺序应用转换(顺序重要):
1. 部分标题:"bd (beads)" → "br (beads_rust)"
2. 在珠子部分标题后添加非侵入性说明
3. 命令:`bd X` → `br X` 对于ready/list/show/create/update/close/dep/stats
4. 同步命令:`bd sync` → `br sync --flush-only`
5. 在每次同步后添加git步骤:
   git add .beads/
   git commit -m "sync beads"
6. 问题ID:bd-### → br-### 在thread_ids、subjects、reasons、commits中
7. 链接:beads_viewer → beads_rust(如果存在)

完全移除:
- 守护进程引用
- 自动提交假设
- 钩子安装提及
- RPC模式

保持不变:
- SQLite/WAL注意事项
- bv集成
- 优先级系统(P0-P4)

编辑后验证:
grep -c '`bd ' file.md     # 必须为0
grep -c 'bd sync' file.md  # 必须为0
grep -c 'br sync --flush-only' file.md  # 必须 > 0

为什么此提示有效

  • 有序转换: 存在依赖(同步必须在添加git步骤之前更改)
  • 明确移除: 守护进程/RPC在br中不存在—留下它们会混淆代理
  • 保留列表: 防止意外移除仍有效的模式
  • 内置验证: Grep命令捕获错过的转换
  • 无自由度: 这是一个低自由度任务—需要精确转换

决策树:你在迁移什么?

你在迁移什么?
│
├─ 单文件(AGENTS.md)
│  │
│  └─ 遵循上述确切提示
│     使用:./scripts/verify-migration.sh file.md
│
├─ 多文件(批量)
│  │
│  ├─ <10文件 → 顺序:对每个应用提示
│  │
│  └─ 10+文件 → 并行子代理
│     每代理批量约10文件
│     参见:[BULK.md](references/BULK.md)
│
└─ 验证现有迁移
   │
   └─ 运行:./scripts/find-bd-refs.sh /path
      任何输出 = 迁移不完整

唯一行为差异

┌─────────────────────────────────────────────────────────────────┐
│                    bd(Go)              br(Rust)               │
├─────────────────────────────────────────────────────────────────┤
│  bd sync                     →    br sync --flush-only          │
│  (自动提交到git)                 (仅导出JSONL)               │
│                                                                 │
│                              +    git add .beads/               │
│                              +    git commit -m "..."           │
└─────────────────────────────────────────────────────────────────┘

其他所有都是字面上s/bd/br/g

命令映射

bd br 更改类型
bd ready br ready 仅名称
bd list br list 仅名称
bd show <id> br show <id> 仅名称
bd create br create 仅名称
bd update br update 仅名称
bd close br close 仅名称
bd dep add br dep add 仅名称
bd stats br stats 仅名称
bd sync br sync --flush-only + git 行为

转换模式

模式1:非侵入性说明

在任何珠子部分标题后立即添加:

**注意:** `br` 是非侵入性的,从不执行git命令。在 `br sync --flush-only` 后,您必须手动运行 `git add .beads/ && git commit`。

模式2:同步命令转换

之前:

bd sync

之后:

br sync --flush-only
git add .beads/
git commit -m "sync beads"

模式3:会话结束转换

之前:

git add <文件>
bd sync
git push

之后:

git add <文件>
br sync --flush-only
git add .beads/
git commit -m "..."
git push

模式4:问题ID转换

之前:

thread_id: bd-123
subject: [bd-123] 功能实现
reason: bd-123

之后:

thread_id: br-123
subject: [br-123] 功能实现
reason: br-123

验证循环

┌─────────────────────────────────────────────────────────────────┐
│                     验证是强制性的                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. 应用转换                                                    │
│                    ↓                                            │
│  2. 运行验证:                                                  │
│     ./scripts/verify-migration.sh file.md                       │
│                    ↓                                            │
│  3. 如果失败 → 阅读错误 → 修复特定问题 → 转到2                 │
│                    ↓                                            │
│  4. 仅在通过时继续                                              │
│                                                                 │
│  ⚠️ 切勿跳过验证。不完整迁移会破坏代理。                        │
└─────────────────────────────────────────────────────────────────┘

快速验证命令

# 必须返回0:
grep -c '`bd ' file.md
grep -c 'bd sync' file.md
grep -c 'bd ready' file.md

# 必须返回 > 0(如果文件有同步部分):
grep -c 'br sync --flush-only' file.md
grep -c 'git add .beads/' file.md

风险层级

操作 风险 自由度
命令重命名(bdbr 机械—无判断
同步转换 + git步骤 必须添加git步骤
移除守护进程引用 验证不移除有效内容
批量迁移(10+文件) 使用带验证的子代理

自由度:低

这是一个确定性转换。每个输入有一个正确输出。

  • 无创造性解释
  • 无可选改进
  • 无风格选择
  • 精确应用转换

被移除的内容

模式 为何移除 验证不存在
“bd daemon” br 无守护进程 grep -i daemon
“auto-commits” br 从不提交 grep -i "auto.*commit"
“git hooks” br 不安装钩子 grep -i "hook"
“RPC mode” br 无RPC grep -i "rpc"

保持不变的内容

模式 为何保留
SQLite/WAL注意事项 br 仍使用WAL
bv集成 与两者兼容
优先级 P0-P4 相同系统
问题类型 相同系统
依赖跟踪 相同系统
.beads/ 作为真相来源 相同系统

之前/之后示例

之前(bd)

## 使用bd(beads)进行问题跟踪

关键不变量:
- `.beads/` 是权威的

### 代理工作流:
1. `bd ready` 查找工作
2. `bd update <id> --status in_progress`
3. 实现
4. `bd close <id>`
5. `bd sync` 提交更改

之后(br)

## 使用br(beads_rust)进行问题跟踪

**注意:** `br` 是非侵入性的,从不执行git命令。在 `br sync --flush-only` 后,您必须手动运行 `git add .beads/ && git commit`。

关键不变量:
- `.beads/` 是权威的

### 代理工作流:
1. `br ready` 查找工作
2. `br update <id> --status in_progress`
3. 实现
4. `br close <id>`
5. 同步和提交:
   ```bash
   br sync --flush-only
   git add .beads/
   git commit -m "sync beads"

---

## 参考资料

| 需求 | 参考 |
|------|-----------|
| 完整之前/之后示例 | [TRANSFORMS.md](references/TRANSFORMS.md) |
| 批量迁移策略 | [BULK.md](references/BULK.md) |
| 常见错误及修复 | [PITFALLS.md](references/PITFALLS.md) |

---

## 脚本

| 脚本 | 目的 |
|--------|---------|
| `./scripts/find-bd-refs.sh /path` | 查找需要迁移的文件 |
| `./scripts/verify-migration.sh file.md` | 验证迁移完整 |

---

## 验证

```bash
# 完整验证
./scripts/verify-migration.sh /path/to/AGENTS.md

# 快速检查(应无输出)
grep '`bd ' /path/to/AGENTS.md

如果任何bd引用保留 → 迁移不完整 → 重新应用转换。