Python CLI
quartobot resolve — invoked from Quarto’s project.pre-render:
hook — plus scan, validate, init, and mcp. Authors write
@doi:10.1371/journal.pcbi.1007128 in their prose; citations
resolve before pandoc runs.
Manubot has, for eight years, run scholarly manuscripts as a git repository that builds itself on every commit, resolves citations from DOIs and PubMed IDs automatically, hands out an immutable permalink per commit, and collaborates through pull requests. The pattern is published and used in hundreds of preprints.
Quarto now covers more of scholarly publishing than manubot ever did — manuscripts, books, websites, slides, dashboards, courseware — but the manubot pattern does not exist there natively. quartobot closes that gap.
Python CLI
quartobot resolve — invoked from Quarto’s project.pre-render:
hook — plus scan, validate, init, and mcp. Authors write
@doi:10.1371/journal.pcbi.1007128 in their prose; citations
resolve before pandoc runs.
`quartobot init`
Scaffolds the pre-render hook, the version-banner Quarto
includes, and the GitHub Actions render workflow into an existing
Quarto project — manuscript, book, or website. Pairs with
quarto create project <type> for new projects.
MCP server
quartobot mcp exposes citation resolution as MCP tools so an
agent in Claude Desktop, Codex, or Gemini Code Assist can ground
citations against the same resolver the pre-render hook uses.
Opt-in via the [mcp] extra.
Composite Actions
Reusable GitHub Actions + workflow so consumer-side CI is ten lines, with upstream improvements flowing through version pins.
manubot/manubot#332
(“Quarto integration”) was opened by Anthony Gitter in April 2022 after
a conversation with Sean Davis. Four years later, no PR, no assignee —
but pandoc-manubot-cite shipped inside the manubot package and Quarto
Manuscripts shipped as a first-party project type. The integration is
small once you stop trying to rebuild the resolver. This site documents
the work to resolve that issue.
seandavi/2026-venice-spatial-hackathon-manuscript
runs the CI / permalink / banner half of the pattern on a live 25-author
preprint from the Bioconductor Spatial Hackathon. The CI machinery
quartobot init scaffolds is being lifted from there.
New here?
First manuscript in 15 min walks the canonical path end-to-end: install, scaffold, write, render, push, deploy. Getting started is the same flow distilled into three install paths if you prefer to skim.
Coming from manubot?
Differences from manubot explains what carries over and what changes; Migrating from manubot is the step-by-step translation.
Design rationale
Design collects the architecture decisions and the prior art — why pre-render hook, why CSL JSON, why the sticky PR comment.
Contribute
See CONTRIBUTING.md and the open issues.
quartobot is an independent community project. It builds on Quarto but is not affiliated with or endorsed by Posit, PBC, the makers of Quarto.