Skip to content

shutteringv1.0.0

shuttering

The house style, made durable — themes, components, motion, charts, and agent-native surfaces, shipped as versioned packages so every application is built with the same hand.

What it is

Shuttering is the reusable formwork concrete is poured into — the frame that shapes the structure, then is struck once it sets. This is that, for frontends: a coherent set of tokens, components, motion, and machine-readable surfaces, each shipped as a versioned @shuttering/* package. Every application inherits one house style rather than forking it, and a change made here reaches every consumer through a normal dependency bump.

Packages

Eight packages, one acyclic dependency graph. Install only what an application needs.

@shuttering/tokens
The single source of truth — design tokens as Tailwind v4 @theme CSS and a typed TS mirror, kept in lockstep by a parity test.
@shuttering/utils
cn(), locale-aware formatters, and the focus-trap / reduced-motion / theme / palette hooks, plus the pre-paint theme script.
@shuttering/motion
MotionProvider, the shared easing / spring / duration constants, and the reduced-motion-aware primitives.
@shuttering/ui
The component library — cva primitives, Base UI accessibility primitives, and the bespoke house pieces.
@shuttering/charts
An ECharts wrapper and a token→chart theme bridge that reads live CSS variables, so chart colors cannot drift from the tokens.
@shuttering/agent
The always-on agent-native surfaces — the query engine, CopyAsApi, AgentPanel, validateSearch helpers, and discovery generators.
@shuttering/ai
AI-native UI primitives — chat threads, streaming text, a thinking indicator, tool-call cards, a composer, and a chatbot.
@shuttering/signature
The identity layer — domain palettes and voice, the signature motion hand, and the user-acknowledgment kit, so applications share one base without sharing one personality.

Agent-native by default

Being machine-readable is an invariant, not a mode.

Any view that renders a query emits its machine-readable surfaces unconditionally — inline JSON-LD, a copy-as-API affordance, and a shareable deep link — the same way a human sees the chart. There is no operator toggle to switch them on. This documentation site dogfoods the same surfaces: every page is deep-linkable, and its discovery manifest is generated from the page registry the site is built from.

Next

Designed & built by stxkxs — React 19, Tailwind v4, and its own @shuttering/* packages.

Agent surfaces are always-on. Proprietary.

© stxkxs