Getting started
Copy-paste React components. Tailwind tokens, motion animations, no runtime package. You own every file.
Requirements
- React 19 (or 18)
- Tailwind CSS 4
- Node 18+
- TypeScript project with
@/*path alias (or run the CLI — it rewrites imports)
Install peer deps:
npm i motion lucide-reactInstall with the CLI
The myhippo CLI fetches component source from the registry, rewrites imports to match your project layout, and writes files into your repo. Nothing stays onnode_modules — every file is yours to edit.
Clone everything
Pulls all components into components/ui/ plus helpers (cn,hooks,anchor) into lib/.
npx myhippo cloneAdd specific components
Pass one or more slugs. Helpers are always included so imports resolve.
npx myhippo add button card dialogUpdate or remove
update redownloads and overwrites. remove deletes the component file (helpers stay).
npx myhippo update button dialognpx myhippo remove dialogConfig (hippo.json)
On first run the CLI asks where to put files. Choose default (components/ui and lib) or custom (pick folders). It writes hippo.json at the repo root:
{
"components": "components/ui",
"lib": "lib"
}Edit this file anytime. The CLI rewrites @/lib/* and @/components/ui/* imports to relative paths matching your config.
Install a theme
Themes are CSS-variable presets. The CLI prompts for your global CSS file, then writes Tailwind 4 imports, the theme variables, and the @theme inline mapping.
npx myhippo theme midnightAvailable: midnight, graphite, claude, sunset, ocean, forest, nord, dracula, mocha, sakura, solarized, monokai.
Agent skill
Install a component-aware skill for Claude Code, Codex, OpenCode, or Cursor. Your agent learns the registry and can add or edit hippo-ui components for you.
npx myhippo skill hippo-uiManual install
Skip the CLI? Open any component page in the docs and copy the source into components/ui/<name>.tsx. Add this helper at lib/cn.ts:
// lib/cn.ts
export function cn(...parts: Array<string | false | null | undefined>): string {
return parts.filter(Boolean).join(" ");
}Use it
Import from your local path. Every component is a plain React component — no provider, no wrapper.
import { Button } from "@/components/ui/button";
export default function Page() {
return <Button>Click me</Button>;
}Theme tokens
Components read CSS variables — --background, --primary, --muted, --border, and more. Install a theme preset with npx myhippo theme <name>, or define your own in app/globals.css. Toggle dark mode with a .dark class on any ancestor.
You own the code
Everything lands in your repo. No package upgrades, no breaking changes, no wrapper API. Rename, refactor, delete — the code is yours.