mcpField
A
accept-element

accept-element

github.com/remotion-dev開発68.6k56 回インストール今日更新
リポジトリ

accept-element について

外部から投稿されたElementを受け入れる、Remotionのメンテナー専用ワークフローです。投稿内容とプレビュー素材を確認し、明示的な承認後にアップロードして、プルリクエストをレビュー可能な状態に整えます。

主な機能

  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 Element を受け入れる

これは、submit-element スキルの外部パスを使用したコントリビューション向けの、メンテナー専用ワークフローです。すでに公開プレビュー URL があり、コミット済みのプレビューアセットがない、リポジトリのライターによる直接投稿には使用しないでください。変更を加える前に、Element コントリビューションガイド、scaffold-element スキル、および submit-element スキルをすべて読んでください。

このワークフローは、外部コントリビューターのプルリクエストブランチで実行してください。強制プッシュはしないでください。フォークからのプルリクエストの場合は、「Allow edits from maintainers」が有効になっていることを確認してください。ブランチを更新できない場合は、承認後にのみアップロードし、以下で説明する URL とアセットのクリーンアップを適用するようコントリビューターに依頼してください。

1. コントリビューションがレビュー可能であることを確認する

投稿された <category>/<slug> が 1 つだけであることを特定し、次の点を確認してください。

  • 実装、ページ、中央定義、サイドバーへの登録がプルリクエストに含まれていること。
  • ページのフロントマターと中央定義で、レビュー用 URL として /elements/<category>-<slug>-preview.png および .mp4 が使用されていること。
  • 対応するファイルが packages/docs/static/elements/<category>-<slug>-preview.png および .mp4 にコミットされていること。
  • コントリビューターが Studio で Element を確認し、コミット済みの両方のプレビューアセットを明示的に承認していること。
  • プルリクエストが Element コントリビューションガイドに沿ったコードレビューに合格していること。

メタデータがすでに存在しない https://remotion.media アセットを参照している Element や、レビュー用アセットがプルリクエストの外部でのみ利用可能な Element は受け入れないでください。

2. コミット済みアセットと最終コードを照合する

対象を絞ったテストを実行し、最終的なプルリクエストのソースから Element をもう一度レンダリングしてください。

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

メンテナーに、コミット済みアセットと新しいレンダリングを目視で比較し、同じポスターフレームとアニメーションを表していることを確認するよう依頼してください。アップロードする前に、最終ソースと両方のコミット済みアセットについて、明示的な承認を得られるまで待ってください。エージェント自身の確認を承認と見なしてはいけません。メンテナーが承認しない場合は、コントリビューションを投稿ワークフローに戻してください。

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 を読み込みます。Element のプレビューアップロードでは packages/remotion-media/.env は使用しません。また、Element のアップロードに汎用の 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 から 2 つのファイルを削除します。
  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 は含まれていないはずです。通常どおり受け入れ作業のクリーンアップを同じプルリクエストのブランチにコミットし、強制プッシュせずにプッシュしてください。その後、作業を停止し、プルリクエストのレビュー準備が整ったことを報告してください。

コメント