关于 vega-multi-tv-migration
这是一项将 Vega OS(Fire TV)应用迁移到多平台 React Native 电视应用 monorepo 的技能,面向开发团队。它按分析、实施和平台扩展阶段提供指引,并附带配置模板与验证检查点。
主要功能
- 01迁移分析与依赖分类
- 02Yarn workspaces monorepo 搭建
- 03Vega VMRP 配置指引
- 04支持 Android TV 与 Apple TV
- 05配置模板与验证清单
适用场景
- 01迁移前评估现有 Vega 应用
- 02将单平台电视应用改为 monorepo
- 03为 Vega 项目添加 Android TV 或 Apple TV
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ amazonappdev/ devices-agent-skills --skill vega-multi-tv-migration安装后在 Claude Code 中输入/vega-multi-tv-migration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/templates/expotv-app.jsonexpotv-app.json.mdexpotv-metro.config.jsexpotv-package.jsonexpotv-package.json.mdroot-package.jsonroot-tsconfig.jsonshared-package.jsonVALIDATION_CHECKLIST.mdvega-metro.config.jsyarnrc.ymlreferences/PHASE1_ANALYSIS.mdPHASE2_IMPLEMENTATION.mdPHASE3_PLATFORM_SUPPORT.md详细介绍
Vega 多平台迁移
概述
将 Vega OS(Fire TV)应用迁移到多平台 React Native monorepo,在 Android TV、Apple TV 和 Vega OS 之间实现 70-85% 的代码复用。
适用场景
用户提到以下内容时使用此技能:
- 将 Vega/Fire TV 应用迁移到其他平台
- 构建多平台电视应用
- 将单平台电视应用转换为 monorepo
- 添加 Android TV 或 Apple TV 支持
- 在电视平台之间共享代码
- 为电视应用设置 Yarn workspaces
阶段优先级指南
| 优先级 | 阶段 | 影响 | 使用时机 |
|---|---|---|---|
| 1 | 分析 | CRITICAL | 开始迁移,尚无现有分析 |
| 2 | 实施 | CRITICAL | 已完成分析,需要搭建 monorepo 结构 |
| 3 | 平台支持 | HIGH | 已有可运行的 Vega monorepo,需要添加平台 |
| 4 | 配置 | MEDIUM | 排查构建/解析问题 |
快速决策树
User has existing Vega app?
├─ YES → Do they have migration analysis?
│ ├─ NO → Start Phase 1 (Analysis)
│ └─ YES → Is monorepo set up?
│ ├─ NO → Start Phase 2 (Implementation)
│ └─ YES → Start Phase 3 (Platform Support)
└─ NO → Starting from scratch?
└─ YES → Skip Phase 1, start Phase 2 with new project
快速参考
关键:项目结构
# Verify monorepo structure exists
ls -la packages/shared packages/vega packages/expotv
# Check Yarn workspaces configured
grep -A5 "workspaces:" package.json
关键:依赖分类
分析时的常见模式:
- 共享:业务逻辑、UI 组件、工具、状态管理
- 平台特定:导航、视频播放器、DRM、原生模块
- VMRP 兼容:可映射到 Vega 对应实现的标准 RN 库
高优先级:VMRP 配置
快速检查 VMRP 是否正常运行:
# Should see @vega-tv/react-native-module-resolver-preset
grep "vmrp" packages/vega/babel.config.js
参考资料
阶段 1:分析(analysis-*)
| 文件 | 影响 | 说明 |
|---|---|---|
| PHASE1_ANALYSIS.md | CRITICAL | 代码库分析、依赖分类和迁移规划 |
使用时机:开始迁移,尚无现有分析文档
阶段 2:实施(impl-*)
| 文件 | 影响 | 说明 |
|---|---|---|
| PHASE2_IMPLEMENTATION.md | CRITICAL | Monorepo 脚手架搭建、代码迁移、VMRP 设置及模板参考 |
使用时机:已完成分析,准备搭建 monorepo 结构
阶段 3:平台支持(platform-*)
| 文件 | 影响 | 说明 |
|---|---|---|
| PHASE3_PLATFORM_SUPPORT.md | HIGH | Android TV 和 Apple TV 的实现 |
使用时机:已有可运行的 Vega monorepo,需要添加新平台
模板
所有配置模板均位于 assets/templates/ 中,并附有对应的 .md 文档:
root-package.json- Yarn workspaces 设置root-tsconfig.json- TypeScript 项目引用yarnrc.yml- 依赖去重(CRITICAL)shared-package.json+.md- 共享包配置及规则vega-metro.config.js- 支持 monorepo 解析的 Vega Metroexpotv-package.json+.md- Expo TV 包配置expotv-app.json+.md- 带插件的 Expo TV 配置expotv-metro.config.js- 支持 TV 扩展的 Expo Metro
问题 → 技能映射
| 问题 | 从这里开始 |
|---|---|
| 需要分析现有 Vega 应用 | PHASE1_ANALYSIS.md |
| 已完成分析,需要设置 monorepo | PHASE2_IMPLEMENTATION.md → 模板 |
| Monorepo 已存在,需要添加 Android TV | PHASE3_PLATFORM_SUPPORT.md |
| Metro 解析错误 | PHASE2_IMPLEMENTATION.md → Metro 配置 |
| React 版本重复 | PHASE2_IMPLEMENTATION.md → .yarnrc.yml |
| VMRP 未映射导入 | PHASE2_IMPLEMENTATION.md → VMRP 部分 |
| TypeScript 路径错误 | PHASE2_IMPLEMENTATION.md → TypeScript 配置 |
| 原生模块集成 | PHASE3_PLATFORM_SUPPORT.md → 原生模块 |
| 构建配置问题 | PHASE2_IMPLEMENTATION.md → 配置文件 |
| 从头开始 | PHASE2_IMPLEMENTATION.md(跳过阶段 1) |
工作流
- 使用上方的决策树确定起始阶段
- 加载该阶段对应的参考文件
- 按照每份参考资料中的「快速入门 → 深入探索」模式进行
- 在每个阶段的检查点进行验证,然后再进入下一阶段
- 使用 VALIDATION_CHECKLIST.md 进行全面验证
致谢
基于 Vega OS 多平台迁移模式和 React Native 单体仓库最佳实践。
评论
支持 Markdown