用途:mb-garden 负责 Memory Bank 文档的维护与清理,让 .memory-bank/ 保持准确、可导航且易于加载。适用于已存在 .memory-bank/ 且希望减少文档漂移、过时文档或路由损坏的场景。输入为现有 .memory-bank/,输出为更整洁的 Memory Bank、已解决的卫生问题,以及可选的持续维护 CI 支持。
主要能力与流程:
- 安装确定性维护工具。若仓库尚无工具,可基于 assets/mb-lint.mjs 创建 scripts/mb-lint.mjs,基于 assets/mb-doctor.mjs 创建 scripts/mb-doctor.mjs,可选设为可执行并添加 package scripts:"mb:lint": "node scripts/mb-lint.mjs" 与 "mb:doctor": "node scripts/mb-doctor.mjs"。随后运行: node scripts/mb-lint.mjs node scripts/mb-doctor.mjs 修复所有 ERROR:缺少 YAML frontmatter(description + status)、断链、缺少文件夹 index.md、无效或缺失的 schema 任务记录(含缺失/无效的强制 tier)、过时的 .memory-bank/tasks/backlog.md 或用作工作流状态的 markdown 任务卡、旧 risk / risk.level 任务字段(任务路由仅按 task.tier)。mb-lint 是结构/机械卫生门禁,mb-doctor 是工作流/自主就绪门禁。默认 mb-doctor 适合常规健康检查和新骨架;严格模式仅在 JSON 任务队列存在后使用(/prd-to-tasks 之后、/autonomous 内调度器执行前,或队列已就绪时的 /autopilot 前): node scripts/mb-lint.mjs node scripts/mb-doctor.mjs --strict 空任务注册表的裸骨架不应要求严格模式。
- 人体工学重构:将超过约 700 行的文档拆分为原子文档加路由索引;确保关键概念由经典双文档(architecture WHAT/WHY + guides HOW)或等效的规范驱动支持文档覆盖;用指向源码的链接替换复制粘贴的代码/配置。
- 归档过时或被取代的文档:移至 .memory-bank/archive/,并在原位置留下带归档链接的简短墓碑存根。
- 可选 CI 门禁:若使用 GitHub Actions,可基于 assets/memory-bank-lint.yml 创建 .github/workflows/memory-bank-lint.yml。
- 生成简短报告,写入 .tasks/TASK-MB-GARDEN/TASK-MB-GARDEN-S-01-final-report-docs-01.md。
- 每周维护清单:frontmatter 审计、过时文档扫描(超过 2 周未更新则归档或刷新)、概念覆盖检查、RTM 同步、任务记录卫生、changelog、索引链接、归档墓碑。
完成标准:mb-lint 通过(0 错误);mb-doctor 默认模式通过,--strict 在队列后、调度器/autopilot 执行前通过;索引导航连贯;无未归档的明显重复或过时文档;每周清单项已处理。
限制:需先存在 .memory-bank/;mb-lint 与 mb-doctor 是独立门禁,角色不同;严格模式不适用于空任务注册表的裸骨架。