用途
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。
- 两条路径在准备好供审核的贡献后都应停止。
关于具体收费、价格、平台支持范围等信息,资料中暂未提供。