Update components without losing your edits
The new ballmac CLI merges new versions into your edited copies, and installs the tests that ship with components.

New
npx @ballmac/cliruns the shadcn CLI for you and remembers what it installed (ballmac.lock.json), soballmac updatemerges a new version into your edited copy: untouched files are replaced, edits elsewhere are merged and overlapping edits become conflict markers. See Update components without losing your edits.ballmac outdatedlists what is behind with a note on what changed,ballmac diffshows your own changes, andballmac trackadopts items you installed with plain shadcn. Originals are backed up first and--dry-runpreviews everything.- 200 free items ship with the test we run on them:
ballmac add dialog --with-testsinstalls it next to the component, with the packages it needs and a vitest config if you have none. See Install the tests. - The MCP server gets
get_changes(what changed since a version, breaking changes flagged) andget_tests.
Improved
- Every item has a version and a changelog written for people who customised the file; component pages show them under What changed.
- A build check fails when an item's files change without a version bump and a changelog entry.
