launcher
bespoke · fieldThe ⌘-space command bar - the product's front door, glowing on focus.
Coral light on glass, in the dark.
Flare is a re-reading of the command-launcher aesthetic: a near-black canvas where frosted-glass surfaces float behind hairline highlights, lit by a vivid coral that flares on every primary action. Electric azure plays the foil, corners are rounded like a native app, and a coral glow haloes the things that matter. Motion is snappy and confident on a quintic ease. It feels fast, premium, and a little playful - software that delights on a keystroke.
re-imagined from https://raycast.com
Pull this design system into any project - it follows the system's tokens, recipes and rules. Run the commands yourself, or let your coding agent set it up and build.
npx synthesisui@latest init --styles tailwind --ds flarenpx synthesisui@latest connectSet up the "flare" design system in this project, so its tokens reach the browser. I already ran the install in my terminal.
1. Add these two lines to the global stylesheet this project's apps actually load (in a monorepo that is usually the shared package's, not the app's), RIGHT AFTER its `@import "tailwindcss"` line:
@import "<path to the repo root>/_synthesisui/ds/flare/tokens.css";
@import "<path to the repo root>/_synthesisui/ds/flare/theme.css";
The position is not cosmetic. Read there, this sheet comes BEFORE any `@theme` this project declares, so wherever both name the same variable the project's own value wins. Moved to the end of the file, ours would win instead - silently.
2. Put `data-ds="flare"` on a root element of each app - the element every page renders inside. Keep any classes it already has; a background they chose is a decision they made.
3. Map this project's type onto the system's family tokens: import from the fonts file the install wrote and point the family variables at it, in the same stylesheet. This is the step people skip, and without it the pages render in the framework's default face.
4. Run: npx synthesisui@latest doctor
If npm answers `ETARGET` or `No matching version found`, a release is still propagating - wait a minute and run it again, or pin the version the registry does have (`npm view synthesisui version`).
If it says "no system installed", the install never happened - run `npx synthesisui@latest init --styles tailwind --ds flare` and then start over from step 1.
It must NOT say "this project does not load it yet". If it does, it names exactly which piece is still missing - fix that one and run it again.
5. Run: npx synthesisui@latest connect
If npm answers `ETARGET` or `No matching version found`, a release is still propagating - wait a minute and run it again, or pin the version the registry does have (`npm view synthesisui version`).
If it answers "already had it" on both lines, everything is live and you are done.
If it WROTE either of them, then they are not live in this session, because hooks and tools are only read at startup. Stop there and tell me, in bold, on its own line: **RESTART THIS SESSION - the check is installed but not running yet.** Do not keep writing files after that; a session that cannot be checked is the state this whole setup exists to avoid.
Do not change any of my existing styles.Use the "Flare" design system (slug: flare) to: build the UI I describe next First make sure it's installed: run `npx synthesisui add flare` if `_synthesisui/ds/flare/` isn't in the project yet. Read these files first (highest authority first): - _synthesisui/ds/flare/rules.md - project rules for this system (if present); obey them above everything else - _synthesisui/ds/flare/philosophy.md - the mission, voice and principles (if present); let it shape every screen - _synthesisui/ds/flare/v16/GUIDE.md - how to apply the system, the recipes and the token vocabulary Follow this contract (target framework: next): - First check whether this refers to UI that already exists in the project. If it does, modify only what's needed and keep the rest intact and on-system. If it doesn't, build it new. - Scope the markup with `data-ds="flare"` (or rely on it at the app root). - Style with the design system only: reuse the `.ds-*` recipe classes and the DS-backed Tailwind utilities (`bg-primary`, `text-foreground`, `p-md`, `rounded-lg`, `font-display`…). Never use raw hex/px outside the system's scale. - Make sure `tokens.css` + `theme.css` are imported in the global CSS (see the GUIDE's "How to apply"). - Implement the behavior yourself (open/close, focus, routing) - the system ships the looks, not the JS. Composition (make it look composed, not just correct): - Cap page content with a max-width container and center it - this DS ships `max-w-app` for dashboards/wide UI and `max-w-prose` for text columns. Don't stretch content edge-to-edge. - Give the page a complete, intentional layout: clear vertical rhythm, sensible density and grouped sections. Never leave a single thin row floating on an empty screen. Deliver senior-level, production-quality code: clean structure, accessible (ARIA + keyboard), and responsive.
Paste into Claude Code, Cursor or any coding agent. From your project you can also run npx synthesisui use flare "…".
What to install or load so the system renders at full fidelity - it ships token names and recipes, not the assets.
The system ships token names, not the fonts. Load them (Google Fonts, next/font or Fontsource) or type falls back to a generic family and loses the system's identity.
npm i lucide-reactComponents reference Lucide icon names. Install it (or swap in your own icon set) to render them.
Color
Named scales forged by the synthesis; semantic roles only ever point at them.
color.coal
50#f5f6f7
100#e6e6e8
200#c8c9cc
300#9a9ba0
400#6b6c72
500#434345
600#2a2b2e
700#1b1c1e
800#121316
900#0a0b0e
950#07080a
color.mint
400#4ade80
500#22c55e
600#16a34a
color.veil
500#07080acc
color.amber
400#fbbf24
500#f59e0b
600#d97706
color.azure
300#8fd0ff
400#56c2ff
500#138af2
600#0b6fd1
color.coral
300#ff9d9d
400#ff6363
500#f5454a
600#d62f3a
700#a81f2a
color.glass
100#ffffff0d
200#ffffff14
300#ffffff26
color.crimson
400#f43f5e
500#e11d48
600#be123c
color.semantic - resolved live via CSS variables
info
{color.azure.400}
faint
{color.coal.400}
muted
{color.coal.300}
scrim
{color.veil.500}
accent
{color.azure.400}
border
{color.glass.200}
canvas
{color.coal.900}
danger
{color.crimson.400}
raised
{color.coal.700}
overlay
{color.coal.700}
primary
{color.coral.400}
success
{color.mint.400}
surface
{color.coal.800}
warning
{color.amber.400}
foreground
{color.coal.50}
color.series - categorical data-viz palette (bg-series-*)
series-1
series-2
series-3
series-4
series-5
series-6
series-7
series-8
Foundations
Corner radius, spacing rhythm and elevation - the physical feel of the system.
radius
spacing
shadow
Typography
Display: Inter · Body: Inter · Mono: Geist Mono
Motion
Every keyframe runs live below, dressed in the system's own colors - durations, easing curves and the interactions they power.
keyframes - 7 live
easings
durations
interaction patterns
Snappy press feedback.
Primary surfaces breathe a coral glow.
Content springs up and fades in on a quintic ease.
An azure ring snaps on at focus.
Glass surface lifts on hover.
Components · 8
Every value below is a token reference resolved by the renderer - hover, toggle and switch tabs to feel the states. Bespoke components are rendered from their anatomy hint.
The ⌘-space command bar - the product's front door, glowing on focus.
The signature frosted surface - translucent white over the dark, blurred behind.
Frosted panel on the dark canvas, edged by a glass hairline; lifts on hover.
padding
A card wearing this system.
A card wearing this system.
emphasis
A card wearing this system.
A card wearing this system.
Rounded pill for metadata and status; colored text on a glassy fill.
intent
Field on glass; an azure ring snaps on at focus.
Identity token - sized circle with initials or image.
size
Rounded action with a coral glow on primary; snappy and bright.
intent
Field trigger that reveals a focus ring on interaction.
Icons · lucide
Icons inherit the system: color via currentColor, a standardized stroke, sizing on the scale. Lucide by default; more libraries can be enabled per system.