用途
commerce-app-migrate 用于将 Adobe Commerce App Builder 项目从 Integration Starter Kit 或 Checkout Starter Kit 迁移到新的 App Management 方案,迁移后使用 @adobe/aio-commerce-lib-app。该技能编排完整迁移流程:检测 → 领域分析 → 问答 → 配置组装 → 执行,最终使项目完成迁移并可直接部署。
主要能力
- 预检:确认当前目录为 App Builder 项目,需存在 app.config.yaml、package.json,以及 actions/、src/ 或 actions-src/ 目录之一。
- 分析:通过 Analyzer 代理读取当前目录,返回 ProjectSnapshot JSON,识别 starter kit 类型、认证模式、动作包、引导脚本、包管理器等。
- 领域迁移:对 events、webhooks、adminUiSdk、businessConfig 等领域并行调度对应代理,生成配置片段与待解决问题。
- 问答:将各领域未解决问题分组呈现,支持默认值确认,并将回答应用到配置片段。
- 配置组装:合并各配置片段,生成 app.commerce.config.ts,包含 metadata、eventing、installation、adminUi、businessConfig 等部分。
- 执行:由 Executor 代理完成文件写入与 CLI 命令,并输出迁移摘要。
- 文档建议:Executor 可扫描 README.md 与 env.dist,输出文档建议报告,不修改文件。
使用方式
在 App Builder 项目根目录运行该技能。支持以下模式:
- 默认交互模式:在标记 [await] 的步骤暂停,等待开发者回复后继续。
- 自主模式:使用 --auto 或 --yes,或在无交互终端的自动化流水线中,跳过所有 [await] 点直接继续。
- 仅文档扫描模式:使用 --doc-scan-only,在 Analyzer 完成后跳过后续迁移步骤;若项目尚未迁移,则提示先运行完整迁移;若已迁移,则应用跨领域警告并以 doc-scan-only 模式调度 Executor,不修改任何文件。
迁移流程步骤:
- 运行 Analyzer 代理,返回 ProjectSnapshot,打印项目摘要并请求确认。
- 并行调度领域代理(events、webhooks、admin-ui-sdk、business-config)。
- 分组问答,收集并应用未解决问题。
- 组装 app.commerce.config.ts,打印内容并请求确认。
- 调度 Executor 执行迁移,完成文件写入与 CLI 命令。
适用场景
- 需要将 Adobe Commerce App Builder 项目从 Integration Starter Kit 或 Checkout Starter Kit 迁移到 App Management 的开发者。
- 希望自动检测项目结构并生成 app.commerce.config.ts 配置的项目。
- 需要在迁移前评估文档与环境变量变更建议的场景(--doc-scan-only)。
- 自动化流水线中需要无人值守迁移的场景(--auto/--yes)。
限制
- 必须在 App Builder 项目根目录运行,预检失败则停止。
- API Mesh 配置(mesh.json)无法自动迁移,需手动保留。
- OpenWhisk 触发器、API Gateway 路由、OpenWhisk sequences 在 App Management 中无直接等价物,无法自动迁移,需参考迁移警告文档处理。
- 若项目已迁移(存在 app.commerce.config.ts 或 .js),重复运行会覆盖现有配置,需指定要更新的具体部分。
- 若无法确定 starter kit 类型且无扩展点使用,可生成仅含 metadata 的最小配置。
- upgradeMode 默认使用 "manual","auto" 为实验性。
- 文档建议中 Category C(README)需至少 5 个被标记部分才会输出建议块。
- 具体收费、价格、平台支持等信息暂未提供。