Installation
OonkooUI rides on your shadcn setup — components install as plain files you own. npx oonkoo init wires everything; if your project isn't shadcn-initialized yet, it takes care of that too.
Create a project
Skip this if you already have one — create-next-app ships Tailwind out of the box:
❯ npx create-next-app@latest my-app --typescript --tailwind --eslint --app ❯ cd my-app
Initialize OonkooUI
❯ npx oonkoo init # no components.json? it offers `npx shadcn@latest init` first ✔ Registered @oonkoo in components.json
Add your first component
❯ npx oonkoo add border-beam → npx shadcn@latest add @oonkoo/border-beam ✔ Created components/oonkoo/border-beam.tsx # plain shadcn works too — same registry, same files ❯ npx shadcn@latest add @oonkoo/border-beam
Then import it like any local component — it's your file now:
import { BorderBeam } from "@/components/oonkoo/border-beam";What does oonkoo init do?
Idempotent — run it any time; it only touches what's missing.
components.json
Merges the @oonkoo registry entry — your other registries are untouched.
.env.local
Signed in? Your API key is scaffolded so pro installs work immediately.
.gitignore
Ensures .env.local never lands in a commit.
Using pro components? Run npx oonkoo auth once, and oonkoo buy <name> handles checkout → license → install without leaving the terminal. The CLI guide has the full flow.
Next steps
Learn the CLI commands or start browsing components.