storytold/deckcraft
Presentations and slide shows: an open-source, clean-room reimplementation of Microsoft PowerPoint in pure Rust. Part of the ArtCraft Crafting Apps.
DeckCraft – Open‑source presentation suite (Rust)
What it is – DeckCraft is a clean‑room re‑implementation of Microsoft PowerPoint, written from the ground up in Rust. It lets you create, edit and present slide decks with themes, layouts, shapes, images, tables, charts, transitions and animations. The app runs natively on macOS, Windows, Linux, *BSD and also compiles to WebAssembly for use in a browser.
Key capabilities (as of the README)
- Authoring – slide masters, 11 layouts, 8 built‑in themes, sections, notes, comments, custom slide sizes.
- Drawing tools – 150+ preset shapes, connectors, free‑form/curve/scribble, Boolean shape ops, gradients, picture/pattern fills, shadows, glows, soft edges, reflections.
- Text – rich in‑place editing, full font/paragraph styling, bullets/numbering, columns, auto‑fit, vertical text, fields, hyperlinks.
- Media – insert pictures (crop & corrections), tables, charts, SmartArt basics, audio/video (most common codecs).
- Presentation – slide transitions (including PowerPoint’s Morph), entrance/emphasis/exit and motion‑path animations, per‑paragraph builds, presenter view, pen tool, rehearse timings, media playback.
- File exchange – open/save PowerPoint
.pptx, export to PDF (slides, notes, handouts), PNG/JPEG, outline files. Unsaved work is protected by AutoRecover. - Automation – >200 commands exposed via a CLI (
deckcraft-cli), a JSON control channel and an MCP server, enabling scripts or AI agents to drive the UI.
How to try it
# clone and render the sample deck
git clone https://github.com/storytold/deckcraft
cd deckcraft
cargo run --release -p deckcraft-cli -- render --sample --all --scale 1 out/
For a full GUI install, download the appropriate binary from the Downloads section (MSI for Windows, DMG for macOS, AppImage/Flatpak/Deb/RPM for Linux, etc.) or run the WebAssembly build in a modern browser.
Automation & AI integration Every UI action is a stable command ID, so the same verbs can be used by humans, scripts, or AI agents via the MCP server. Example commands:
deckcraft-cli commands format. # list available commands
deckcraft-cli run --sample --cmd 'slide.new={"layout":"titleOnly","title":"Hello"}' --save hello.deckcraft
The MCP server can be started with deckcraft-cli mcp and connected to by a running DeckCraft instance (deckcraft --control 7990).
Roadmap – The project aims for ~79 % feature breadth parity with PowerPoint (93 % of core features) and is about 80 % of the way to an alpha release. Detailed checklists are in ROADMAP.md and docs/parity.md.
Community – DeckCraft is part of the ArtCraft suite of creative Rust tools (PhotoCraft, VectorCraft, FilmCraft, etc.). The community gathers on Discord (link in the README) for support, feedback and contributions.
License – Dual‑licensed MIT or Apache‑2.0, with separate notices for bundled assets.
All information above is taken directly from the repository’s README; no external assumptions have been added.
Related
- Project
- Project
- Project
- Project