Skip to content

For the complete documentation index, see llms.txt.

Marketing Images

These are Linear-style marketing composites — a headline and the Promptless logo on a dark gradient, with a product screenshot floated on the right. They’re generated to exact pixel dimensions for app listings (Microsoft Teams, Slack, etc.) and live in public/assets/marketing/. See the Media Kit for logos and brand colors.

The generator is a small Node script — no browser required. From the repo root:

Terminal window
npm run marketing:image -- \
--headline "Turn conversations|into docs updates" \
--screenshot public/assets/integrations-page.png \
--out public/assets/marketing/teams-listing.png \
--eyebrow "Promptless for Microsoft Teams"

| (or \n) forces a hard line break; otherwise the headline wraps to fit its column. Defaults are 1366×768 with a 1024 KB size cap, so a minimal run only needs --headline, --screenshot, and --out.

FlagDefaultNotes
--headline(required)| or \n for hard breaks; wraps to fit
--screenshot(required)Product screenshot to embed
--out(required)Output path (.jpg if it must fall back)
--eyebrow(none)Small accent label above the headline
--logopublic/assets/logo_darkbg.svgAny svg/png
--width1366Exact output width
--height768Exact output height
--max-kb1024Size cap; triggers compression fallbacks
--scale2Supersample factor for crispness
--bg-top#15171dGradient color at the top (almost black)
--bg-bottom#000000Gradient color at the bottom (pure black)
--fg#ffffffHeadline color
--accent#8ea2ffEyebrow color

Satori lays out a flexbox tree (so the headline wraps within its column automatically) and emits an SVG with text as vector paths; @resvg/resvg-js rasterizes it, using the vendored static Inter TTFs; then sharp downscales to the exact size and compresses under the cap. Full notes are in scripts/marketing-image/README.md.

Tip

Because the screenshots are referenced from public/assets/, Promptless keeps them current — when the app UI changes, the embedded screenshots are updated like any other doc asset, and re-running the script refreshes these composites.

Marketing composite: Keep your docs in sync, automatically
docs-in-sync.png — npm run marketing:image -- --headline "Keep your docs|in sync, automatically" --screenshot public/assets/promptless_1_listen.png --out public/assets/marketing/docs-in-sync.png
Marketing composite: Every update, reviewed before it ships
reviewed-before-ship.png — npm run marketing:image -- --headline "Every update,|reviewed before it ships" --screenshot public/assets/promptless_1_review.png --out public/assets/marketing/reviewed-before-ship.png
Marketing composite: Turn conversations into docs updates
teams-listing.png — npm run marketing:image -- --eyebrow "Promptless for Microsoft Teams" --headline "Turn conversations|into docs updates" --screenshot public/assets/integrations-page.png --out public/assets/marketing/teams-listing.png