yummaui copies component files into your project. It is never a dependency, so there is nothing to install and nothing to keep up to date.
pnpm dlx yummaui <command>
init
Writes yummaui.json. It detects your framework, package manager and import alias first, then asks where components should live.
pnpm dlx yummaui init
| Option | |
|---|---|
--force | Overwrite an existing config |
add
Copies one or more components in. Name a component, or a block by its own id.
pnpm dlx yummaui add button
pnpm dlx yummaui add dialog tooltip
pnpm dlx yummaui add dialog-sign-in
pnpm dlx yummaui add --all
| Option | |
|---|---|
-a, --all | Add every component |
--overwrite | Replace files that already exist |
-y, --yes | Skip prompts and take the defaults |
Blocks are not included in --all. Each one pulls the components it is built from, so adding every block would write every component several times over. Name a block to get it.
Anything a component needs from npm is listed after the copy, with the option to install it using the package manager the project already uses.
list
pnpm dlx yummaui list
pnpm dlx yummaui list button
With no argument, prints every component and block. With a component name, prints that component and the blocks built on it.
prune
Finds component files nothing in your project reaches.
pnpm dlx yummaui prune
pnpm dlx yummaui prune --write
| Option | |
|---|---|
--write | Delete, instead of only listing |
-y, --yes | Skip the confirmation |
Only files add wrote are ever candidates. Your own components in the same
folder are never touched.
A block imports the component it is built on, so "is anything importing this file" would keep a whole unused chain alive: an unused button-group-pill makes button look used. prune asks whether a file is reachable from outside your components directory instead. Adding dialog-sign-in and never using it leaves dialog, checkbox and field unused too, and all four are reported.
Listing is the default. Deleting takes --write and a confirmation.
yummaui.json
{
"componentsDir": "components/ui",
"alias": "@/components/ui",
"registry": "https://yummacss.com/ui/r"
}
| Field | Meaning |
|---|---|
componentsDir | Where components are written, relative to the project root |
alias | The import prefix for that directory, or null to use relative imports |
registry | Where components are fetched from |
There is no record of what you installed, and none is needed: componentsDir is the answer.
Registry
The registry is static JSON published by this site.
https://yummacss.com/ui/r/index.json every component and block
https://yummacss.com/ui/r/<id>.json one component's source and dependencies
Point registry at your own copy to serve components from somewhere else.