Developer docs
Start with a JSON deck, validate it against the schema, then layer catalogs and rendering behavior on top.
Open tools for agents and developers
Use the same JSON documents with any agent, a local CLI, browser previews, and the visual editor. No required AI provider, account, or paid service.
Agent quickstart·CLI·Portable skills·Live editor·CSV and JSON data·Dynamic layouts
The newest editor, composition and CLI APIs currently require coordinated source builds. Follow the repository handoff guide; older npm versions do not include every API documented here.
Quickstart
1. Install the package
Install @openpresentation/opf, the canonical TypeScript types, schemas, and validation helpers, from npm.
pnpm add @openpresentation/opf2. Author or receive an OPF deck
Keep deck source as *.opf.json so editors, validators, agents, and git all see JSON.
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.
No install needed to experiment: paste any deck into the in-browser playground and get the same errors and warnings validatePresentation returns in your pipeline.
For ColorRef, variables, and opf bundle, start with the OPF format card and validation notes. The site schema snapshot may lead the pinned npm validator until the next @openpresentation/opf registry release.
Format reference
The canonical reference docs from the OPF repository, rendered here in reading order. Each page links back to its Markdown source and can be copied whole for LLM context.
Core schemas
Schema reference pages render from spec/schemas/*.schema.json.
Package status: @openpresentation/opf on npm ↗