Skip to content
Apothem
CLI 参考

migrate-workspace

apothem migrate-workspace 命令的 CLI 参考。

将旧有的按工具划分的工作区迁移到共享的 .apothem 布局中。

概要

apothem migrate-workspace [--project PATH] [--dry-run]
                          [--quiet|-q] [--verbose|-v]
                          [--format plain|json] [--json] [--no-color]

migrate-workspace 会将旧有的按工具划分的数据主目录(.apothem/<harness>/...)和旧有的 .plans/ 树合并到单一的共享工作目录 .apothem/{plans,memory,learning,contexts} 中。基准目录在提供了根目录时为解析后的 --project 根目录,否则为当前工作目录(项目本地的默认值)。

按工具划分的记忆、上下文和学习存储会按 id 以并集方式合并到共享存储中;学习信号会被拼接并去重;冲突的记录(id 相同、内容不同)会被跳过,绝不会被覆盖。旧有的 .plans/ 树会被移动到 .apothem/plans/ 下。每个被合并吸收的来源都会先被备份。该迁移是幂等的——在已迁移的树上重新运行是一个无操作。

选项

选项描述
--project PATH项目范围适配器的项目根目录,这些适配器物化到项目树中,而不是用户范围的配置目录中。
--dry-run检测旧有布局并报告将会迁移的内容,而不写入任何内容。
--quiet, -q抑制信息性输出;只输出错误。
--verbose, -v输出额外的诊断信息。
--format plain|json输出格式(默认:plain)。
--json--format json 的简写。
--no-color在输出中禁用 ANSI 颜色代码。
-h, --help显示帮助并退出。

JSON 输出

--json 信封携带迁移结果。迁移完成时,status 为 success,载荷会报告已合并的记录数、.plans/ 树是否已被移动到新位置、备份根目录,以及任何被跳过的冲突。--dry-run 调用则改为报告 legacy_layout_detected。

{
  "schema_version": 1,
  "command": "migrate-workspace",
  "status": "success",
  "base": "/home/example/project",
  "migrated": true,
  "backup_root": "/home/example/project/.apothem/backups/migrate-20260101T120000Z",
  "memory_merged": 12,
  "contexts_merged": 4,
  "learning_merged": 7,
  "conflicts": [],
  "plans_moved": true,
  "notes": []
}

当不存在旧有布局时,migrated 为 false,且不会写入任何内容。--dry-run 信封省略结果计数,只报告检测结果:

{
  "schema_version": 1,
  "command": "migrate-workspace",
  "base": "/home/example/project",
  "dry_run": true,
  "legacy_layout_detected": false
}

示例

apothem migrate-workspace
apothem migrate-workspace --project .
apothem migrate-workspace --dry-run --json

退出码

代码含义
0迁移已完成,或未发现旧有布局(没有需要迁移的内容)
1预期内的错误——校验错误或项目根目录错误,或者迁移失败
64用法错误:未知的选项或命令,或者缺失或无效的选项值。在 --json 下,该错误是一个代码为 cli.usage 的 JSON 信封。

另请参阅

On this page