Getting StartedQuickstart

Quickstart

Fast paths into PanelWave — validate a manifest with the CLI, embed the player in an Angular app, create your first work in the CMS, or let an AI assistant build it with you.

Pick the path that matches what you want to do. Each one takes a few minutes and links into the deeper documentation for that layer.

Use @panelwave/cli to check a manifest against the official schema. This is the fastest way to get hands-on with the format.

Install the CLI

Install the CLI from npm (CLI 1.2.0 bundles the current format schema, 1.7.0):

npm install -g @panelwave/cli

Or run it without installing: npx @panelwave/cli validate ./panelwave.json. Details: CLI reference.

Create a minimal manifest

Save this as panelwave.json. It is the smallest useful work: two panels connected by one edge.

{
  "panelwave": {
    "version": "1.0.0",
    "schema": "https://panelwave.org/schema/1.0/panelwave.schema.json"
  },
  "meta": {
    "id": "my-first-work",
    "title": { "en-US": "My First Work" },
    "locales": ["en-US"],
    "default_locale": "en-US"
  },
  "assets": {
    "catalog": [
      {
        "id": "img-p1",
        "category": "image",
        "variants": [
          { "src": "https://picsum.photos/id/101/1280/720", "w": 1280, "h": 720, "mime": "image/jpeg" }
        ]
      },
      {
        "id": "img-p2",
        "category": "image",
        "variants": [
          { "src": "https://picsum.photos/id/102/1280/720", "w": 1280, "h": 720, "mime": "image/jpeg" }
        ]
      }
    ]
  },
  "chapters": [
    {
      "id": "ch-1",
      "panels": {
        "p1": { "layers": [{ "kind": "image", "id": "ly-1", "assetId": "img-p1", "z": 0 }] },
        "p2": { "layers": [{ "kind": "image", "id": "ly-2", "assetId": "img-p2", "z": 0 }] }
      },
      "graph": {
        "entry": "p1",
        "edges": [{ "from": "p1", "to": "p2", "transition": { "type": "fade", "durationMs": 300 } }]
      }
    }
  ]
}

Validate it

panelwave validate ./panelwave.json

Add --strict to fail on warnings, or --json for machine-readable output. See CLI reference.

Break it on purpose

Delete the meta.default_locale line and validate again to see how errors are reported. The validation page explains error output and common mistakes.

Explore the format

Read the manifest structure reference, then drill into chapters and pages, the graph, and panels.

Next steps