Getting started

Install SpryInnovation packages, wire global styles, wrap your app with SpryProvider, and render your first component.

Prerequisites

  • React — use the same major version as your framework expects (React 18+ or 19+ as peer).
  • Tailwind CSS v4 — the theme package ships the Tailwind entry; your app should consume it from a single root import (see below).
  • @spry/patterns is optional — add it when you need screen-level layouts (auth, dashboard shells) built from the same tokens.

If something fails to style or theme, check Troubleshooting first, then Architecture for how packages fit together.

Install

SpryInnovation ships as workspace packages. From your application, add the core packages you need (minimum: @spry/theme and @spry/ui).

pnpm

Global styles

Import the Tailwind entry once at your app root. It loads fonts, design tokens as CSS variables, and Tailwind v4 with the correct content sources for Spry components. Token names and layering are documented under Tokens.

Root module

SpryProvider

Wrap your tree with SpryProvider so data-spry-theme, locale, and density apply to the document. Use useSpry or useSpryTheme for controlled color mode. Theme behavior and presets are covered in Theming.

app/providers.tsx (or equivalent)

Next.js App Router

If you use the Next.js App Router, you can put SpryProvider in app/layout.tsx and keep the CSS import alongside it so every route shares the same theme and typography. Adjust defaultTheme and density to match your product.

app/layout.tsx

First component

Import primitives only from published package names — never deep-link into the monorepo. Here is the smallest working button.

example.tsx

Next steps