mcpField
E
engine-whats-new

engine-whats-new

github.com/flutter开发180.5k50 次安装今天更新
代码仓库

关于 engine-whats-new

用于生成 Flutter 引擎版本变更摘要和差异的 Skill,指导 Agent 运行 Dart 脚本,并整理生成的文件。

主要功能

  1. 01比较 Flutter 引擎版本
  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 引擎新功能与差异技能

工作流

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. 检查生成的产物并呈现给用户

该工具会在仓库根目录中生成两个主要产物:

  1. 差异文件(engine_diff_<BASE_RELEASE>_to_<TARGET_RELEASE>.diff): 两个版本之间 //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 的引擎新功能摘要。”

  • Agent:

    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 之间的引擎更改。”

  • Agent:

    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. 呈现引擎更改分类摘要和差异文件。

评论

支持 Markdown