Boots.sh

Boots Studio · brand identities, on your machine

Brand the
whole outfit

An idea or a URL in; names, domains, logos, a brand sheet, a website, a component library and social and print layouts out. Every change is a commit you can branch from, and an MCP server lets Claude, Codex, Muse, Grok or OMP drive the whole pipeline.

  • 9 stages, idea to layouts
  • 42 MCP tools
  • 6 logo marks, as SVG
  • 5 agents supported
~/Code install.sh
~/Code $ git clone git@github.com:widgeit/boots.git
Cloning into 'boots'... done.
~/Code $ (cd boots && ./run exec foundations.install)
✓ packages ✓ headless Chromium
~/Code $ claude mcp add boots-studio \
  --env BOOTS_PROVIDER_KEY='op://<vault>/<item>/credential' \
  --env BOOTS_OP_BIN="$(command -v op)" \
  -- bun ~/Code/boots/foundations/task.ts mcp
✓ Added stdio MCP server boots-studio
~/Code $ claude "Use boots-studio to brand frauthy.com"
brand_create {mode: "full"} → job_status … done
Studio: http://127.0.0.1:4310/studio/

Quickstart

Saddle up in three commands

You need Bun, a Boots checkout and an Anthropic API key, ideally in 1Password. The studio runs at 127.0.0.1:4310; nothing leaves your machine except calls to Claude and the pushes you ask for.

  1. 1
    Clone the foundation
    git clone git@github.com:widgeit/boots.git ~/Code/boots
  2. 2
    Install oncePackages, plus the headless Chromium that renders and audits pages.
    cd ~/Code/boots && ./run exec foundations.install
  3. 3
    Register the MCP serverThe config holds only a 1Password reference. The server runs op read the first time a tool needs the key, and 1Password asks you to approve.
    claude mcp add boots-studio \
      --env BOOTS_PROVIDER_KEY='op://<vault>/<item>/credential' \
      --env BOOTS_OP_BIN="$(command -v op)" \
      -- bun ~/Code/boots/foundations/task.ts mcp
    No 1Password? Leave out the two --env lines and paste a key under the studio's Settings instead.
Or let the script do it Checks the checkout, Bun, op and claude, prints the exact steps, and registers only when you pass --register. It skips a server that is already registered and never stores a secret.
./install.sh ~/Code/boots --register --key-ref 'op://<vault>/<item>/credential'
Download install.shRead it first: it is short and plain bash.
Then ask your agent “Use boots-studio to make a complete brand for frauthy.com, a fraud-checking API for online shops.” Start ./run exec foundations.studio to watch the agent's work appear live.

The pipeline

From a hunch to a whole brand

Every stage runs on its own or all together, from the studio or from any agent. Naming and domains are optional: bring your own, or neither. Pick a stage to see what it makes.

Stage 1 of 9

An idea, or a website

Describe the business or paste a link. Links are read first, so a URL brings its name, tone and colours along. Images you add are read too.

Makes
The starting prompt for every stage
Lives in
The studio home
Over MCP
brand_create {prompt}

History with branches

Every change is a commit in the brand database. Check out any point, bring back just the website, branch off and compare. Push it all to a private repo.

Audits built in

Palette contrast, Lighthouse on the sheet and site, axe-core on every component and element, light and dark. Claude turns the findings into a checklist.

Keys stay in 1Password

Settings and agent configs hold an op:// reference. The key is read just in time, held in memory and never written to disk.

Logos are first-class

Pick a new version of a mark and the sheet, site, library and layouts use it. No page is regenerated.

An assistant that sees the page

“Make this bolder” goes to the board, section or component on screen.

Bring your own style

Import a Tailwind v3 or v4 theme, CSS variables (shadcn too), DTCG tokens, or a site, Storybook or brand-docs URL. Preview it, apply it to a brand, or start a brand from it.

Tokens and cost, live

One model for every stage in a click, and a meter that counts tokens and estimates the cost as you go.

MCP server

42 tools, eight saddlebags

One call for a full kit (brand_create {mode: "full"}, then job_status), or one stage at a time. Long work returns a job with progress notifications.

Naming

7 tools
  • names_generateNames for a business, in rounds: more, refine or new.
  • names_get · names_shortlistA session's names with availability; the shortlist.
  • domains_checkNames × TLDs, with registry confirmation.
  • domains_suggestDomain ideas for one name, checked.
  • tlds_list · domains_cache_statusThe TLD catalogue, zone sets and learned results.

Brand

9 tools
  • brand_createIdea or URL → brief → logos, and with full mode everything after.
  • brand_list · brand_getBrands, stages, versions, palette, fonts and paths.
  • brand_editA plain-language change, routed like the assistant.
  • colors_set · fonts_setDirect token and typeface edits.
  • style_adopt · brand_completeAdopt a style; make whatever is still missing.
  • style_importImport a Tailwind theme, CSS variables, DTCG tokens or a URL; preview, apply or start a brand.

Logos

5 tools
  • logos_generateAny scope; an alternative or a refinement.
  • applications_generateSocial, card and share layouts.
  • versions_list · version_selectTimelines; pick or revert a version.
  • logo_getAn SVG in light, dark, reverse, ink or raw tokens.

Pages

3 tools
  • brand_sheet_generateA full Boots style with light and dark palettes.
  • site_generateA marketing site on the brand tokens.
  • pages_buildRebuild every page.

History

9 tools
  • brand_history · history_graphThe log on a branch; the commit graph with lanes.
  • history_checkout · history_branchMove to any point; manage branches.
  • history_restore · snapshot_restoreBring back one part from any commit.
  • storage_status · remote_push · remote_pullThe database and its remotes.

