The easiest way to add prebuilt UI components from pumki-ui to your project.
Works with npm, pnpm, yarn, and bun — cross-platform, fast, and developer-friendly.
- Features
- Installation
- Quickstart
- Usage
- Doctor Command
- Example
- Components
- Troubleshooting
- Contributing
- License
- One-liner component install
- Auto-detects and uses your package manager
- Fetches components directly from pumki-ui
- Built on top of shadcn/ui ecosystem
- Cross-platform support: macOS, Linux, Windows, WSL
- Lightweight and blazing fast
Pumki works with projects that use shadcn/ui + Tailwind CSS.
You must initialize shadcn once in your project:
npx shadcn@latest initThis sets up:
components.json- Tailwind integration
- required project structure
💡 You can verify your setup anytime using:
npx pumki doctorNo installation needed — run directly with your package manager:
npx pumki add <component-name>
npx pumki add stats-carouselpnpm dlx pumki add stats-carouselyarn dlx pumki add stats-carousel# macOS/Linux
bunx pumki add stats-carousel
# or (works everywhere)
bun x pumki add stats-carousel
# Windows (PowerShell/CMD) — use this:
bun x pumki add stats-carouselNote: bunx is a symlink available on macOS/Linux. On Windows, use bun x.
If you want to avoid typing npx every time:
# npm
npm i -g pumki
# pnpm
pnpm add -g pumki
# yarn
yarn global add pumki
# bun
bun add -g pumkiThen you can run:
pumki add stats-carouselAdd any component from Pumki-UI into your project in one line:
npx pumki add stats-carouselThat’s it. Pumki fetches the component JSON from pumki-ui and scaffolds it into your project.
# Add a component by name
npx pumki add <component-name>
# Example
npx pumki add stats-carousel💡 Tips:
- Component names map to entries in pumki-ui.
- Want shorter commands? → Install globally and just run
pumki add ….
check if your project is properly configured:
npx pumki doctorExample output:
✔ Project detected
✔ React found
✔ Tailwind configured
✖ shadcn/ui is not initialized
⚠ Missing dependencies: clsx, tailwind-merge
Fix suggestions:
- Run: npx shadcn@latest init
- Install: npm install clsx tailwind-mergeCommand:
npx pumki add stats-carouselOutput:
✨ Adding stats-carousel from Pumki-UI...
✔ Component added successfully!
Browse the full catalog:
-
Command not found
- If installed globally, make sure you used:
npm i -g pumki - Then run:
pumki add <component> - If installed locally, run with
npx(or your package manager’s equivalent):npx pumki add <component>
- If installed globally, make sure you used:
-
Permission errors on global install (macOS/Linux)
- Try:
npm i -g pumki --unsafe-perm - Or use a Node version manager (nvm, fnm)
- Try:
-
Wrong package manager being used
- Pumki auto-detects, but you can ensure a lockfile (
package-lock.json,pnpm-lock.yaml,yarn.lock,bun.lockb) exists before running. - If none exist, it defaults to npm.
- Pumki auto-detects, but you can ensure a lockfile (
-
shadcn not initialized
❌ shadcn/ui is not initialized- Fix:
npx shadcn@latest init
-
npm error ENOTEMPTY / npx issues
- Fix:
npm cache clean --force - Or delete:
C:\Users\<your-user>\AppData\Local\npm-cache\_npx
- Fix:
- Global install → use pumki add
- Otherwise → use npx pumki add
Ensure lockfile exists:
- package-lock.json
- pnpm-lock.yaml
- yarn.lock
- bun.lockb
If you hit an issue, please open an issue with your OS, Node version, package manager, and command used.
Contributions are welcome!
- Fork this repo
- Create a feature branch
- Commit your changes
- Push and open a PR 🎉
MIT © Ansh Singh Sonkhia
If you find Pumki useful, consider starring the repo to support the project. 🌟