SlideForge

Getting Started

SlideForge

Generate consistent, editable PowerPoint presentations from validated JSON, React components, and HTML/CSS.

About this project

SlideForge is an open-source GordonKit project. It renders structured slide content with a shared design system, previews it in the browser, and exports editable PowerPoint text and shapes through dom-to-pptx instead of a new conversion engine.

Ways to use it

Every interface runs the same pipeline: the strict schema, shared layouts and tokens, Chromium rendering, layout checks, and structural PPTX validation.

CLI

Create, build, preview, export, and validate decks from the terminal or a CI job.

node dist/cli/index.js export deck.json -o deck.pptx

Node.js API

Call typed functions to parse content, render HTML, start a preview, export PPTX, and read validation reports.

await exportPresentation(file, { output })

AI authoring

Agents write schema-valid JSON with approved layouts instead of arbitrary positioning, then run the same checks.

AGENTS.md · docs/ai-workflow.md

Pipeline

Content is validated before it is rendered, and the exported package is checked before it is written. The converter runs inside Chromium, not in a simulated DOM.

JSON → strict Zod schema → typed presentation
     → React static markup + shared CSS/tokens → HTML
     → Playwright Chromium → layout validation
     → bundled dom-to-pptx → PPTX bytes
     → text box fitting, East Asian font, core metadata
     → structural validation → output file

Phase 1 scope

Phase 1 is a minimal, local-first framework for Node.js 24 or newer. It includes:

  • Six fixed 16:9 layouts with light and dark themes
  • HTML rendering and a loopback Vite preview
  • Browser-driven export to editable PowerPoint text and shapes
  • Layout checks, offline PPTX structure checks, and optional visual comparison