viiibe.lauradurieux.dev
Homepage
A dark interface on a near-black neutral background where a violet accent marks the next step. Type is Geist set tight at large sizes, corners are 6px, and depth comes from soft neutral shadows.
Paste this into Claude Code in your project. It downloads the kit, checks its hash and asks before changing anything.
Install the "reactbits.dev" design kit (v1) from Livery, then run it on this project. 1. mkdir -p .claude/skills/livery-reactbits-dev 2. curl -fsSL "https://www.livery.site/k/reactbits-dev/v1/kit.tar.gz" -o /tmp/livery-reactbits-dev.tar.gz 3. Verify: the sha256 of /tmp/livery-reactbits-dev.tar.gz must be d518491f6ce1da878222d9f5a83d7d9a4ac690d5c5ed7aa788627b6b17d81610. If it doesn't match, stop and tell me. 4. tar -xzf /tmp/livery-reactbits-dev.tar.gz -C .claude/skills/livery-reactbits-dev 5. Read .claude/skills/livery-reactbits-dev/SKILL.md and follow it. It will audit my project and ask me before changing anything. If any response starts with "Couldn't read this site", stop and tell me. Don't continue.
Levels in this kit
Agents fetch www.livery.site/k/reactbits-dev/v1/SKILL.md. This version never changes.
dark theme
Background
#120f17
Surface
#1b1920
Text
#ffffff
Muted
#cbcacc
Border
#131018
Accent
#a855f7
light theme
Background
#ffffff
Surface
#cac8cb
Text
#18181b
Muted
#3f3f46
Border
#ededed
Accent
#a855f7
Type · Geist
Radius
Spacing · irregular
Motion style · 5 signature motions · off under reduced motion
Endless rail
25s · linear · loops
Float
35s · linear · loops
Pulse
800ms · ease-in-out · loops
Spinner
20s · linear · loops
Entrance
550ms · cubic(.22,1,.36,1)
Built with · best guess
3D · Three.js r180 · WebGL
The scene renders into a canvas that fills the first screen. Built with Three.js r180, inside a React app, most likely through React Three Fiber.
Details · 7
Frosted glass
11 surfaces blur what's behind them (backdrop-filter), usually headers, menus and overlays.
Filled text
1 piece of text is filled with a colour blend or image (background-clip: text).
Balanced line breaks
Headings and paragraphs wrap evenly (text-wrap: balance / pretty) on 33 elements: no lonely last words.
Shaped edges and fades
3 clip-path shapes and 9 masks cut or fade edges instead of hard rectangles.
Selection colour
Selected text is rgb(255, 255, 255) on rgba(168, 85, 247, 0.42) (::selection).
Focus ring
Keyboard focus shows as rgba(168, 85, 247, 0.6) solid 2px, offset 2px (:focus-visible).
Styled scrollbars
Scrollbars are restyled to match the interface.
Principles
Soft, neutral depth
Lift raised elements with the measured shadow (rgba(255, 255, 255, 0.07) 0px 1px 0px 0px inset).
Even, compact hierarchy
Keep type sizes close together, anchored on 34px body text.
Consistent corners
Use 6px corners as the default radius.
Never
Never tint shadows with colour.
Every measured shadow is neutral; a coloured glow would read as a different product.
Never introduce a second accent colour.
Only one saturated colour (#a855f7) carries weight in the measured palette.
Never use positive letter-spacing on headings.
Large type is tightened, down to -0.056em on the biggest sizes.
Never animate longer than 300ms.
Every measured transition finishes within 300ms; slower motion would feel heavy here.
Never set button labels in all capitals.
No measured button uses uppercase text.
Never mix in a second display typeface.
Headings and body share Geist; a second family would split the voice.
The site with its content removed: images are flat blocks, text is soft bars. Layout, rhythm and colour stay. Scroll inside each screen.
--- name: livery-reactbits-dev description: Apply the reactbits.dev design kit (Livery v1) to this project. Use only when the user asks to apply this kit or this site's design. --- # reactbits.dev design kit · v1 · flow 1 **Never edit a file before step 5. Ask, don't assume.** A dark interface on a near-black neutral background where a violet accent marks the next step. Type is Geist set tight at large sizes, corners are 6px, and depth comes from soft neutral shadows. Kit files (read each one only when its step needs it): `rules.md`, `tokens.json`, `fonts.json`, `icons.json`, `components.md`, `layout.md`, `motion.md`, `details.md`, `stack.md`, `voice.md`, `licences.md`, `frames/`. Levels offered: 1. Tokens: Colour, type, spacing, radii, borders and depth. 2. Structure: Component recipes, containers, grids and section rhythm. 3. Feel: Motion and interactions, craft details, the stack behind them, and the tone of the copy. ## 0. Prepare - Require git. If the working tree has uncommitted changes, ask the user to commit or stash first. - Create and switch to the branch `livery/reactbits-dev-v1`. - If commits from an earlier run of this kit exist (`livery(reactbits.dev v1): …`), offer to resume after the last finished area. ## 1. Audit Find theme files, design tokens, CSS variables, Tailwind config, fonts, the icon library and how colours are used. Note the styling setup (Tailwind v4 or v3, CSS modules, shadcn/ui, CSS-in-JS, plain CSS). Report colours that are scattered (hard-coded in many files) rather than centralised; offer to centralise them first. `stack.md` says what the source site appears to be built with. Never switch this project's framework or add libraries just to match it: recreate each effect with what the project already uses, and suggest a library only when the user asks (for 3D, follow its notes). ## 2. Scan project rules Read CLAUDE.md (root, nested, ~/.claude), AGENTS.md, .cursor/rules, .github/copilot-instructions.md, design docs, lint rules, and contrast or visual tests. Sort each finding as hard (must keep), soft (preference) or unrelated. ## 3. Report the gap For each area (tokens, components, layout, motion, details, voice), rate the gap small / medium / large in one or two lines, comparing the project with `rules.md` and `tokens.json`. ## 4. Ask Ask which areas to apply. Warn clearly where the gap is large. Ask what must not change (logo colours, required brand colours, legal copy). For voice: show three of the user's own sentences rewritten with `voice.md`, then ask. ## 5. Resolve conflicts For the chosen areas, quote each conflicting project rule with file:line. For each one offer: keep the rule / override once / override and update the rule. For hard rules, ask a second time and repeat the rule's stated reason. ## 6. Licences Read `licences.md`. Install fonts and icons only from their official sources (Google Fonts, Fontsource, npm), never from the source site. For each item marked "needs a licence": use it only if the user confirms they hold a licence; otherwise use the listed free alternative. Items marked "style only" (logos, photos, illustrations, custom icons) are recreated as style only: shape, weight and colour treatment, never copied files. Styling the user's own login or checkout pages with these tokens is fine. Never recreate the source site's login, checkout or branding. ## 7. Apply One area per commit, in this order: tokens → components → layout → motion → details → voice (only the areas this kit's levels include). Commit message: `livery(reactbits.dev v1): <area>`. Edits to project rule files go in the same commit. Read the data file for an area only when you reach it. Follow `rules.md` throughout, especially its "Never" list. ## 8. Verify Check text contrast in both themes (4.5:1 for body text, 3:1 for large text and UI). If the accent fails on the user's backgrounds, adjust its lightness rather than shipping unreadable text. If Playwright is available, screenshot the user's pages and compare their layout and rhythm with `frames/`; fix the differences. ## 9. Keep it Offer to add the core of `rules.md` to the project's CLAUDE.md (or AGENTS.md) so future sessions keep the design. ## 10. Summary List what changed per area with its commit hash. To undo one area: `git revert <hash>`.
<a href="https://www.livery.site/k/reactbits-dev"><img src="https://www.livery.site/k/reactbits-dev/badge.svg" alt="reactbits.dev design kit on Livery" width="168" height="28"></a>
[](https://www.livery.site/k/reactbits-dev)
Homepage
1 pages
Homepage
Homepage