Skip to content
Site volume
Colourway

Brand

Templates

Quotes, proposals, invoices, letters, the email signature, social posts and the slide deck: each made from JSON by one command.

  • Stable
On this page

Applies to

  • Print
  • Documents
  • Email
  • Social
  • Slides

Book version

1.0.0, the system's version; every change is a changeset on the changelog

Last verified

24 October 2026, commit 726d192, 83 looks (press check)

Everything the studio sends is made from a template: a JSON file in, a finished file out, with the type, the layout, the arithmetic and the volume already decided. Nobody copies a colour, types a total or picks a font. Real client and payment details live in Max's studio profile, outside this repo; every sample here is fictional.

Every template: how to make one, at what volume, and its sample files
TemplateFormatInput and commandVolumeFiles
QuotePDF, Letter or A4QuoteInputoverprint-gen doc quote --in quote.json --out outQuietDocument body pages (quote, proposal body, invoice, letter)fernlight-quote.pdf
ProposalPDF, Letter or A4, a cover at PressProposalInputoverprint-gen doc proposal --in proposal.json --out outPressProposal coverpebblepath-proposal.pdf
InvoicePDF, Letter or A4InvoiceInputoverprint-gen doc invoice --in invoice.json --out outQuietDocument body pages (quote, proposal body, invoice, letter)fernlight-invoice.pdf
LetterPDF on the letterhead, Letter or A4LetterInputoverprint-gen doc letter --in letter.json --out outQuietDocument body pages (quote, proposal body, invoice, letter)letter-sample.pdf
Brand spec sheetPDF, two pages, Letter and A4SpecSheetInputoverprint-gen doc spec-sheet --sheet letter --out outQuietDocument body pages (quote, proposal body, invoice, letter)makr-labs-brand-spec-sheet-letter.pdfmakr-labs-brand-spec-sheet-a4.pdf
Email signatureHTML with inline styles, and plain textSignatureInputoverprint-gen signature --in me.json --out outQuietEmail signatureemail-signature.htmlemail-signature.txt
Announce postPNG: og, square, portrait, storyAnnounceCardInputoverprint-gen cards --in cards.json --out outPressSocial announcemakr-labs-social-samples.zip
Quote postPNG: square, portrait, storyQuoteCardInputoverprint-gen cards --in cards.json --out outStudioSocial quotemakr-labs-social-samples.zip
Stat postPNG: og, square, portrait, storyStatCardInputoverprint-gen cards --in cards.json --out outPressSocial statmakr-labs-social-samples.zip
CarouselPNG per slide, and one PDFCarouselInputoverprint-gen carousel --in carousel.json --out outStudioCarousel slidesmakr-labs-social-samples.zip
Slide deckOne HTML file, and a PDFDeckInputoverprint-gen deck --in deck.json --out out --html --pdfPressSlides: title and sectiondeck-pebblepath.pdfdeck-pebblepath.html
Business cardPrint-ready CMYK PDF, 3.5 × 2 in and 85 × 55 mmPressCardInputoverprint-gen press business-card --format card-na --in me.json --out outStudioBusiness card frontmakr-labs-business-card-na.pdfmakr-labs-business-card-iso.pdf

The four families#

  • Documents: the quote, the proposal, the invoice and the letter.
  • Email signature: one table of inline-styled HTML and a plain-text twin.
  • Social: announce, quote and stat posts, and the carousel.
  • Slide deck: one HTML file to present from, and a PDF to send.

Every template rule#

The rules every template keeps: 7 rules: 6 must, 1 never
IdRuleWhyChecked by
BB-DOC-01MustMake quotes, proposals, invoices and letters only with the templates, from JSON.Applies to: DocumentsThe templates carry the type, the layout and the arithmetic; a document made by hand drifts from all three.Manual review
BB-DOC-02MustLet totals come from the template's arithmetic, never typed.Applies to: Documents, SlidesInteger cents rounded half up at every step (computeTotals) give the same total every time; a typed total is one typo from a wrong invoice.TestcomputeTotals
BB-EMAIL-01MustUse the generated signature, with no other images, banners, quotes or social icons.Applies to: EmailEvery extra image is a remote load, a spam signal and one more thing a client's email app can break.Manual review
BB-SOCIAL-01MustMake posts with the card templates: text on the paper plate, 26 px or more at 1080 wide.Applies to: SocialFeeds show posts small. The templates keep the words on paper and big enough to read on a phone.TestG2's card tests
BB-SLIDES-01MustMake decks from the deck template, with 40 words or fewer on a content slide and body type of 32 px or more on the 1920 × 1080 canvas.Applies to: SlidesThe room reads a slide in seconds. The template's grid and type roles are sized for the back row.Testthe deck schema and tests
BB-VOLUME-02MustPrint prices, legal lines, forms and document body pages at Quiet.Applies to: Site, MAX//OS, Documents, SlidesWhere the reader decides or signs, nothing should compete with the words.Testthe documents' DOM check
BB-COMIC-14NeverPut comic panels, balloons or SFX on a document page with prices, terms or payment details.Applies to: Documents, SlidesA price is a promise. Comic art beside it makes the promise look like a joke.Testthe documents' DOM check