Parse, render, and edit Office documents (PPTX, DOCX, XLSX) in pure TypeScript. No native dependencies, no server required.
- Parsers — PPTX, DOCX, XLSX (ECMA-376) and legacy PPT, DOC, XLS, plus Figma
.figand PDF - Renderers — SVG, WebGL, React components, ASCII terminal preview
- Builders — programmatic document creation from JSON spec
- Converters — DOC→DOCX, PPT→PPTX, XLS→XLSX, PDF→PPTX
- CLI — 45 commands for inspecting, building, and comparing files
- MCP Server — 20 tools for AI-assisted presentation editing
- VS Code Extension — view PPTX/PPT, DOCX/DOC, XLSX/XLS directly in the editor
- Browser demo — viewer, editor, and slideshow, all client-side
bun install
bun run dev:pages # start demo appbun run test # run tests
bun run lint # lint
bun run typecheck # type checknpx aurochs pptx <command> [options] <file>
npx aurochs docx <command> [options] <file>
npx aurochs xlsx <command> [options] <file>| Category | Commands |
|---|---|
| Inspect | info, list, show, theme, inventory |
| Extract | extract, tables, images |
| Preview | preview |
| Build | build, patch, verify |
| Compare | diff |
| Category | Commands |
|---|---|
| Inspect | info, list, show, styles, numbering, headers-footers, toc |
| Extract | extract, tables, images, comments |
| Preview | preview |
| Build | build, patch, verify |
| Category | Commands |
|---|---|
| Inspect | info, list, show, styles, names, tables |
| Extract | extract, formulas, strings, comments, hyperlinks |
| Data | autofilter, validation, conditional |
| Preview | preview |
| Build | build, verify |
All commands support -o json|pretty output format (default: pretty).
View Office documents directly in VS Code with zero configuration.
Install from Marketplace:
ext install trkbt10.aurochs-office-viewer
Supported formats: PPTX, PPT, DOCX, DOC, XLSX, XLS — files open automatically in the custom viewer.
Model Context Protocol server for AI-assisted presentation editing. Works with Claude Desktop, Cline, and other MCP clients.
# stdio transport (default)
bun packages/@aurochs-mcp/pptx-mcp/src/index.ts
# HTTP transport
bun packages/@aurochs-mcp/pptx-mcp/src/index.ts --transport http --port 300020 tools available:
| Category | Tools |
|---|---|
| Presentation | pptx_create_presentation, pptx_get_info, pptx_build |
| Slides | pptx_add_slide, pptx_remove_slide, pptx_duplicate_slide, pptx_reorder_slide, pptx_modify_slide |
| Shapes | pptx_add_shape, pptx_add_text_box, pptx_add_image, pptx_add_connector, pptx_add_group |
| Tables | pptx_add_table, pptx_update_table |
| Effects | pptx_set_transition, pptx_add_animations |
| Notes | pptx_set_speaker_notes, pptx_add_comments |
| Rendering | pptx_render_slide |
Each tool operates on an in-memory session and returns SVG previews after every operation.
Convert legacy and cross-format documents. All converters run entirely in-memory.
| Converter | From | To |
|---|---|---|
@aurochs-converters/doc-to-docx |
DOC (Word 97-2003) | DOCX |
@aurochs-converters/ppt-to-pptx |
PPT (PowerPoint 97-2003) | PPTX |
@aurochs-converters/xls-to-xlsx |
XLS (BIFF8) | XLSX |
@aurochs-converters/pdf-to-pptx |
PPTX |
Create documents programmatically from JSON specifications.
| Package | Description |
|---|---|
@aurochs-builder/pptx |
Slides, shapes, images, tables, connectors, groups |
@aurochs-builder/docx |
Paragraphs, tables, styles, numbering, headers/footers |
@aurochs-builder/xlsx |
Worksheets, cells, formulas, styles, shared strings |
@aurochs-builder/chart |
Bar, line, pie, scatter, area charts with embedded data |
@aurochs-builder/diagram |
SmartArt / diagram layouts |
@aurochs-builder/mermaid |
Office chart / diagram → Mermaid syntax serializer |
Multiple output targets for each format.
| Package | SVG | React | ASCII | Mermaid |
|---|---|---|---|---|
@aurochs-renderer/pptx |
yes | yes | yes | — |
@aurochs-renderer/docx |
— | — | yes | — |
@aurochs-renderer/xlsx |
— | — | yes | — |
@aurochs-renderer/chart |
yes | — | yes | yes |
@aurochs-renderer/diagram |
— | yes | yes | yes |
@aurochs-renderer/figma |
yes | — | — | — |
Parses Figma binary files and renders to SVG or WebGL.
- SVG — all node types, fills, effects, text, symbol/instance resolution
- WebGL — GPU-accelerated rendering with stencil-based path fill, Gaussian blur, inner/drop shadows
Low-level format parsers. Each returns a typed domain model.
| Package | Format |
|---|---|
@aurochs-office/pptx |
ECMA-376 PresentationML |
@aurochs-office/docx |
ECMA-376 WordprocessingML |
@aurochs-office/xlsx |
ECMA-376 SpreadsheetML |
@aurochs-office/ppt |
PowerPoint 97-2003 binary |
@aurochs-office/doc |
Word 97-2003 binary |
@aurochs-office/xls |
Excel BIFF8 binary |
@aurochs-office/chart |
Office chart XML |
@aurochs-office/diagram |
Office diagram / SmartArt XML |
@aurochs-office/drawing-ml |
DrawingML (shapes, effects, 3D) |
@aurochs-office/cfb |
Compound File Binary (OLE) |
@aurochs/fig |
Figma .fig (Kiwi binary) |
@aurochs/pdf |
PDF (structure, fonts, images, paths) |
A Claude Code skill that teaches Claude how to inspect, build, and verify Office documents via the aurochs CLI.
/plugin marketplace add trkbt10/aurochs
/plugin install aurochs-office
Once installed, ask Claude naturally — e.g. "Show me what's in presentation.pptx" or "Build a PPTX from this spec" — and it will pick the right commands.
See skills/aurochs-office/SKILL.md for full command reference.
packages/
@aurochs/ # Core utilities (zip, xml, color, buffer, fig, pdf, ...)
@aurochs-office/ # Format parsers (pptx, docx, xlsx, ppt, doc, xls, ...)
@aurochs-builder/ # Document builders (pptx, docx, xlsx, chart, diagram, mermaid)
@aurochs-renderer/ # Renderers (pptx, docx, xlsx, chart, diagram, figma)
@aurochs-converters/ # Format converters (doc→docx, ppt→pptx, xls→xlsx, pdf→pptx)
@aurochs-cli/ # CLI packages (cli, pptx-cli, docx-cli, xlsx-cli, cli-core)
@aurochs-ui/ # React editor components (pptx, docx, xlsx, chart, diagram, ...)
@aurochs-mcp/ # MCP server (pptx-mcp)
@aurochs-build/ # Build tooling (vscode-office-viewer)
extensions/
aurochs-office-viewer/ # VS Code extension