Manifest
manifest.json describes a Mini Program. It is validated on every build against the manifest schema (manifestVersion 1, schemas/mini-program-manifest.schema.json in the SDK repository).
| Field | Required | Notes |
|---|---|---|
manifestVersion | yes | 1 |
id | yes | Stable, namespaced id, e.g. com.example.hello. Never change it after publishing. |
name | yes | Shown in the catalog |
description | One or two sentences for the catalog | |
icon | An emoji or short glyph | |
version | yes | Semver. Every published version is immutable: bump it for each release. |
sdkVersion | yes | Range of @lex/sdk you built against. Supported: >=0.1.0 <0.2.0, e.g. ^0.1.0 |
entry | yes | Entry file, e.g. src/index.tsx |
permissions | Capabilities you use, see Permissions. Unknown ones fail the build. | |
compatibility.runtime | yes | Platform runtime range, e.g. ^1.0.0 (current runtime 1.0.0) |
json
{
"manifestVersion": 1,
"id": "com.acme.task-board",
"name": "Task Board",
"description": "A tiny board that remembers your tasks and asks Lex to plan them.",
"icon": "🗂️",
"version": "1.2.0",
"sdkVersion": "^0.1.0",
"entry": "src/index.tsx",
"permissions": ["storage.scoped", "agent.request", "ui.notifications"],
"compatibility": { "runtime": "^1.0.0" }
}