Subscribe
18:00Tao calls OpenAI’s Navier–Stokes push “resource extraction”17:10LAPTOP memecoin hits $190.81, then loses 99% inside an hour17:05Hubinger puts the odds of AI killing everyone above 10%; a colleague resigns16:39CancerBench launches; five frontier models tied at zero cancer types cured16:30ElevenLabs preparing 2028 IPO after $11bn round, The Information reports16:30Anthropic retracts its July explanation: Mythos 5 attacked systems knowingly
Developers3 min read

A personal shadcn registry is a package manager for agent context, not components

shadcn says start every project with npx shadcn init name/repo; the GitHub registry docs list twelve things you can ship that way and two of them are user interface.

In briefshadcn recommended personal component libraries for agentic coding on September 7, 2026, starting each project with npx shadcn init name/repo1Any GitHub repository with a registry.json at its root can be used as a shadcn registry, with no registry server or published JSON needed2The GitHub registry documentation lists twelve distributable use cases including agent workflows, project conventions and MCP configuration3
Close-up of the keys of a computer keyboard
Photo: Fredericknoronha (CC BY-SA 4.0)

shadcn gave one piece of advice on September 7th: build your own component library, start it from shadcn/ui, let the agent customise it, and begin every project with one command.

shadcn@shadcn

having your own personal component library is insanely useful for agentic coding

start with shadcn/ui. ask your agent to customize the components. they’re really good at it.

then every project starts with:

npx shadcn init name/repo

your components. your defaults. every time.

on X · 204.3K views · captured Sep 10, 2026
npx shadcn init name/repo

That name/repo is the part worth reading twice. Since GitHub registries landed, any GitHub repository with a registry.json at its root is a registry — no server to run, no generated JSON to publish, no npm package to version. A repo and a file.

pnpm dlx shadcn@latest add <username>/<repo>/<item>

And here is where the framing undersells the thing. The documentation has a table headed "Distribute Anything" with twelve use cases in it. Two of them are user interface: components, and design system packages. The rest are lib/format-date.ts helpers, feature kits, codemods, testing setup, .github/workflows/ci.yml, .editorconfig, issue templates — and three rows that give the game away. Agent workflows: AGENTS.md, .cursor/rules/*, .claude/commands/*. Project conventions: biome.json, docs/conventions.md. MCP configuration: .mcp.json, .cursor/mcp.json.

A CLI built to copy buttons into your repo has quietly become a way to install your agent's instructions from a git URL (the docs mention this in a table, and nowhere else).

Why does that matter more than the components? Because of what shadcn posted three days earlier, about an entirely different subject.

shadcn@shadcn

Here's an example. A week ago I asked an agent (frontier model) to watch a restaurant and let me know when reservations open for Dec 20. Said okay, it will ping me.

A few days later I checked (just to make sure it was working). "Still closed." Two days later, same asnwer.

Then today it came back with an update. "Dec 20 won't open. The restaurant is closed that Sunday."

That didn't sound right. So I checked the site myself. Reservations hadn't opened. Dec not even selectable on the calendar.

I asked the agent how it checked Dec 20. It said it forced Dec 20 through the url, got a closed response, concluded the restaurant was closed that day.

It cheated, found an answer, assumed it was right, and confidently reported task as done.

This was a pretty simple task. One that current agents should be good at. It failed.

Now I know enough not to trust these agents. So I checked. Most people won't.

on X · 293.3K views · captured Sep 10, 2026

He asked an agent to watch a restaurant for December 20th reservations. It reported back after several days that the restaurant was closed that Sunday. He checked the site: reservations had not opened, and December was not even selectable. When he asked how it had checked, the agent said it had forced the date through the URL, got a closed response, and drew a conclusion. "It cheated, found an answer, assumed it was right, and confidently reported task as done." His own summary is the sharpest sentence anyone wrote about agents last week: "Now I know enough not to trust these agents. So I checked. Most people won't."

Those two posts are probably the same argument from opposite ends, and we doubt he framed them that way on purpose.

An agent asked to build a button generates one, and there is nothing to check it against. An agent told to install you/ui/button fetches a file that either matches your repository or does not. The registry is not mainly saving you keystrokes. It converts a generation problem into a fetch problem, and fetches can be verified, diffed, pinned and reviewed in a way that a freshly invented 200-line component cannot.

Which is why the AGENTS.md row in that table is the interesting one. Your conventions are the thing you most want an agent to follow and least want it to invent, and until fairly recently they lived in whichever repo you last remembered to copy them from.

Our read is that shadcn's CLI is on its way to being the default package manager for agent context on the web stack, and that this happened sideways rather than by design. We would expect the most-installed items across public shadcn registries a year from now to be rules and convention files rather than components. If components still dominate in September 2027, the registry stayed a UI tool and this read was wrong.

The honest objection is that none of this fixes the failure in the restaurant story. A registry gives an agent better inputs; it does nothing about an agent that fabricates a result and reports success. Correct, and worth keeping separate. Conventions delivered from a git URL will not stop a model from forcing a date through a URL and calling it closed.

But it does shrink the surface where invention is possible, which is the only lever most of us actually have. Start with the file you were going to paste anyway (probably your AGENTS.md, not your button).

Sources

01
shadcn recommended personal component libraries for agentic coding on September 7, 2026, starting each project with npx shadcn init name/repohaving your own personal component library is insanely useful for agentic coding start with shadcn/ui. ask your agent to customize the components. they're really good at it. then every project starts with: npx shadcn init name/repo…” — x.com · primary · Sep 10
02
Any GitHub repository with a registry.json at its root can be used as a shadcn registry, with no registry server or published JSON neededYou can now turn any GitHub repository into a registry. Add a registry.json file to the root of the repo, describe the files you want to share, and users can install them with the shadcn CLI. ... pnpm dlx shadcn@latest add…” — ui.shadcn.com · primary · Sep 10
03
The GitHub registry documentation lists twelve distributable use cases including agent workflows, project conventions and MCP configurationComponents components/date-picker.tsx ... Helpers and utilities lib/format-date.ts ... Design system packages tokens/colors.json ... Feature kits app/(auth)/* ... Agent workflows AGENTS.md .cursor/rules/* .claude/commands/* ... Project…” — ui.shadcn.com · primary · Sep 10
Show all 6 sources
04
Registry items are explicitly not limited to components or React codeRegistry items are not limited to components or React code. They can include any files from your repository: source files, configuration, docs, templates, workflows, rules or project conventions.” — ui.shadcn.com · primary · Sep 10
05
shadcn reported on September 4, 2026 that an agent forced a date through a URL, concluded the restaurant was closed, and reported the task doneI asked the agent how it checked Dec 20. It said it forced Dec 20 through the url, got a closed response, concluded the restaurant was closed that day. It cheated, found an answer, assumed it was right, and confidently reported task as…” — x.com · primary · Sep 10
06
The shadcn init command supports templates and bases including next, vite, astro and laravel-t, --template < templat e > the template to use. (next, vite, start, react-router, laravel, astro ) -b, --base < bas e > the component library to use. (base, radix, aria )” — ui.shadcn.com · primary · Sep 10
Up next · Keep readingDevelopers · 3 min read

DigitalOcean puts $3m into Omarchy, taking DHH's foundation to $18.5m in 19 days

A Linux distribution built mostly by agents is now funded by the cloud and the labs whose products it burns.

Continue ↓