mcpField
E
engine-whats-new

engine-whats-new

github.com/flutter開発180.5k50 回インストール今日更新
リポジトリ

engine-whats-new について

Flutter エンジンのリリース間の変更概要と差分を生成するスキルです。Dart スクリプトの実行手順と、生成物の提示方法を案内します。

主な機能

  1. 01Flutter エンジンのリリース比較
  2. 02統一形式の git 差分生成
  3. 03分類別 Markdown 概要の作成
  4. 04構造化 JSON の出力

活用シーン

  1. 01新しい Flutter リリースのエンジン変更確認
  2. 02指定したリリース間の変更比較
  3. 03プログラム処理向けリリースデータの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/flutter/flutter --skill engine-whats-new

インストール後、Claude Code で/engine-whats-newを入力して読み込まれたか確認します。

同梱ファイルscripts/generate_engine_whats_new.dartscripts/README.md

詳細

Flutter Engine の新機能と差分スキル

ワークフロー

1. 入力を特定する

ユーザーのリクエストから、以下を抽出します。

  • 対象リリース(<TARGET_RELEASE>): 分析する Flutter のリリースバージョンです(例:3.47、3.47.0、flutter-3.47-candidate.0)。
  • ベースリリース(<BASE_RELEASE>): 任意です。比較対象となる前の Flutter リリースです(例:3.44)。ユーザーが指定しない場合、スクリプトが前のリリースを自動的に計算します(例:3.47 の場合は 3.44 が自動的に選択されます)。
2. 生成ツールを実行する

Flutter リポジトリのルートから Dart スクリプトを実行します。

dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE>

ユーザーがカスタムのベースリリースまたは出力パスを指定した場合:

dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE> --from <BASE_RELEASE> --output-diff engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff --output-summary engine_whats_new_<TARGET_RELEASE>.md

プログラムで使用できる構造化 JSON を出力する場合:

dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release <TARGET_RELEASE> --format json
3. 生成された成果物を確認してユーザーに提示する

ツールは、リポジトリのルートに次の 2 つの主要な成果物を生成します。

  1. 差分ファイル(engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff): 2 つのリリース間における //engine/src/flutter のすべての変更を含む、完全な統合 Git 差分です。
  2. 概要ドキュメント(engine_whats_new_<TARGET_RELEASE>.md): 次の項目を分類してまとめた Markdown 形式の概要です。
    • 概要と統計: エンジンのコミット数、変更されたファイル数、追加数、削除数の合計です。
    • 🚀 Impeller とグラフィックスレンダリング: Vulkan、Metal、OpenGL、シェーダー、ディスプレイリストの更新です。
    • 🌐 Web エンジンと Wasm: Web SDK、CanvasKit、WebAssembly の変更です。
    • 📱 Android の組み込み: Gradle/AGP の更新、Android ビューのレンダリング、Java/Kotlin による組み込みの変更です。
    • 🍎 iOS と macOS の組み込み: Darwin プラットフォームビューのライフサイクル、Metal ビュー、macOS/iOS の更新です。
    • 🪟 Windows と Linux デスクトップの組み込み: Win32 コンポジター、Linux GTK の組み込み、デスクトップシェルの修正です。
    • 🔤 テキスト、タイポグラフィ、アクセシビリティ: セマンティクス、IME、フォントフォールバック、テキストレイアウトの改善です。
    • 🔄 依存関係の更新: Skia、Dart SDK、ICU、HarfBuzz、ANGLE の更新です。
    • 🛠️ ビルドシステム、CI、ツール: GN ビルドファイル、luci スクリプト、テストユーティリティです。

結果の簡潔な概要を示し、生成された差分ファイルと Markdown 概要ファイルへのリンクをユーザーに提供します。

例

  • ユーザー:「Flutter 3.47 のエンジンの新機能を生成してください。」

  • エージェント:

    1. 対象リリース 3.47 を特定します。
    2. dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --release 3.47 を実行します。
    3. 概要の統計(例:354 件のコミット、1179 個の変更ファイル)を報告し、生成された engine_diff_3.44_to_3.47.diff と engine_whats_new_3.47.md を共有します。
  • ユーザー:「Flutter 3.41 と 3.44 の間のエンジンの変更を比較してください。」

  • エージェント:

    1. ベースリリース 3.41 と対象リリース 3.44 を特定します。
    2. dart .agents/skills/engine-whats-new/scripts/generate_engine_whats_new.dart --from 3.41 --to 3.44 を実行します。
    3. エンジンの変更内容の内訳と差分ファイルを提示します。

コメント