Skip to main content

docforge-live

DocForge's Word template engine, and the command line that the DocForge.live plugin for Claude runs.

It turns finished .docx files into reusable templates, fills them in the original layout (fonts, tables, headers and numbering stay as they were), and checks returned documents against their template. The plugin tells Claude when and how to use it; this package does the deterministic work, on your computer or in Claude's code sandbox.

The package makes no network calls and has no telemetry. It reads and writes only the files you give it.

Install

pip install docforge-live

Python 3.10 or newer. PDF export also needs LibreOffice (soffice).

Use

docforge-live --help

python3 -m docforge.toolkit does the same, and works even when pip's script folder isn't on your PATH. Every command prints one JSON object; errors come back as {"ok": false, "error", "hint"}.

To try it on sample documents:

docforge-live demo --out demo
docforge-live analyze demo/invoice_1.docx demo/invoice_2.docx --work work --mode smart
docforge-live build --work work --name Invoice --out templates/invoice
docforge-live check templates/invoice demo/invoice_edited.docx

The plugin's skill references describe each workflow and the files Claude writes along the way (decisions.json, values files, verdicts).

What's in this repository

  • src/docforge/: DocForge's document engine, copied from r9s9/docforge. tools/UPSTREAM.md records the commit. Never edit these files by hand: change them upstream and sync.
  • src/docforge/toolkit/: this package's own code, the command line and the workflows on top of the engine.
  • tools/sync_upstream.py: copies the engine from a local copy of r9s9/docforge, and --verify checks it still matches the lock.
  • tools/run_upstream_tests.py: runs DocForge's own engine tests against this copy.
  • tests/: the package's tests.

Development

.github/workflows/ci.yml lists the checks: lint with ruff, the upstream lock check, the tests on Python 3.10 and 3.13, a build that is installed and run in a clean environment, and upstream's engine tests. Install the package in a virtual environment with pytest and ruff, then run the same commands.

After syncing the engine, set ref: in the upstream-parity job of ci.yml to the new commit in tools/upstream.lock.json; a test fails until the two match.

Releasing

  1. Raise version in pyproject.toml, push to main, and wait for CI to pass.
  2. On GitHub, publish a release tagged v plus that version, for example v1.0.1. The publish workflow builds the package, checks that the tag matches the version, and waits for approval in the pypi environment.
  3. Approve it. PyPI never accepts the same version twice, so a fix always gets a new version.
  4. In the plugin, raise the pinned version in skills/docforge/SKILL.md, then release the plugin.

License

MIT, © The DocForge Authors, the same as DocForge itself. The dependencies install from PyPI under their own licenses: python-docx (MIT), docxtpl (LGPL-2.1), lxml (BSD), Jinja2 (BSD), pydantic (MIT) and python-dateutil (Apache-2.0 or BSD).

Metadata

Release files for docforge-live 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docforge-live 1.0.0
File Size Uploaded Provenance Actions
docforge_live-1.0.0.tar.gz 136.6 kB With provenance Details for docforge_live-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for docforge-live 1.0.0
File Interpreter ABI Platform Actions
docforge_live-1.0.0-py3-none-any.whl Python 3 none any Details for docforge_live-1.0.0-py3-none-any.whl

Total release size: 286.1 kB

Release files / docforge_live-1.0.0.tar.gz

Download URL docforge_live-1.0.0.tar.gz
Size 136.6 kB
Tags Source
SHA-256 checksum
How to use checksums
103562ca71ab4a69b49bf50dc1a81c25bb94761bb1451fb632014d08b4b5bdaa
BLAKE2b-256 checksum
How to use checksums
6385bdb3dd7494993b5efd3f36fffde62efb640a674aedf185f0690b0f3a1b0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Release files / docforge_live-1.0.0-py3-none-any.whl

Download URL docforge_live-1.0.0-py3-none-any.whl
Size 149.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b568eb0eff3504cefd5a46fd675c69efe0d47f1dba7e83256d1b01d06af65297
BLAKE2b-256 checksum
How to use checksums
342e92963d070ac95d33be686001edbe74eba866ed0af49abb33bb8443150f78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Security for docforge-live 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for docforge_live-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page