vega-multi-tv-migration

vega-multi-tv-migration

将 Vega OS(Amazon Fire TV)应用程序迁移到支持 Android TV、Apple TV 及其他平台的多平台 React Native 单体仓库。涵盖分析、实现和原生模块集成。适用于将电视应用迁移以支持多平台,或构建新的多平台电视应用。

4Star
2Fork
更新于 2026/6/30
SKILL.md
readonly只读
name
vega-multi-tv-migration
description

将 Vega OS(Amazon Fire TV)应用程序迁移到支持 Android TV、Apple TV 及其他平台的多平台 React Native 单体仓库。涵盖分析、实现和原生模块集成。适用于将电视应用迁移以支持多平台,或构建新的多平台电视应用。

Vega 多平台迁移

概述

将 Vega OS(Fire TV)应用迁移到多平台 React Native 单体仓库,在 Android TV、Apple TV 和 Vega OS 之间实现 70-85% 的代码复用。

何时应用

当用户提到以下内容时使用此技能:

  • 将 Vega/Fire TV 应用迁移到其他平台
  • 构建多平台电视应用
  • 将单平台电视应用转换为单体仓库
  • 添加 Android TV 或 Apple TV 支持
  • 在电视平台之间共享代码
  • 为电视应用设置 Yarn workspaces

阶段优先级指南

优先级 阶段 影响 何时使用
1 分析 关键 开始迁移,尚无分析
2 实现 关键 已有分析,需要单体仓库结构
3 平台支持 已有可用的 Vega 单体仓库,添加平台
4 配置 排查构建/解析问题

快速决策树

用户有现有 Vega 应用?
├─ 是 → 他们有迁移分析吗?
│  ├─ 否 → 从阶段 1(分析)开始
│  └─ 是 → 单体仓库是否已设置?
│     ├─ 否 → 从阶段 2(实现)开始
│     └─ 是 → 从阶段 3(平台支持)开始
└─ 否 → 从头开始?
   └─ 是 → 跳过阶段 1,从阶段 2 开始新项目

快速参考

关键:项目结构

# 验证单体仓库结构是否存在
ls -la packages/shared packages/vega packages/expotv

# 检查 Yarn workspaces 是否配置
grep -A5 "workspaces:" package.json

关键:依赖分类

常见分析模式:

  • 共享:业务逻辑、UI 组件、工具函数、状态管理
  • 平台特定:导航、视频播放器、DRM、原生模块
  • VMRP 兼容:映射到 Vega 等效库的标准 RN 库

高:VMRP 配置

快速检查 VMRP 是否正常工作:

# 应看到 @vega-tv/react-native-module-resolver-preset
grep "vmrp" packages/vega/babel.config.js

参考资料

阶段 1:分析(analysis-*)

文件 影响 描述
PHASE1_ANALYSIS.md 关键 代码库分析、依赖分类、迁移规划

何时使用:开始迁移,尚无分析文档

阶段 2:实现(impl-*)

文件 影响 描述
PHASE2_IMPLEMENTATION.md 关键 单体仓库脚手架、代码迁移、VMRP 设置及模板参考

何时使用:已有分析,准备构建单体仓库结构

阶段 3:平台支持(platform-*)

文件 影响 描述
PHASE3_PLATFORM_SUPPORT.md Android TV 和 Apple TV 实现

何时使用:已有可用的 Vega 单体仓库,添加新平台

模板

所有配置模板位于 assets/templates/,并附有配套的 .md 文档:

  • root-package.json - Yarn workspaces 设置
  • root-tsconfig.json - TypeScript 项目引用
  • yarnrc.yml - 依赖去重(关键)
  • shared-package.json + .md - 共享包配置及规则
  • vega-metro.config.js - 带单体仓库解析的 Vega Metro
  • expotv-package.json + .md - Expo TV 包配置
  • expotv-app.json + .md - 带插件的 Expo TV 配置
  • expotv-metro.config.js - 带电视扩展的 Expo Metro

问题 → 技能映射

问题 从何开始
需要分析现有 Vega 应用 PHASE1_ANALYSIS.md
已有分析,需要单体仓库设置 PHASE2_IMPLEMENTATION.md → 模板
单体仓库已存在,添加 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)

工作流程

  1. 使用上述决策树确定起始阶段
  2. 加载该阶段的相应参考文件
  3. 遵循每个参考中的快速开始 → 深入模式
  4. 在进入下一阶段前,在每个阶段的检查点进行验证
  5. 使用 VALIDATION_CHECKLIST.md 进行全面验证

归属

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