SuperAPI AI 工具集

submit-element

编程与开发

查看项目

更新于 10-16 01:57

技能介绍

用途

submit-element 是 Remotion 仓库中负责贡献者提交工作流的技能,用于将一个已开发完成的 Remotion Element 最终定稿、加入文档画廊,并准备提交。它从 scaffold-element 技能创建的 Element 开始,终点是准备好可供审核的贡献内容。

该技能明确:设计与质量标准的唯一依据是 Element 贡献指南,进行任何修改前应完整阅读;如果本技能与指南在验收标准上出现分歧,以指南为准。

主要能力

  • 确认 Element 是否就绪:检查 packages/docs/elements/<category>/<slug>/index.mdx、packages/docs/elements/<category>/<slug>/<slug>.tsx 以及 packages/docs/src/components/Elements/element-definitions.ts 中对应条目是否已存在。
  • 选择提交路径:根据已认证 GitHub 账号在规范仓库上的权限决定。权限为 write、maintain 或 admin 时走直接成员路径;权限为 read、triage、none、unknown 或查询失败时走外部贡献路径。
  • 执行提交审核:对照贡献指南与 scaffold-element 的技术要求,检查源码、MDX 页面和中央定义,处理占位内容,并最终确定描述、显示名称、贡献者、尺寸、时长、installationMode、声明的依赖、预览内边距和海报帧。
  • 加入画廊:确认中央定义条目将 Element 放入生成的概览与分类库,并在 packages/docs/elements-sidebars.ts 对应分类中添加 '<category>/<slug>/index'。
  • 渲染并检查预览:仅渲染所提交的 Element,检查 packages/docs/.element-previews/<category>/<slug>/preview.png 与 preview.mp4,并等待开发者明确确认。
  • 上传或复制资源:直接成员路径使用 bun run upload-element-preview --element=<category>/<slug> --source=render 上传;外部贡献路径将审核文件复制到 packages/docs/static/elements 下的扁平路径。
  • 格式化与测试:仅格式化改动的 TypeScript 与 TSX 文件,并运行 bun test src/test/elements.test.ts。
  • 最终仓库检查:运行 bun run build、bun run stylecheck、git diff --check、git status --short。

使用方式

技能要求开发者先明确确认已在文档 Remotion Studio 中目视检查 element-<category>-<slug> 且外观正确,不能从测试完成或代理自身检查推断批准。若尚未批准或需要更多视觉开发,应给出以下命令并停止提交流程:

bun run build
cd packages/docs
bun run remotion

选择提交路径时,通过 GitHub API 查询当前账号权限,不能从 Git remote、分支名或提交邮箱推断成员身份。直接成员路径还需在不打印值的前提下验证 Bun 能读取 AWS_ACCESS_KEY_ID 与 AWS_SECRET_ACCESS_KEY;缺少任一凭据时应停止并报告需要直接预览上传凭据。

渲染预览时只渲染所提交的 Element:

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

不要在不带 Element 过滤器的情况下运行该命令,因为那会渲染所有 Element 并清空完整预览输出。

直接成员路径上传后,需将中央定义中的本地 posterUrl 与 videoUrl 替换为打印出的 https://remotion.media URL,并将 MDX 中的本地 image URL 替换为公开海报 URL,同时确认 packages/docs/static/elements 下不存在匹配文件。

外部贡献路径不向 R2 上传、不替换本地 URL,而是将审核文件复制到扁平审核路径,PNG 与 MP4 合计不得超过 10 MiB,且这两个文件需包含在 pull request 中。

适用场景

适用于 Remotion 仓库中已完成开发、准备提交的 Element 贡献流程,包括仓库写入者的直接提交与其他贡献者的外部提交。

限制

  • 本技能不启动 Studio;视觉批准必须由开发者明确确认。
  • 不得从测试完成或代理自身检查推断批准。
  • 不得从 Git remote、分支名或提交邮箱推断成员身份。
  • 直接成员路径缺少上传凭据时必须停止,不得静默提交临时资源。
  • 不得编辑 packages/docs/src/remotion/Root.tsx,Element 组合由中央定义派生。
  • 不得向分类索引添加手动链接,视觉与原始 Markdown 库由中央定义生成。
  • 外部贡献路径的 PNG 与 MP4 合计不得超过 10 MiB。
  • 两条路径在准备好供审核的贡献后都应停止。

关于具体收费、价格、平台支持范围等信息,资料中暂未提供。