Audits

3 tools
  • audit_runPalette, sheet, site, components or one element, as a job.
  • audit_getScores and findings by impact.
  • audit_checklistClaude writes the prioritised fix list.

Export

4 tools
  • export_turnkeyOne zip: brand kit, built sheet and website, tokens in every format, and an SDK for your stack.
  • export_stacksThe stacks an SDK can be generated for.
  • export_kitThe brand kit as a zip: marks, layouts and tokens.
  • export_assetsA Figma plugin, self-contained HTML or PDF, for a kit, section, selection or board.

Jobs

2 tools
  • job_statusWaits up to 55 s and streams progress.
  • job_cancelStop a long run.

Supported agents

Ride with any agent

The studio's Connect an agent dialog writes the config for each one with full paths, since agents start servers with a minimal PATH.

Claude

Claude Code or Claude Desktop.

claude mcp add …claude_desktop_config.json
Codex

The CLI, or a server table.

codex mcp add … --env …~/.codex/config.toml
Muse

The only place Muse reads servers.

~/.config/muse/settings.json
Grok

Also picks up servers added to Claude Code.

grok mcp add … -e …~/.grok/config.toml
OMP

Per user or per project, or inside omp.

~/.omp/agent/mcp.json/mcp add

Export to your stack

One kit, every framework

export_turnkey writes one zip: the brand kit, the built brand sheet and website, tokens in every format, and an SDK generated for the stack you name.

Tokens, every format

In every kit
  • CSS variables
  • Tailwind v4 @theme
  • Tailwind v3 preset
  • W3C DTCG JSON
  • SCSS
  • Python
:root { --primary: #9A3B23; }
:root[data-theme="dark"] { --primary: #E9865E; }

Figma, HTML, PDF

export_assets

A Figma plugin that builds real vector components, Light and Dark colour variables and text styles; a self-contained HTML page; or a PDF. Export the whole kit, one section, a selection or a single board.

React

npm package

Tokens, logos and a <Logo> component, plus the library in React.

Next.js

npm package

Tokens, logos and a <Logo> component, plus the library in React.

SolidJS

npm package

Tokens, logos, <Logo> and the library in Solid.

Vue

npm package

Tokens, logos and a Logo component for Vue.

Svelte

npm package

Tokens, logos and a Logo component for Svelte.

Astro

npm package

Tokens, logos and a Logo component for Astro.

HTML / Web Components

npm package

Tokens, logos, a Logo component and the library in HTML/JS.

SwiftUI

Swift package

Colours and type with light and dark variants, and the marks.

Jetpack Compose

Android

A Compose theme plus colour resources, day and night.

Flutter

Dart package

ThemeData for light and dark, and a BrandLogo widget.

The npm packages carry the component library in React, Solid or HTML/JS, styled with Tailwind or plain CSS, in TypeScript or JavaScript.

Pricing · draft

Free to self-host

Run it on your machine with your own Anthropic key and pay Anthropic for tokens, nothing else. Hosted plans use credits; a full kit is about 100. Every price below is a draft.

Self-host

Draft

$0 bring your own key

  • The whole studio and MCP server
  • Every stage, audit and export
  • Brand database with git-like history
  • Push to your own private repo
Saddle up

Hosted

Draft

$15 / month · your key

  • Hosted studio, no install
  • Use your own Anthropic key
  • Hosted brand remote and backups

Pro

Draft

$29 / month

  • 300 credits included (about 3 kits)
  • Hosted studio and remote
  • Turnkey exports for every stack

Team

Draft

$99 / month

  • 1,000 pooled credits
  • 3 seats
  • Shared brands and branches

Agency

Draft

$299 / month

  • 3,500 credits
  • White-label exports and pages
  • Brands for every client

API / MCP

Draft

$0.10 / credit

  • Pay as you go
  • The 42 MCP tools, hosted
  • For agents and pipelines

Draft prices while the hosted offer is decided. Nothing here is a commitment.

FAQ

Questions at the corral

Where do my brands live?

In a local SQLite brand database (.studio/boots.db). Every change is a commit with branches, and the current state is written out as files for the build. Back it up with remote_push to a private GitHub repo or another studio.

Which model does it use?

Anthropic's Claude, with your key. Settings pick the model per stage (briefs and chat, logos and layouts, brand sheet, website), or one model for every stage. The meter shows tokens and an estimated cost.

How is the API key handled?

Paste a 1Password reference (op://vault/item/field), not the key. The studio and the MCP server run op read the first time they need it, after you approve in 1Password, and hold it in memory only. A pasted key is kept in a git-ignored settings file with mode 0600.

Do I need to name the business first?

No. Naming and domains are optional stages. Bring your own name and domain, or neither, and start from the brief.

Can I start from a style I already have?

Yes. style_import reads a Tailwind v3 or v4 theme, CSS variables (shadcn too), DTCG tokens JSON, or a site, Storybook or brand-docs URL. Preview it, apply it to a brand, or start a new brand from it.

What does the install script change?

Nothing unless you ask. Without flags it only checks your tools and prints the steps. --register runs claude mcp add once and skips it if boots-studio is already registered; --install runs foundations.install in your checkout.

Can I edit what it generates?

Yes: in plain language through the assistant or brand_edit, directly with colors_set and fonts_set, or by hand and then committing the edit. Versions are append-only, so nothing is lost.

Pull your boots on

Three commands to a studio your agent can drive. Your machine, your key, your files.