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.
| Template | Format | Input and command | Volume | Files |
|---|---|---|---|---|
| Quote | PDF, Letter or A4 | QuoteInputoverprint-gen doc quote --in quote.json --out out | QuietDocument body pages (quote, proposal body, invoice, letter) | fernlight-quote.pdf |
| Proposal | PDF, Letter or A4, a cover at Press | ProposalInputoverprint-gen doc proposal --in proposal.json --out out | PressProposal cover | pebblepath-proposal.pdf |
| Invoice | PDF, Letter or A4 | InvoiceInputoverprint-gen doc invoice --in invoice.json --out out | QuietDocument body pages (quote, proposal body, invoice, letter) | fernlight-invoice.pdf |
| Letter | PDF on the letterhead, Letter or A4 | LetterInputoverprint-gen doc letter --in letter.json --out out | QuietDocument body pages (quote, proposal body, invoice, letter) | letter-sample.pdf |
| Brand spec sheet | PDF, two pages, Letter and A4 | SpecSheetInputoverprint-gen doc spec-sheet --sheet letter --out out | QuietDocument body pages (quote, proposal body, invoice, letter) | makr-labs-brand-spec-sheet-letter.pdfmakr-labs-brand-spec-sheet-a4.pdf |
| Email signature | HTML with inline styles, and plain text | SignatureInputoverprint-gen signature --in me.json --out out | QuietEmail signature | email-signature.htmlemail-signature.txt |
| Announce post | PNG: og, square, portrait, story | AnnounceCardInputoverprint-gen cards --in cards.json --out out | PressSocial announce | makr-labs-social-samples.zip |
| Quote post | PNG: square, portrait, story | QuoteCardInputoverprint-gen cards --in cards.json --out out | StudioSocial quote | makr-labs-social-samples.zip |
| Stat post | PNG: og, square, portrait, story | StatCardInputoverprint-gen cards --in cards.json --out out | PressSocial stat | makr-labs-social-samples.zip |
| Carousel | PNG per slide, and one PDF | CarouselInputoverprint-gen carousel --in carousel.json --out out | StudioCarousel slides | makr-labs-social-samples.zip |
| Slide deck | One HTML file, and a PDF | DeckInputoverprint-gen deck --in deck.json --out out --html --pdf | PressSlides: title and section | deck-pebblepath.pdfdeck-pebblepath.html |
| Business card | Print-ready CMYK PDF, 3.5 × 2 in and 85 × 55 mm | PressCardInputoverprint-gen press business-card --format card-na --in me.json --out out | StudioBusiness card front | makr-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#
| Id | Rule | Why | Checked by |
|---|---|---|---|
| BB-DOC-01Must | Make quotes, proposals, invoices and letters only with the templates, from JSON.Applies to: Documents | The templates carry the type, the layout and the arithmetic; a document made by hand drifts from all three. | Manual review |
| BB-DOC-02Must | Let totals come from the template's arithmetic, never typed.Applies to: Documents, Slides | Integer 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-01Must | Use the generated signature, with no other images, banners, quotes or social icons.Applies to: Email | Every extra image is a remote load, a spam signal and one more thing a client's email app can break. | Manual review |
| BB-SOCIAL-01Must | Make posts with the card templates: text on the paper plate, 26 px or more at 1080 wide.Applies to: Social | Feeds show posts small. The templates keep the words on paper and big enough to read on a phone. | TestG2's card tests |
| BB-SLIDES-01Must | Make 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: Slides | The 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-02Must | Print prices, legal lines, forms and document body pages at Quiet.Applies to: Site, MAX//OS, Documents, Slides | Where the reader decides or signs, nothing should compete with the words. | Testthe documents' DOM check |
| BB-COMIC-14Never | Put comic panels, balloons or SFX on a document page with prices, terms or payment details.Applies to: Documents, Slides | A price is a promise. Comic art beside it makes the promise look like a joke. | Testthe documents' DOM check |