Framingui

io.github.soo-katePublished by GitHub account soo-katev0.1.0Updated Oct 24, 2026

FramingUI design-system tools for coding agents: validate screens, check wiring, browse the catalog.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

FramingUI exposes a token-driven design system to coding agents over MCP: validate screens, check project wiring, and browse the component catalog.

What you can do
Validate screen definitions against the design system's recipes, required regions and states, failing with exit codes rather than warnings. Validate layout contracts and check project wiring, packages and theme CSS loading. Browse the screen recipe grammars and domain packs in the catalog. The same validators and catalog are also shipped as a skill for Claude Code and Codex; the MCP server is for clients that speak MCP but do not load skills.
When to use it
Use it when a coding agent builds UI screens and you want it to compose from a fixed component and token vocabulary instead of inventing styles, and you want mechanical checks before a screen is called done.
Requirements
Runs locally over stdio via npx of the npm package; needs Node.js. To render composed screens you also add the component library to your project and wire the scope and theme CSS. No account, no telemetry, no environment variables declared.
Before you install
The free tier covers 30 components and one theme; other components, themes and the conversation domain pack are licensed and return a LICENSE_REQUIRED error, with the full catalog sold as a subscription. The bundle itself is MIT. Everything runs locally and the optional journal stays on your machine.

Installation

In SourceWeft

  1. Open Framingui in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[One prompt each: a dashboard, an article page, and a settings page design themselves consistently with FramingUI]

FramingUI

The design system your coding agent can't drift from.

Install · Demos · How it works · Free scope · framingui.com


Ask an agent to "build a settings page" and you get whatever the model dreamt that day: default-blue buttons, three border radii on one screen, a hand-rolled dropdown with no focus states. The code runs. The screen is slop.

FramingUI is an agent skill: a token-driven design system packaged so that coding agents (Claude Code, Codex) compose screens from it instead of around it. A closed vocabulary — components, layout tokens, machine-checkable screen recipes, one strongly-opinionated theme — plus zero-install validators that fail loudly when the agent strays. Your agent reads the theme's design DNA, composes from the catalog, validates the result, and self-critiques the rendered screen before calling it done.

No server. No account. No telemetry. A folder of data and plain-node scripts.

What an agent ships with it

One prompt each, zero design feedback rounds — composed entirely from the free catalog in the editorial-tech theme:

"Build a revenue dashboard""Build our blog's article page"
[Dashboard][Article]
"Build the account settings page"Licensed preview: the conversation pack
[Settings][Chat]

The fourth screen uses the licensed conversation domain pack — thread states, streaming, composer. It's shown here so you know where the free line sits.

Install (30 seconds)

Claude Code — from your project root:

bash
mkdir -p .claude/skillscurl -L https://framingui.com/get/skill | tar -xz -C .claude/skills

OpenAI Codex — same tarball into .agents/skills instead.

Or clone this repo and copy skill/framingui into your skills directory. Claude Code and Codex auto-discover it; from then on, any "build a screen / add a component / apply the theme" request routes through the system.

To actually render what the agent composes, add the component library to your project:

bash
npm install https://framingui.com/get/ui

Then wire the scope + theme CSS — the skill's own INSTALL.md walks your agent (or you) through it, and node .claude/skills/framingui/scripts/doctor.mjs . verifies the wiring and tells you exactly what's missing.

Prefer MCP? The same validators and catalog are exposed as an MCP server — @framingui/mcp (npx @framingui/mcp, stdio) — for clients that speak MCP but don't load skills.

How it works

  1. doctor.mjs checks the environment once per project — packages, the FramingUIScope boundary, theme CSS actually loaded. Broken wiring is a hard fail, not a silent default palette.
  2. The agent reads the theme (assets/themes/editorial-tech.json) — its design DNA, mood keywords, and per-recipe notes are hard constraints, not suggestions.
  3. It composes from the closed vocabulary: 30 components, 12 shells / 8 pages / 17 section patterns, 9 screen recipes with required regions and states. Inventing a token is a validation error.
  4. validate-screen.mjs / layout.mjs check the result mechanically — exit codes, not vibes. Recipes make "a settings screen must have these regions and states" machine-checkable.
  5. The agent renders, screenshots, and self-critiques against the design DNA before declaring done.

The commands your agent will use (all plain node, zero install):

bash
node .claude/skills/framingui/scripts/doctor.mjs .            # environment checknode .claude/skills/framingui/scripts/validate-screen.mjs s.json   # screen definition gatenode .claude/skills/framingui/scripts/layout.mjs validate c.json   # layout contract gatenode .claude/skills/framingui/scripts/recipe.mjs list         # screen grammarsnode .claude/skills/framingui/scripts/pack.mjs list           # domain packs

What's free (and what's licensed)

The free tier is deliberately minimal, lovable, and stable: it only ever grows, so a screen you ship today keeps validating forever.

FreeLicensed
Components30 — the full 20-component screen contract + form/feedback/layout essentials62 — adds Sidebar, Command, Combobox, DataTable, DatePicker, Sheet, Popover, the 8-component conversation suite, and more
Themeseditorial-tech9 voices
Layout tokens & recipesAll of themAll of them
Domain packs—conversation (assistant surfaces)
UpdatesStable free channelContinuous releases

When your agent reaches for something licensed, it doesn't get a mystery "unknown component" — it gets a LICENSE_REQUIRED error naming the real thing and where it lives, with strict instructions not to hand-roll an imitation. The full catalog is subscription-licensed at framingui.com — join the waitlist and you'll get exactly one email at launch.

FAQ

Why a skill and not just docs? Agents don't read docs; they pattern-match. A skill puts the vocabulary, the constraints, and the validators in the agent's working set — and the validators make violations cost an exit code.

Does this phone home? No. Everything is local. The optional journal (.framingui/journal/) never leaves your machine and records rule IDs and exit codes, never your code.

Can I use it commercially? Yes — this bundle is MIT. The licensed catalog is a separate commercial product.

License

MIT for everything in this repository. skill/framingui is generated from the FramingUI source system — issues and screenshots of misbehaving screens are very welcome.

Source: README.md at commit 95f3abb

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts