GraphCompose Documentation

June 10, 2026 Β· View on GitHub

Comprehensive docs for the engine, the templates, and the contribution workflow. Below is the map β€” pick your path.

If you're new to GraphCompose entirely, start at the root README for the project overview, then come back here.


🧭 By persona β€” start here

You are…Read
New to GraphCompose β€” what is it, how do I render my first PDFGetting started β†’ Hello world in root README
Author rendering a CV with your own dataTemplates v2 (layered) β€” quickstart
Designer / author wanting a custom visual style for CVsTemplates v2 (layered) β€” authoring presets
Author using legacy v1.6 templates (CV / cover-letter / invoice / proposal still using *Spec + builders)Templates v1-classic β€” landing
Contributor adding a new template family to the libraryTemplates v2 (layered) β€” contributor guide
Contributor extending the engine (new node type, new backend handler)Extension guide β†’ Implementation guide
Operator running GraphCompose in productionProduction rendering β†’ Performance β†’ Logging

πŸ“ By category

Getting started

  • getting-started.md β€” DSL vs templates, first-render walk-through, decision tree.
  • troubleshooting.md β€” symptom-first fixes for common gotchas: stray ? glyphs, silent DOCX drops, optional-dependency NoClassDefFoundError, running the bundled examples.

Templates

  • templates/v2-layered/ β€” πŸ†• canonical going-forward pattern (CV is the reference implementation): data / theme / components / widgets / presets.
  • templates/v1-classic/ β€” the spec/builder/presets surface used by v1.6 CV, cover-letter, invoice, proposal templates. Still ships, still supported.

Architecture

Operations

Contributing

Roadmaps & migrations

Recipes (cookbook-style howtos)

Architecture Decision Records (ADRs)

Numbered, dated decisions about non-trivial design choices. Read these when you need to understand why a piece of the system looks the way it does.

ADR numbering gap (0005–0010) is intentional β€” those numbers were reserved during a v1.5 restructure that landed under ADR 0011 instead of multiple smaller records. No deleted ADRs.

Showcase website (separate from docs)

  • The public showcase website is not documentation β€” it lives in web/ (static GitHub Pages site) and is documented by its own web/README.md. Kept out of docs/ on purpose so the two don't tangle.

Archive

  • archive/ β€” old migration guides and roadmaps kept for historical reference. Not part of the live doc set.