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 Metroexpotv-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) |
工作流程
- 使用上述决策树确定起始阶段
- 加载该阶段的相应参考文件
- 遵循每个参考中的快速开始 → 深入模式
- 在进入下一阶段前,在每个阶段的检查点进行验证
- 使用 VALIDATION_CHECKLIST.md 进行全面验证
归属
基于 Vega OS 多平台迁移模式和 React Native 单体仓库最佳实践。






