Skip to content

quartobot

The manubot manuscript-as-software pattern, on Quarto.

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.

CLI reference →

`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.

CLI reference →

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.

MCP server →

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.

Design rationale

Design collects the architecture decisions and the prior art — why pre-render hook, why CSL JSON, why the sticky PR comment.


quartobot is an independent community project. It builds on Quarto but is not affiliated with or endorsed by Posit, PBC, the makers of Quarto.