UI and Extensions

Shells, accessibility, Alpine, ChirpUI, islands, tools, and extension patterns

Page actions AI-ready formats and sharing
Open LLM text
Share with AI
Ask Claude Ask ChatGPT Ask Gemini Ask Copilot

UI surfaces that wrap or extend a single route: pick a root shell, layer in accessibility and client-owned interactivity, and register functions as tools for AI agents. If you build with htmx and Alpine, start with Shells (pick one per app) and Islands. New to hypermedia? Read Accessibility and Alpine first.

Accessibility

Semantic markup, ARIA, and WCAG alignment

Build inclusive apps with Chirp.

Alpine.js

Local UI state — dropdowns, modals, tabs

Complement htmx with Alpine for client-only interactivity.

Shells

The three root layouts — boost, shell, app-shell

Pick exactly one per app. Includes the decision table, thehx-selectdistinction, and what is not a shell.

App Shells

chirp-ui's app_shell_layout — sidebar, topbar, OOB regions

The shell with persistent chrome. One of three shells.

Boosted Navigation

hx-boost contract, cross-shell redirects, debug warnings

How swaps work, when they redirect, and the tripwires that catch silent failures.

UI layers & shell regions

Glossary — app shell, page chrome, surface chrome, OOB ids

One vocabulary for Chirp + chirp-ui layouts andchirp.shell_regions.

App-owned tokens and themes

Semantic CSS tokens, data-theme, cookie preference

Layered CSS and light/dark/system without a UI runtime or Alpine.

chirp-ui

Component library — layout, cards, forms, badges

Kida macros with CSS and themes. htmx-native, themeable.

Islands Contract

Framework-agnostic high-state mount roots

Mount isolated high-state widgets while keeping pages server-rendered.

No-Build High-State

State primitives without bundlers

Use islands + static ES modules for complex UI state while staying server-first.

Tools & MCP

Register functions as MCP tools for AI agents

Humans use forms, agents use JSON-RPC. Same functions, two interfaces.