用途
内容驱动开发(CDD)用于编排 AEM Edge Delivery Services(EDS、Franklin、Helix)的开发工作流,核心原则是:在编写或修改代码之前,必须先识别或创建用于测试改动的内容。该技能适用于所有 AEM 开发任务,包括创建新区块、修改现有区块(结构或功能变更)、更改核心装饰功能、需要验证的缺陷修复,以及任何影响作者创建或组织内容方式的代码。它不适用于仅文档变更、不影响创作的配置变更,以及尚不需要进行代码改动的研究任务。
主要能力
该技能提供一套分步工作流,并通过 TodoWrite 工具创建包含 8 项任务的待办清单:启动开发服务器、分析与规划、设计内容模型、识别/创建测试内容、实现、代码检查与测试、最终验证、提交发布。每一步都定义了成功标准,完成后方可标记待办项。
工作流会调用多个相关技能:analyze-and-plan(需求分析与验收标准)、content-modeling(设计内容模型)、da-auth(在向 DA 推送内容前获取有效 Adobe IMS 令牌)、find-test-content(查找现有内容)、building-blocks(实现)、testing-blocks(浏览器测试)、block-collection-and-party(查找相似区块与参考实现)。
使用方式
第一步:使用 TodoWrite 创建 8 项任务清单。
第二步:启动开发服务器。检查服务器是否运行:
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000
预期返回 200 或连接错误。若未运行,执行:
aem up --no-open --forward-browser-logs
需全局安装 AEM CLI:npm install -g @adobe/aem-cli,或使用 npx -y @adobe/aem-cli up --no-open --forward-browser-logs。启动后再次验证返回 200。
第三步:调用 analyze-and-plan 技能,提供任务描述、截图/设计文件/现有 URL,产出需求分析与验收标准文档。
第四步:调用 content-modeling 技能设计内容模型(表格结构、行列、语义格式),若为纯 CSS 变更且不影响内容结构可跳过。
第五步:识别或创建测试内容。若用户已提供 URL,验证其返回 200;若为新区块,可请用户在 CMS(Google Drive/SharePoint/DA/Universal Editor)中创建内容,或创建本地 HTML 文件 drafts/tmp/{block-name}.plain.html 并以 aem up --html-folder drafts --no-open --forward-browser-logs 重启服务器;若为现有区块,调用 find-test-content 搜索现有内容,不足时补充创建。使用 DA 时,先调用 da-auth 获取 DA_TOKEN,再通过 DA Admin API(POST https://admin.da.live/source/{org}/{repo}/{path})推送内容并触发预览。
第六步:调用 building-blocks 技能实现,处理 JavaScript 装饰与 CSS 样式(移动优先、响应式),并在浏览器中迭代测试。
第七步:运行 npm run lint(可用 npm run lint:fix 自动修复)和 npm test。
第八步:对照验收标准做最终验证,检查移动、平板、桌面视口及控制台错误,确认无回归。
第九步:创建功能分支、暂存特定文件(禁止使用 git add .)、按约定格式提交、推送并创建 PR。分支预览 URL 格式为 https://{branch}--{repo}--{owner}.aem.page/{path},PR 描述中必须包含预览链接。若仅有本地测试内容,使用 gh pr create --draft 创建草稿 PR,并在描述中说明后续步骤。
适用场景
适用于所有 AEM Edge Delivery Services 开发任务,尤其是需要确保代码基于真实内容构建、内容模型对作者友好、并在开发全程进行验证的场景。
限制
不适用于仅文档变更、不影响创作的配置变更,以及尚不需要改代码的研究任务。该技能依赖 AEM CLI、开发服务器、CMS 内容以及多个相关技能。本地 HTML 测试内容仅为临时方案,创建 PR 前用户仍需在 CMS 中创建内容以生成预览链接。