# Word editor — a Theseus community extension Opens, edits and saves Word documents (`.docx`) in a full Theseus tab. This is **not** a bundled add-on. It isn't in `bundled-addons/`, it isn't in the installer's `extraResources`, and a fresh Theseus profile doesn't have it. Users get it the same way they'd get anyone else's extension: from **Settings › Extensions › Community**, which lists whatever is in the catalogue at theseus.x/extensions. Living outside the browser build is the point. A .docx editor is a big dependency — a megabyte of vendored library — and nobody should carry it because they wanted a browser. ## Building The vendored libraries (mammoth, ProseMirror, docx, JSZip) are bundled by a build step that lives outside this folder, because mammoth needs local patches before it can carry everything the editor edits: cd ../../addon-build/docx-editor npm install npm run build # writes vendor/docx-vendor.js here npm run pack # writes out/docx-editor-.tar.gz `vendor/docx-vendor.js` is committed, so the extension is installable straight from a checkout; re-run `npm run build` after touching anything under `addon-build/`. ## Publishing `npm run pack` produces the tarball and its sha256. Uploading it is a separate step, and this repo can't do it: a community extension is signed by the **owner of a BNS name**, using that name's wallet. The straightforward route is the publish page at **theseus.x/extensions/publish** — it unlocks a wallet in the browser, checks that the name is yours, then signs and `PUT`s the tarball to `/api/ext//docx-editor/`. The gateway verifies both signatures against the name's current owner, stores the tarball on Sia and updates `catalog.json`, which is what Settings and the site both read. Version numbers must increase, and the id `docx-editor` belongs to whichever name publishes it first. ## Testing Three levels, all re-runnable, all from `../../addon-build/docx-editor`: node test/roundtrip.mjs # the built-in fixture node test/corpus.mjs # real documents node ../../../scratchpad/verify-docx-editor/drive.mjs # a real Theseus, over CDP The last one installs this folder into a throwaway profile the way the community channel would, and is the only one that catches browser-only breakage. What survives a round trip, and what doesn't, is written up in [ROUND-TRIP.md](ROUND-TRIP.md). Read that before promising anyone a Word feature.