registry
@automindzsheets 01–77shadcn 4.x

Three steps, then never write it again

Public registry — no token, no auth headers. One line per app, one command per item.

paste into your agent

Point the CLI at us

once per app

{
  "registries": {
    "@automindz": "https://components.automindz.app/r/{name}.json"
  }
}

{name} is filled in by the CLI — leave it exactly as written, and that one line covers all 77 items. No components.json yet? Run npx shadcn@latest init -b base first — and read the two rows below before you do.

-b base, not -b radix
Every item is written against Base UI — shadcn 4's default — because that is what your components/ui primitives will be. On a radix project the same primitives take asChild and delayDuration where ours pass render and delay, and the install typechecks red. Your components.json should say "style": "base-*".
check --font-sans after init
On an app that already declares a font variable of its own — --font-geist-sans, what create-next-app writes — the CLI adds --font-sans: var(--font-sans) to your @theme and leaves layout.tsx alone. Nothing defines --font-sans, so the whole app silently falls back to the browser serif. Point it at the font you actually load: --font-sans: var(--font-geist-sans).

Install

once per item

Dependencies resolve themselves: the auth card brings the SSO buttons, the pricing table brings the checkout route. shadcn primitives come from your style, so they match the app they land in. Skipping step 1 is fine too — add https://components.automindz.app/r/auth-card.json works standalone.

Configure, don't edit

behaviour is data

lib/automindz/sso-providers.ts
Which providers appear, their labels and order, which are temporarily unavailable.
lib/automindz/pricing.ts
Tiers, prices, features, real Stripe Price IDs. The checkout route accepts nothing that is not in here.
lib/automindz/support-topics.ts
The support topics and what each one says.
props
Session- and database-shaped data — nav, user, organisations, billing, table columns. Not file-shaped, so it never became a file.
your globals.css
Theming. Nothing installed references this site's palette; the components take your shadcn tokens.
server items
Install by URL from any folder, no components.json — npx shadcn@latest add https://components.automindz.app/r/<name>.json. ~/ in a target is the folder you ran the command from. Then run the shipped test.

Hand it to an agent

the whole point

An agent that installs beats an agent that regenerates. Every item page has a Copy agent prompt button — install command, files, dependencies, env vars, wiring, and what the component already handles so the loading and failure states do not get rebuilt from scratch. It is generated from registry.json, so it cannot drift from what the item installs.

Two routes fail closed

on purpose

app/api/checkout/route.ts
Accepts only Price IDs present in your pricing config, and clamps quantity — a tampered client cannot buy an arbitrary price or 10,000 seats. Needs STRIPE_SECRET_KEY and NEXT_PUBLIC_APP_URL.
app/api/billing-portal/route.ts
Answers 501 until you implement getCustomerIdForRequest against your session. It must never read the customer id from the request body — that would let any caller open someone else's billing portal.
SSO
Auth-library agnostic. Pass onSignIn and wire better-auth, next-auth or your own; without it the buttons navigate to next-auth's default provider route.

Everything installable

77 items