Installation
From a clean clone to a running site in about two minutes. Everything the theme needs is in the repository — fonts, palettes and checks included.
Requirements
Three things on your machine, nothing else. No account, no private registry.
| Tool | Version |
|---|---|
| Node.js | 22 or newer |
| pnpm | 10.17.0 |
| A browser | Evergreen |
Install and run
Pick your package manager once; every command on every page follows the choice for the rest of your visit.
Choose a default palette
Pipe ships 6 palettes. Visitors can switch between them; the default is the one a first visit sees. Change one line:
export type Palette = (typeof PALETTES)[number]["id"]export const DEFAULT_PALETTE: Palette = "cocoa"- cocoa
- violet
- slate
- plum
- lagoon
- moss
Want a palette of your own? Palettes are generated, not hand-picked: see Design tokens for what a palette owns, then run the generator rather than typing hex values.
Run the checks
A green build proves the code compiles, not that anything appears on screen. These are the checks that do.
| Command | What it proves |
|---|---|
| pnpm lint | ESLint across the app, stories and scripts. |
| pnpm typecheck | Route types generated, then a strict TypeScript pass. |
| pnpm format:check | Prettier, including Tailwind class order. |
| pnpm palette:report | Every palette carries all its slots in both modes and meets its contrast floors. |
| pnpm build | The library registry, then a production Next.js build. |
| pnpm test:e2e | Rendered tests against a fresh production server. |
pnpm lintESLint across the app, stories and scripts.
pnpm typecheckRoute types generated, then a strict TypeScript pass.
pnpm format:checkPrettier, including Tailwind class order.
pnpm palette:reportEvery palette carries all its slots in both modes and meets its contrast floors.
pnpm buildThe library registry, then a production Next.js build.
pnpm test:e2eRendered tests against a fresh production server.
Troubleshooting
Was this page helpful?
Answers stay in this browser session. This demo sends nothing.