SKILL.md
唯讀
名稱
vega-multi-tv-migration
描述
將 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 單一儲存庫最佳實務。






