Ballmac UI home

How Ballmac UI works

Why Ballmac UI is a registry you install from, not a package, and what that means for ownership, updates and collisions.

On this page

Ballmac UI is a standard shadcn registry. The shadcn CLI copies an item's source into your project, so you read it, change it and own it. There is no runtime dependency on Ballmac UI to keep up to date.

You own the code

Copy-paste libraries give you the code once, and then you are on your own: fix a bug upstream and your copy never gets it, re-add the component and you lose your edits. The ballmac CLI remembers what it installed and merges new versions into your edited copies, with the item's own change notes beside each version.

Nothing collides

Everything installs into components/ballmac, so it never overwrites your shadcn/ui files. Each item declares the npm packages it imports and the registry items it builds on, such as @ballmac/motion-presets or shadcn's utils. The CLI installs them for you, and every build checks that declared dependencies match the actual imports. File locations are in the registry reference.

One design language

Primitives, effects, AI interfaces and developer components share tokens, spacing, focus states and motion curves. They follow your theme in light and dark, because they read the standard shadcn CSS variables. See theme tokens.

Effects with manners

Globes, beams and particles pause off-screen, stop for reduced motion and keep your page accessible. How motion works.

Updates are never silent

Components are your code once installed, so updates never happen silently. You compare before you overwrite, with npx shadcn@latest add @ballmac/button --diff, or let ballmac update merge.

Verified before every release

Each release installs every item into a fresh Next.js app, then type-checks and builds it, and every item is loaded in a real browser with the results published, including failures. What the quality measurement covers.

A registry for your own team

This is the same setup we build for clients: your components, in your brand, installable with one command and available to AI agents over MCP. Talk to us about it.