{}OPF

Developer docs

Start with a JSON deck, validate it against the schema, then layer catalogs and rendering behavior on top.

Quickstart

1. Install the package

Install @openpresentation/opf — the canonical TypeScript types, schemas, and validation helpers — from npm.

shell
pnpm add @openpresentation/opf

2. Author or receive an OPF deck

Keep deck source as *.opf.json so editors, validators, agents, and git all see JSON.

validate.ts
import { validatePresentation } from "@openpresentation/opf"

const deck = {
  name: "Launch narrative",
  slides: [{ title: "The opportunity", items: ["Plain JSON", "Schema-backed", "Diffable"] }]
}

const result = validatePresentation(deck)

3. Validate before rendering

Validate against the schema first. Rendering tools should reject invalid documents before attempting any OOXML or canvas output.

Authoring guides

Short guides for common OPF authoring patterns, AI-generated decks, and renderer-friendly shorthand.

Source docs

These documents are pulled from the upstream OPF repository and linked directly to their source files.

Core schemas

Schema reference pages render from spec/schemas/*.schema.json.

Package status: @openpresentation/opf on npm ↗