mcpField
A
accept-element

accept-element

github.com/remotion-dev开发68.6k56 次安装今天更新
代码仓库

关于 accept-element

这是一个仅供维护者使用的 Remotion 工作流,用于接收外部提交的 Element。它检查贡献内容和预览资源,在明确批准后上传文件,并更新拉取请求以供审查。

主要功能

  1. 01检查贡献文件与元数据
  2. 02渲染并比较预览资源
  3. 03要求维护者明确批准
  4. 04上传获批的预览文件
  5. 05验证并更新拉取请求

适用场景

  1. 01审查外部提交的 Element
  2. 02发布获批的预览资源
  3. 03整理已接收的拉取请求以供审查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/remotion-dev/remotion --skill accept-element

安装后在 Claude Code 中输入/accept-element确认已加载。

详细介绍

接收 Remotion 元素

这是仅供维护者使用的工作流,适用于使用 submit-element 技能 中外部路径提交的贡献。不要将其用于仓库编写者直接提交的内容,因为这类提交已经有公开预览 URL,且不会提交预览资源。进行更改前,请完整阅读 元素贡献指南、scaffold-element 技能和 submit-element 技能。

在外部贡献者的拉取请求分支上运行此工作流。不要强制推送。对于来自复刻仓库的拉取请求,请确认已启用“Allow edits from maintainers”。如果无法更新分支,请仅在获得批准后上传,并请贡献者按下文所述清理 URL 和资源。

1. 确认贡献内容可供审核

确定唯一提交的 <category>/<slug>,并确认:

  • 实现、页面、中心定义和侧边栏注册都包含在拉取请求中。
  • 页面 frontmatter 和中心定义使用 /elements/<category>-<slug>-preview.png 和 .mp4 审核 URL。
  • 对应文件已提交至 packages/docs/static/elements/<category>-<slug>-preview.png 和 .mp4。
  • 贡献者已明确在 Studio 中审核该元素,并批准了两个已提交的预览资源。
  • 拉取请求已通过依据元素贡献指南进行的代码审查。

如果元素的元数据已指向缺失的 https://remotion.media 资源,或审核资源仅在拉取请求之外提供,则不要接收该元素。

2. 根据最终代码验证已提交的资源

先运行针对性测试,然后根据拉取请求中的最终源码重新渲染该元素:

cd packages/docs
bun test src/test/elements.test.ts
bun run render-element-previews --element=<category>/<slug>
cd ../..

向维护者提供以下已提交资源的路径:

  • packages/docs/static/elements/<category>-<slug>-preview.png
  • packages/docs/static/elements/<category>-<slug>-preview.mp4

同时提供以下新渲染资源的路径:

  • packages/docs/.element-previews/<category>/<slug>/preview.png
  • packages/docs/.element-previews/<category>/<slug>/preview.mp4

请维护者直观比较已提交资源与新渲染资源,并确认它们呈现的是相同的海报帧和动画。在获得对最终源码和两个已提交资源的明确批准前,请停止并等待。不要根据 Agent 自行检查的结果推断已获批准。如果维护者不予批准,请将贡献退回提交工作流。

3. 上传已批准的确切文件

在 packages/docs/.env 中配置维护者 R2 凭证后,运行:

cd packages/docs
bun run upload-element-preview \
  --element=<category>/<slug> \
  --source=submission
cd ../..

从 packages/docs 运行命令,Bun 就会加载 packages/docs/.env。元素预览上传不会使用 packages/remotion-media/.env;不要对这些文件使用通用的 upload-r2 或 offload-r2 技能。

此命令会上传 packages/docs/static/elements 中的确切文件;它不会重新渲染或删除这些文件。显式提交源会验证资源已提交且未经修改,然后检查本地路径、文件签名、总大小、上传后的大小、公开 HTTP 响应和内容类型。除非两个文件的上传都通过验证,否则不要继续。

命令会打印公开 URL:

  • https://remotion.media/elements/<category>-<slug>-preview.png
  • https://remotion.media/elements/<category>-<slug>-preview.mp4

4. 将贡献转换为已发布状态

仅在上传成功后:

  1. 将 packages/docs/src/components/Elements/element-definitions.ts 中本地的 posterUrl 和 videoUrl 替换为打印出的 https://remotion.media URL。
  2. 将 packages/docs/elements/<category>/<slug>/index.mdx 中本地的 image URL 替换为公开海报 URL。
  3. 删除 packages/docs/static/elements 中的两个文件。
  4. 如果 packages/docs/static/elements 为空,则将其删除。

从上传到清理期间,不要更改 slug 或扁平化资源名称。

5. 验证并更新拉取请求

cd packages/docs
bun test src/test/elements.test.ts
cd ../..
bun run build
bun run stylecheck
git diff --check
git status --short

当前的专项测试会验证元数据是否包含准确的公共 URL,以及是否已无匹配的本地审查资源。

检查最终差异。应包含 Element 源码、页面、定义、图库注册和公共 URL,但不应包含 PNG 或 MP4。正常提交验收清理内容到同一个拉取请求分支,并推送时不要使用强制推送。然后停止,并报告拉取请求已准备好接受审查。

评论

支持 Markdown