---
title: "準備您的 app template"
description: "撰寫讓應用程式出現在 App Market 的 ARX app template：目錄結構、ARX 會讀取的 manifest 區塊，以及完整的欄位參考文件"
canonical_url: "https://developer.ardge.com/zh-tw/guide/isv/prepare-app-template"
---
# 準備您的 app template

> 撰寫讓應用程式出現在 App Market 的 ARX app template：目錄結構、ARX 會讀取的 manifest 區塊，以及完整的欄位參考文件

## 概觀

app template 是讓您的應用程式能夠安裝在 ARX 上的關鍵。它是一組 YAML 目錄，載明應用程式的身分、所需資源、安裝時由使用者填寫的設定，以及指向運行它的 Helm chart。

本文說明該目錄的結構，以及 ARX 會讀取的 manifest 區塊。

## 您將學到

- 規劃 template 目錄並選定 template id
- 填寫 manifest 的各個區塊：metadata、resources、form fields、deployment 與 dependencies
- 加入決定應用程式在 App Market 呈現樣貌的選用檔案

## 適用版本

- ARX OS 1.0 以上

## 開始之前

- 您的應用程式已封裝為容器 image，且該 image 能從 ARX 系統可連線的位址取得
- 您知道 Helm chart 發布在哪個 OCI registry，template 才能指向它

<note>

**下載 skills**：套件為 [arx-isv-skills-v0.6.4.zip](https://developer.ardge.com/skills/arx-isv-skills-v0.6.4.zip)（約 185 KB）——解壓後將裡面的資料夾複製到您專案的 `.claude/skills/`。

</note>

<tip>

**交由 AI Agent 代為撰寫**：將 skills 套件指給您的 AI Agent，讓它依應用程式的資訊產生 template。

</tip>

## 目錄結構

template 直接放在 `templates/` 底下，每個 template 的目錄名稱即為它的 id：

```text
templates/
- publisher.yaml
- apps.your-app/
  - manifest.yaml         # 應用程式的基本資訊與設定
  - arx.yaml              # 平台資源綁定（選用）
  - icon.svg              # 應用程式圖示（選用）
  - localization.yaml     # 翻譯（選用）
  - README.md             # 英文說明文件（選用）
  - README.zh-TW.md       # 正體中文說明文件（選用）
  - screenshots/          # 應用程式截圖（選用）
  - manifests/
    - values.yaml         # Helm chart values
```

應用程式的 id 為 `apps.<name>`，其中 `<name>` 需符合 `^[a-z][a-z0-9-]*$`。`metadata.id` 必須與目錄名稱一致，不一致時驗證會失敗。

## manifest.yaml 的內容

<table>
<thead>
  <tr>
    <th>
      區塊
    </th>
    
    <th>
      內容
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        metadata
      </code>
    </td>
    
    <td>
      id、名稱、版本、發布日期、分類、描述、圖示、截圖、開發者、支援語言與標籤——這些是 App Market 顯示的內容
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        resources
      </code>
    </td>
    
    <td>
      應用程式所需的 CPU、記憶體、儲存空間、GPU 數量與 VRAM
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deployment
      </code>
    </td>
    
    <td>
      Helm repository、chart、版本與 values 檔案——chart 本身需要提供什麼，請見<a href="https://developer.ardge.com/zh-tw/guide/isv/prepare-helm-chart">
        準備您的 Helm chart
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        dependencies
      </code>
    </td>
    
    <td>
      安裝應用程式時建議一併部署的模型——dependency id 必須指向同一個 repository 內的 template
    </td>
  </tr>
</tbody>
</table>

## 選用檔案

`icon.svg` 是 App Market 列出應用程式時使用的圖示。以 `metadata.icon` 指向它——相對於 manifest 的路徑，或一個 `https` 網址：

```yaml
metadata:
  icon: ./icon.svg
```

請使用正方形、256×256 以上、透明背景的圖檔，優先使用 SVG。

`screenshots/` 存放應用程式在 App Market 頁面上的產品介紹圖，**至多兩張**。在 `metadata.screenshots` 中依您希望的顯示順序列出：

```yaml
metadata:
  screenshots:
    - ./screenshots/dashboard.png
    - ./screenshots/settings.png
```

每一項是相對於 manifest 的路徑或 `https` 網址。系統不會驗證路徑是否存在，因此打錯字的結果是 App Market 頁面上少一張圖，而不是驗證失敗。

`localization.yaml` 翻譯使用者可見的字串（名稱除外），預設語言為英文。

## 下一步

<card-group>
<card icon="i-lucide-cable" title="準備您的 arx.yaml" to="https://developer.ardge.com/zh-tw/guide/isv/prepare-arx-yaml">

宣告應用程式需要的平台資源，以及這些資源的連線資訊如何送進您的 pod

</card>
</card-group>


## Sitemap

See the full [sitemap](https://developer.ardge.com/sitemap.md) for all pages.
