Skip to content

Guidelines as a living page

Brand guidelines that move.

One link per brand, with living colour, type and motion tokens. A brand.json sits beside it, and an MCP server lets design tools and AI assistants read the same rules your team does.

Meridian · live tokensbrand.json
  • Ink
    #161616
  • Paper
    #F4F2EC
  • Meridian Blue
    #1F2DE6
  • Graphite
    #4A4A47
  • Chalk
    #D9D4C7
  • Dusk
    #2B2F6B

Type pairing

Built for the long way round.

Forty-one degrees north, nine degrees west. The tide turns at six.

Inter Tight 700 / Source Serif 4 400

Motion · Reveal

cubic-bezier(0.2, 0.8, 0.2, 1) · 640ms

How it works

From a website to a handover in three steps.

  1. Paste a URL and a brief

    The scanner reads the real colours, fonts and motion off the page. Claude then writes a first draft of every text section, from intro to voice.

  2. Edit field by field

    Change anything with a live preview beside it. Upload logos, add files, pick fonts, and set a password if the guideline is not for everyone.

  3. Publish one link

    You get the public page, brand.json, llms.txt, an assets.zip and an MCP endpoint. They all come from the same saved tokens, so they never disagree.

Examples

Two brands, both real pages.

For machines

The same rules, readable by tools.

Every published brand serves a versioned brand.json with ETag and open CORS, plus an llms.txt. Connect Claude Code, Cursor or any MCP client and it can read the guideline, edit sections and publish.

GET /brand/meridian/brand.json (excerpt)

{
  "contract": {
    "name": "pulsebook.brand",
    "version": 1
  },
  "brand": {
    "name": "Meridian",
    "slug": "meridian"
  },
  "theme": {
    "background": "#F4F2EC",
    "ink": "#161616",
    "accent": "#1F2DE6",
    "mode": "light"
  },
  "palette": [
    {
      "id": "meridian-blue",
      "name": "Meridian Blue",
      "hex": "#1F2DE6",
      "role": "accent",
      "rgb": "rgb(31, 45, 230)",
      "hsl": "hsl(235.78, 79.92%, 51.18%)",
      "oklch": "oklch(0.455 0.265 267.2)"
    }
  ]
}

Fetch it

curl -sS https://pulsebook.app/brand/meridian/brand.json

Connect Claude Code

claude mcp add --transport http pulsebook https://pulsebook.app/api/mcp \
  --header "Authorization: Bearer $PULSEBOOK_TOKEN"

Pricing

Pay once per published brand.

Your first publish is free. Prices are in USD, with tax added at checkout where applicable. Credits never expire. No subscription.

  • Draft

    Free

    no card needed

    • Up to 3 drafts
    • Live preview link
    • AI first draft of every text section
    Start free
  • One brand

    $39

    one-time

    • Publish 1 brand
    • Public link
    • brand.json and llms.txt
    • Password protection
    • noindex when you want it
    • MCP access
    Start free
  • Five brands

    $149

    one-time, $29.80 each

    • Publish 5 brands
    • Everything in One brand
    • Use the credits whenever you need them
    Start free

Questions

Asked often.

Who can read a password-protected brand?

Only people who enter the password. Without the unlock cookie both the page and its brand.json answer 404, so nothing reveals that the brand exists. Password and noindex are included with every brand.

What does brand.json contain?

A versioned document (pulsebook.brand v1): theme, every colour with hex, rgb, hsl and oklch, fonts, motion tokens with their easing curves, the text of each enabled section and links to hosted files. It is served with an ETag and open CORS. See the brand.json docs.

Can I use my own fonts?

Yes. Upload woff2, ttf or otf files, or point a role at a Google Fonts or Fontshare family. Each brand holds up to three families: display, text and mono.

What can the MCP server do?

With a token you create in the dashboard, an assistant can list and read brands, scan colours and fonts from a URL, create brands, edit sections, upload assets, generate a draft and publish or unpublish. Scopes (read, write, publish) limit what each token may do. See the MCP docs.

What happens if I unpublish?

The brand goes back to draft: the public link, brand.json and llms.txt stop answering, and the content stays in your workspace. Publish again whenever you want.