No description
Find a file
Caio Pizzol 6e603cded9
ci: give every validate job a unique check context (#2937)
The require-ci ruleset requires one check context named "validate"
but 13 workflows all emit a job named validate. That makes the
required-check match ambiguous: any one of the 13 checks can satisfy
the rule, so PRs can merge while most workflows are still failing
or not even running.

Add a unique workflow-prefixed name: to every validate job so each
one becomes its own required context. Harden the five aggregate
validators to fail on any non-success result (cancelled and skipped
included, not just failure). Add merge_group to visual-test.yml so
its validate context can be required safely.

Companion ruleset update lives in the PR description.
2026-04-24 15:09:13 -03:00
.github ci: give every validate job a unique check context (#2937) 2026-04-24 15:09:13 -03:00
.vscode refactor: force formatting and linting 2025-07-09 18:25:44 -03:00
apps fix(extract): return tables as paragraph-granular blocks (SD-2672) (#2925) 2026-04-23 14:28:16 -03:00
brand/assets/logos docs: consolidate brand identity into single brand.md 2026-03-21 19:02:04 -03:00
demos feat(superdoc): ship IIFE CDN bundle with working vanilla example (#2835) 2026-04-16 23:19:53 +00:00
devtools fix: footnotes rendering causing lines to shift, other footnote rendering issues (#2625) 2026-03-28 14:08:20 -07:00
evals feat: refactor MCP, fix Codex errors, reorganize AI agents documentation (#2711) 2026-04-14 05:08:47 +00:00
examples feat(superdoc): ship IIFE CDN bundle with working vanilla example (#2835) 2026-04-16 23:19:53 +00:00
packages SD-2570 - fix: document API tracked changes not fully rendered on document (#2825) 2026-04-24 11:35:43 -03:00
patches fix: patch openapi-types for Mintlify ESM compatibility 2026-03-23 15:35:02 -03:00
scripts feat: tracked changes in headers and footers (#2922) 2026-04-23 08:33:34 -07:00
shared fix: serif fallback for serif-like fonts (#2870) 2026-04-21 10:04:22 -07:00
tests fix: header/footer undo history across story sessions (#2935) 2026-04-23 23:16:30 -07:00
.ackrc Image anchor wrapping options [SD-173] (#1028) 2025-10-14 09:55:53 -07:00
.dockerignore chore: update screenshot, dockerignore 2026-01-08 17:44:00 -08:00
.gitignore chore: add .prqrc.json to gitignore 2026-04-08 21:51:01 -07:00
.gitleaks.toml feat: add pre-commit + gitleaks 2025-01-14 17:25:56 -03:00
.nvmrc [SD-609] Switch to pnpm and various other build improvements (#1496) 2025-12-29 19:29:45 -08:00
.prettierignore fix: prep for multi editor versions - no logical changes. structure only (#2591) 2026-03-27 12:33:36 -07:00
.prettierrc Fix prettier styles 2024-12-19 20:53:11 -08:00
AGENTS.md feat: refactor MCP, fix Codex errors, reorganize AI agents documentation (#2711) 2026-04-14 05:08:47 +00:00
brand.md docs: consolidate brand identity into single brand.md 2026-03-21 19:02:04 -03:00
cicd.md chore: update stable release gha 2026-04-24 09:04:52 -07:00
CLAUDE.md docs: rewrite AGENTS.md for consumers, reverse symlink direction (SD-2320) (#2532) 2026-03-23 21:21:22 +00:00
CODE_OF_CONDUCT.md docs: update repository links to reflect new ownership and improve documentation references (#1723) 2026-01-12 18:07:18 -08:00
codecov.yml test(superdoc): tighten assertions + adjust codecov policy (#2841) 2026-04-16 06:51:23 +00:00
commitlint.config.js fix: remove footer line length breaking deployments 2025-09-02 14:59:43 -07:00
context7.json chore: add context7 2026-02-06 10:11:32 -03:00
CONTRIBUTING.md fix: prep for multi editor versions - no logical changes. structure only (#2591) 2026-03-27 12:33:36 -07:00
eslint.config.docs.mjs fix: prep for multi editor versions - no logical changes. structure only (#2591) 2026-03-27 12:33:36 -07:00
eslint.config.mjs fix: prep for multi editor versions - no logical changes. structure only (#2591) 2026-03-27 12:33:36 -07:00
lefthook.yml feat(superdoc): support fixed-height container embedding with contained mode (SD-2242) (#2423) 2026-03-30 21:25:48 -03:00
LICENSE Create LICENSE 2024-06-22 14:51:49 -07:00
package.json chore(deps): update vue monorepo to v3.5.32 (#2865) 2026-04-20 19:54:30 +00:00
pnpm-lock.yaml SD-2570 - fix: document API tracked changes not fully rendered on document (#2825) 2026-04-24 11:35:43 -03:00
pnpm-workspace.yaml chore(deps): update vue monorepo to v3.5.32 (#2865) 2026-04-20 19:54:30 +00:00
README.md docs: add kendaller to community contributors (#2916) 2026-04-22 18:58:22 -03:00
renovate.json5 chore: use version tags instead of pinned hashes for GitHub Actions 2026-03-23 11:54:00 -03:00
SECURITY.md docs: update repository links to reflect new ownership and improve documentation references (#1723) 2026-01-12 18:07:18 -08:00
TESTING.md chore: add root corpus:upload command and document it in TESTING.md 2026-03-09 10:02:43 -03:00
THIRD_PARTY_LICENSES.md fix: prep for multi editor versions - no logical changes. structure only (#2591) 2026-03-27 12:33:36 -07:00
tsconfig.base.json chore: type fixes and organization (#1693) 2026-01-08 16:47:19 -08:00
tsconfig.references.json fix: layout-engine painter clean up (#2624) 2026-03-28 13:57:53 -07:00
vite.sourceResolve.ts fix: prep for multi editor versions - no logical changes. structure only (#2591) 2026-03-27 12:33:36 -07:00
vitest.baseConfig.ts [SD-609] Switch to pnpm and various other build improvements (#1496) 2025-12-29 19:29:45 -08:00
vitest.config.mjs feat(vscode-ext): add test suite and clean up extension (SD-2341) (#2553) 2026-03-25 08:28:33 -03:00

SuperDoc logo
SuperDoc

The document engine for DOCX files.
Renders, edits, and automates .docx files in the browser, headless on the server, and within AI agent workflows.
Self-hosted. Open source. Works with React, Vue, and vanilla JS.

Quick start

npm install superdoc

React

npm install @superdoc-dev/react
import { SuperDocEditor } from '@superdoc-dev/react';
import '@superdoc-dev/react/style.css';

function App() {
  return (
    <SuperDocEditor
      document={file}
      documentMode="editing"
      onReady={() => console.log('Ready!')}
    />
  );
}

See the @superdoc-dev/react README for full React documentation.

Vanilla JavaScript

import 'superdoc/style.css';
import { SuperDoc } from 'superdoc';

const superdoc = new SuperDoc({
  selector: '#superdoc',
  toolbar: '#superdoc-toolbar',
  document: '/sample.docx',
  documentMode: 'editing',
});

Or use the CDN:

<link rel="stylesheet" href="https://unpkg.com/superdoc/dist/style.css" />
<script type="module" src="https://unpkg.com/superdoc/dist/superdoc.umd.js"></script>

For all available options and events, see the documentation or SuperDoc.js.

Using an AI coding agent?

Set up your project for AI agents and configure the MCP server:

npx @superdoc-dev/create              # generates AGENTS.md for your framework
claude mcp add superdoc -- npx @superdoc-dev/mcp   # connect agent to DOCX files

Features

  • Real DOCX, not rich text — Built on OOXML. Real pagination, section breaks, headers/footers. Not a contenteditable wrapper with export bolted on.
  • Self-hosted — Runs entirely in the browser. Your documents never leave your servers.
  • Any framework — React, Vue, Angular, Svelte, vanilla JS. One component, zero lock-in.
  • Real-time collaboration — Yjs-based CRDT. Multiplayer editing with comments, tracked changes, and automatic conflict resolution.
  • Agentic tooling — Runs headless in Node.js. Bring your own LLM for document automation, redlining, and template workflows.
  • Dual licensed — AGPLv3 for community use. Commercial license for proprietary deployments.

Examples

Starter projects to get you running quickly:

Example
React Vue
Angular Next.js
Vanilla JS CDN
Comments Track changes
Custom toolbar AI redlining
Headless AI redlining

Browse all examples

Documentation

docs.superdoc.dev — installation, integration guides, collaboration setup, API reference, and more.

Roadmap

See the SuperDoc roadmap for what's coming next. DOCX import/export fidelity is always a top priority.

Contributing

Check the issue tracker for open issues, or read the Contributing Guide to get started. Bug reports with reproduction .docx files are especially valuable.

Community

  • Discord — Chat with the team and other contributors
  • Email — Reach the team directly

License

Acknowledgments

Built on ProseMirror, Yjs, JSZip, and Vite.

Community Contributors

Special thanks to these community members who have contributed code to SuperDoc:

financialvice luciorubeens Dannyhvv henriquedevelops ybrodsky icaroharry asumaran J-Michalek gm1357 roncallyt gpardhivvarma lucbic claudiu-ior Branc0 Muhammad-Nur-Alamsyah-Anwar andrewsrigom iguit0 PeterHollens baristaGeek Anuj52 Abdeltoto JoaaoVerona michaelreavant ArturQuirino kiluazen kendaller

Want to see your avatar here? Check the Contributing Guide to get started.


Created and maintained by Harbour and the SuperDoc community