Skip to content
Docxcelerate

Documents as components.
DOCX as output.

Compose documents from typed, reusable nodes. Preview them in the browser, pack a real .docx locally, and hand the rest to the engine when you need one.

$ npx docxcelerate init my-letters

v0.1.3

my-letters/ 3 letters · 31 files
import { Document, Section, template } from "docxcelerate/template";
import {
  Conditions,
  Fees,
  Greeting,
  NextSteps,
  Offer,
  SignOff,
  TutorNote,
} from "./nodes/index.ts";
import type { OfferData } from "./types.ts";

export const letterTemplate = template<OfferData>(
  <Document id="offer-of-admission" title="Offer of Admission">
    <Section id="your-offer" title="Your offer">
      <Greeting />
      <Offer />
      <TutorNote />
    </Section>
    <Section id="conditions" title="Conditions">
      <Conditions />
    </Section>
    <Section id="fees-and-funding" title="Fees and funding">
      <Fees />
    </Section>
    <Section id="next-steps" title="Next steps">
      <NextSteps />
      <SignOff />
    </Section>
  </Document>,
);
Offer of Admission · A4 100%

Not screenshots. Every page is rendered at build time by the same renderer the CLI ships, from the files beside it.

Authoring

Write documents like websites

A document is a tree of typed components. If you have written React you already know the shape of this — props, composition, small files — so a frontend engineer is productive on the first afternoon rather than learning a template language first.

AI

Designed for AI

Generated prose is a node type, not a bolt-on. Mark the one paragraph that genuinely needs a model, give it prompts and a placeholder, and leave the rest deterministic — so AI solves the hard part without putting the whole document at its mercy.

Change control

Documents live in your repo

Because a document is source, changing a sentence is a pull request — diffed, reviewed, and still attributable a year later when someone asks who altered the arrears wording. Tests assert a document renders what you expect, so CI catches the mistake before a recipient does.

Docxcelerate treats a document the way a UI framework treats a screen: small components, composed into a tree, rendered by something that knows about paper. You get the ergonomics of a component model, and the recipient gets a Word document.

The engine

The engine is where documents are actually written. It fills in your data, runs the AI, and returns the finished document. Any kind of node can use AI, not only paragraphs. The model's answer either becomes the text, written from the information you give it, or makes a decision the document depends on.

You publish a template to the engine once. After that, any system can call its API with a set of data and get a document back. A free engine is available to self-host. The managed cloud runs the complete one, with a lot the free version does not have, and is coming soon.

  1. 01 Build The framework turns your document into a package. This step runs on your machine.
  2. 02 Publish You send the package to an engine. The engine stores it and gives it a name.
  3. 03 Write Your application sends a set of data. The engine returns the finished document.