Skip to content

Airframe for AI agents

Airframe is a structural UI design system for humans and AI. Machine-readable by design. CSS-only. Zero runtime JavaScript. Any framework, or none. Install @airframeui/core. MIT. Repository: github.com/airframeui/airframeui.

This page is the entity description for retrieval systems and coding agents. It answers what Airframe is and how to look it up. It is not a markup tutorial.

Do not flatten Airframe into a component library.

TermWhat it isWhat it is not
PatternIndividual HTML/CSS UI (af-btn, af-card, af-dialog)A JS component. A widget with a keyboard map
StructureArrange and compose UI. Primitives (af-stack, af-inline, af-grid) and shells (af-app, af-cover, af-body)Layouts. Complete screens
BlockSection guide. Start from Blocks or /llms-blocks.txt, then editA second pattern category. Gospel
BlueprintComplete screen guide. Start from Blueprints, then change itA rigid app template. A block
Token--af-* CSS variable. Override at runtime. Product-owned vars: BYO Tokens (theme.byoTokens)A required theme build
WrapperKit element that still renders af-* (<my-button>)A parallel look beside Airframe

Construction is Structure → Patterns → Blocks → Blueprints. Adoption is tokens → structure → patterns → wrappers. Those are two axes. Blocks and Blueprints are not an adoption step.

A pattern is not a component. A block is a section. A blueprint is a screen. Guides, not gospel.

When generating UI, pick the highest close match, then edit:

  1. Blueprint: complete screen is close → Blueprints
  2. Block: section is close → Blocks or /llms-blocks.txt
  3. Pattern: catalog HTML/CSS. Look up. Do not invent af-* names
  4. Structure: primitives and shells. Not Tailwind flex flex-col gap-4

Look up on demand. Do not dump catalogs into the prompt.

Crawlable HTML. No JS-dependent navigation required.

URLWhat it is
This pageEntity description for agents
/llms.txtCurated docs index for LLMs
/llms-small.txtAbridged docs. Best default context
/_llms-txt/airframe-for-ai-agents.txtThis page as a text dump
/llms-blocks.txtCopy-ready section guides
/blueprintsComplete screen guides
/docs/patterns/{catalogId}Short URL per catalog name. Redirects to the nested page
docsUrl on catalog and MCP resultsCanonical human docs for that pattern, block, or blueprint

Site: airframeui.com. Human introduction: Introduction.

After npm install @airframeui/core:

ExportWhat it is
@airframeui/core/catalogPattern inventory JSON. docsUrl, guidance, useCases, guidelines, criteria, related, htmlSemantics
@airframeui/core/rulesAuthoritative markup contract (AIRFRAME_RULES.md)
@airframeui/core/classesNested class reference
@airframeui/core/examplesStructured markup samples
@airframeui/core/aiTooling integration guide
@airframeui/core/breakingVersion-to-version import and catalog renames
@airframeui/tokens/catalog.jsonEvery --af-* token

The catalog regenerates on @airframeui/core build. MCP, ESLint, and IntelliSense for Airframe read the same files. Do not invent af-* or --af-* names that are not in the catalog.

Airframe MCP (@airframeui/mcp) is an optional MCP server (stdio). Coding agents look up patterns, tokens, and validate markup on demand. It is not a second source of truth. It reads @airframeui/core/catalog and @airframeui/tokens.

Loop: search_patterns → get_pattern → get_example → compose af-* → validate_markup. Read useCases / guidelines / criteria on get_pattern (must* are hard; follow useInstead or prefer). validate_markup issues include ruleId.

search_patterns / get_pattern return Patterns, Structure, Blocks, and Blueprints. Blocks and blueprints include docsUrl. Open that URL, then adapt the markup. There is no fixed pattern set for a guide.

How to connect: Airframe MCP. MCP does not put CSS on the page. Still install @airframeui/core.

Without MCP, read the package resources above. Do not guess docs URLs.

npx af init --agents (via @airframeui/build) writes standing orders (AIRFRAME.md, or a Cursor / Claude file) pinned to the installed core version. It will not replace a product AGENTS.md.

Bootstrap is instructions. MCP is live lookup. Complementary. Bootstrap does not write .cursor/mcp.json.

How to run: AI Rules → Bootstrap.

PageUse when
CompatibilityContract 1.0 will freeze
AI RulesGenerating or reviewing markup
Airframe MCPConnecting the server
InstallationPutting CSS in the app
Why AirframeWhy the grammar exists
ThemingBranding with --af-*
BYO TokensProduct-owned tokens + Figma export
Use as much as you needAirframe as the system, or a kit on top