v0.1.0 — first public release
First public release of DocxEngine — surgical, fidelity-preserving DOCX editing for AI agents.
One deterministic OOXML core (unzip → patch XML → rezip, no LLM inside), exposed through three thin faces: an MCP server, a Python package (docxengine), and a JS/TS package (@docxengine/core). Agents see a token-efficient, Markdown-like projection with content-hash-anchored paragraph IDs — never raw XML.
Highlights
- All 24 tools live in both engines: read/search/edit/redlines, tables, styles, lists, sections, threaded comments, media, fields/TOC, mustache templates, Markdown↔docx conversion, and a pluggable render adapter.
- File-first MCP server — every tool takes a file
path; each call opens, runs, validates, and atomically saves back. Nodoc_idto track, no separate save step.DOCXENGINE_ROOTsandboxes paths. stdio + Streamable HTTP transports. - Full-coverage native
DocumentAPI in both languages — one typed method per tool,create/fill_template/attachconstructors,to_bytes(), anchor-scopedParagraphprimitives, and a storage-agnosticexport_bytes/exportByteshelper for browser/serverless hosts. - Real redlines — first-class tracked-change writing plus accept/reject filtered by author or date.
- Always-on validation gate — ID uniqueness, orphaned relationships, dangling footnotes, and content-type errors caught before save, with auto-repair where safe.
- One conformance-tested contract — 455 Python tests, 342 TS tests, 31/31 cross-implementation parity cases, and a 10-task agent benchmark passing end-to-end over MCP with zero tool errors and zero Word-repair events.
Install
Not yet on PyPI/npm — install from source:
```bash
git clone https://github.com/ruwadgroup/docxengine.git && cd docxengine
pip install -e python # Python + the docxengine-mcp entry point
pnpm install && pnpm --dir js build # JS/TS
```
See the Quickstart and full CHANGELOG.