mcpField
V
vega-multi-tv-migration

vega-multi-tv-migration

github.com/amazonappdev开发510.7k 次安装5 周前更新
代码仓库

关于 vega-multi-tv-migration

这是一项将 Vega OS(Fire TV)应用迁移到多平台 React Native 电视应用 monorepo 的技能,面向开发团队。它按分析、实施和平台扩展阶段提供指引,并附带配置模板与验证检查点。

主要功能

  1. 01迁移分析与依赖分类
  2. 02Yarn workspaces monorepo 搭建
  3. 03Vega VMRP 配置指引
  4. 04支持 Android TV 与 Apple TV
  5. 05配置模板与验证清单

适用场景

  1. 01迁移前评估现有 Vega 应用
  2. 02将单平台电视应用改为 monorepo
  3. 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 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/templates/
expotv-app.json
expotv-app.json.md
expotv-metro.config.js
expotv-package.json
expotv-package.json.md
root-package.json
root-tsconfig.json
shared-package.json
VALIDATION_CHECKLIST.md
vega-metro.config.js
yarnrc.yml
references/
PHASE1_ANALYSIS.md
PHASE2_IMPLEMENTATION.md
PHASE3_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.mdCRITICAL代码库分析、依赖分类和迁移规划

使用时机:开始迁移,尚无现有分析文档

阶段 2:实施(impl-*)
文件影响说明
PHASE2_IMPLEMENTATION.mdCRITICALMonorepo 脚手架搭建、代码迁移、VMRP 设置及模板参考

使用时机:已完成分析,准备搭建 monorepo 结构

阶段 3:平台支持(platform-*)
文件影响说明
PHASE3_PLATFORM_SUPPORT.mdHIGHAndroid 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 Metro
  • expotv-package.json + .md - Expo TV 包配置
  • expotv-app.json + .md - 带插件的 Expo TV 配置
  • expotv-metro.config.js - 支持 TV 扩展的 Expo Metro

问题 → 技能映射

问题从这里开始
需要分析现有 Vega 应用PHASE1_ANALYSIS.md
已完成分析,需要设置 monorepoPHASE2_IMPLEMENTATION.md → 模板
Monorepo 已存在,需要添加 Android TVPHASE3_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)

工作流

  1. 使用上方的决策树确定起始阶段
  2. 加载该阶段对应的参考文件
  3. 按照每份参考资料中的「快速入门 → 深入探索」模式进行
  4. 在每个阶段的检查点进行验证,然后再进入下一阶段
  5. 使用 VALIDATION_CHECKLIST.md 进行全面验证

致谢

基于 Vega OS 多平台迁移模式和 React Native 单体仓库最佳实践。

评论

支持 Markdown