A complete small press: everything required to turn a directory of
Markdown chapters into a publishable book. One press all produces a
verified 6 x 9 PDF, EPUB, single-file HTML, per-chapter reader site,
stitched Markdown, plain text, DOCX, a GitHub Pages site with public
downloads, and gated GitHub releases; the print pack adds a
print-profile interior, a cover wrap with computed spine and EAN-13
barcode, and retail channel checklists.
Extracted from the production of Mostly Done. so the next book inherits the pipeline, the design, the editorial enforcement, and the scars.
New here? The quickstart is the canonical first-run path: a copyable walk from a blank machine to a built, verified book. Install with docs/INSTALL.md; understand the machine with the architecture, configure a book with the configuration reference, look up any artifact in the generated reference, trace every guarantee in the generated invariant ledger, see what is coming in the roadmap and what changed in the changelog; contribute with CONTRIBUTING.md.
MIT licensed, code and bundled content alike (the authoring skills, templates, and design files ship under the same terms; see LICENSE). A book you make with the press is yours entirely.
The press is maintained by one person (Clint Ecker, LGTM Systems, LLC); GOVERNANCE.md says plainly how decisions, releases, and conduct are handled, and CONTRIBUTING.md is the one command to verify a change.
pip install -e . # from a clone of this repo
press --version # confirm the install; press --help lists commands
press new my-book # scaffold a new book repository
cd my-book && git init && make allEverything the pipeline knows about a book comes from the book's own
config/ (see CLAUDE.md for the full contract). The scaffolded workflow
calls this repo's reusable build at a pinned tag, which pulls a public,
versioned toolchain image; a book under any account builds with no
package grant and no configured secret. The pipeline pins the image so
every build runs against the exact toolchain bytes the release was proven
on.
- Building:
pdf epub html markdown site txt docx pages source all--press allruns the full gauntlet: editorial checks (including proving the checkers can fail), every format, source archive, Pages assembly, then structural verification of every artifact. - Checking:
check style verify verify-formats verify-pages--checkis the editorial law (source checks, checker self-test, style audit, jargon lint, registrations arithmetic, orphaned plates); the verify targets rebuild before verifying so a stale artifact can never be blessed, andverify-pagescrawls the public site: every local reference must resolve, every declared download must exist and be linked, and the book's sentinels must appear on the public reading surface. - Print pack:
print verify-print coverwrap publish isbn onix pcn lookup-- a twoside interior with mirrored margins and black ink (verified from the rendered pages), a cover wrap whose spine width is computed from the interior and paper stock with a validated EAN-13 barcode,press publish kdp|ingramchannel checklists, andpress isbn assignto mint ISBNs from a registrant prefix you own.press onixgenerates the ONIX 3.0 metadata record distributors ingest;press pcnassembles the Library of Congress PrePub Book Link fields for the LCCN application.press lookup lccn|issnis an opt-in, read-only check that an already-issued LCCN or ISSN resolves to its record at the authority (never an issuance path; ordinary builds stay offline). - Art:
art cover illustrate--press art commissionsubmits the prompts theart-directionworkflow wrote to image models (GPT Image, Gemini) at print-grade sizes, collecting candidates underart/candidates/; an author photograph atart/author-photo.jpgturns the portrait commission into an engraving of the actual author.press covercommissions the book's cover in a chosen style from the ten-style library (or one a book defines), andpress illustratecommissions an in-book plate, map, diagram, or ornament -- optionally redrawn from source material an author supplies with--from.press art accept <file> --as cover|plate:<name>|logomark|portraittakes a chosen image into the book in house format. - Operator:
improve research aesthetic-- the agent workflows as shell commands, driven headlessly through the Claude Code CLI.press improvewritesbuild/editorial-report.mdand touches nothing (--applyis the deliberate hand);press researchbuilds the table of authorities;press aestheticprints the book's effective visual identity, andpress aesthetic "<brief>"draftsconfig/aesthetic.yamlfrom an author's description ("1970s pulp sci-fi paperback"), which every art commission then applies. For the web surfaces the stylesheet itself is the book's to own:assets/web/reader.cssreplaces the house reader sheet entirely, andassets/web/extra.cssappends declarations that win the cascade on both the reader and the landing page. - Instruments:
skills workflows desk-- the packaged authoring skills and agent workflows (with installed paths, paste-ready invocations, and pinned-copy drift detection inside a book), andpress desk, the optional operator desk: a terminal interface over these same targets that reads facts from the registries and runs every action as apresschild (pip install 'press[tui]'). - Utilities:
render wordcount figures clean new add config migrate selftest doctor--press add chapter|appendix <name> [--front]creates a book part, owning the numbering and lettering prefixes that place it in the manuscript merge order (so no author types00-orz-by hand) and refusing to overwrite an existing file;press config get|set|unset|list|validatereads and writes every book configuration field, validating each value before it writes;press figuresprints every figure the author declared as JSON -- its kind, requested style, and theart:description that directs it (never the caption) -- the authoritative readingpress illustrateand the art-direction workflow draw from;press migrate plan|apply|rollback|statusmoves a book to the next press major by repinning it (and nothing else), previews every change before it writes, and rolls back to the exact prior pin;press doctorexamines every external dependency and says what works, what is missing, and what each absence costs;press selftestis the press checking itself: module imports, check-digit arithmetic, and that this README and the CLI usage stay honest about every target.