Customizing the Shadcn Vercel Registry template FROM v0?

Apologies but I’m a bit new to Vercel/v0 (and shadcn!), but can’t seem to find an answer. I was working through the v0 Docs and came across the Design System section, which explained Vercel has a nice Shadcn Registry (design system template basically?) that we can easily clone, and then reference from v0.

That’s beautiful - but what I’m trying to use v0 to modify/customize my registry, which best I can tell is what you’re supposed to do? Obviously the template has starters for things like blocks and components which we’d want to go about updating to match our site. In my case I have one major design system for our product (that our product team would lean on), and another design system which would be shared between a lot of small projects.

Understanding (based on my digging) that you can only create/sync NEW Github repos from v0, I tried to get clever and create a new one from v0, then copy everything from the Registry into it (got this hint from a staff members recent post), but it’s not going well… It errors out and I can’t seem to get it ailgned.

Any help would be appreciated. It certainly seems like a design system driving v0 is incredible, but while I could likely use something like Claude Code to customize the Registry, that obviously seems a bit silly since we’re trying to lean on v0 for the actual designs…

Any help would be sincerely appreciated guys! Beautiful product, early but amazing - keep it up. <3

What is your existing design system written in? The git sync approach should generally work unless you’re importing some libraries that v0 can’t handle

Another possibility for errors is the recent update from Tailwind 3 to 4 – this is rolling out as we speak but you’ll need to make sure the correct version is mentioned in your package.json for v0 to pick up the correct one

My design system in this context is a clone of the Shadcn registry template that Vercel provides. We used Figma previously, but we’re trying to adopt Shadcn because you guys provide the template and it works so well with v0, and updating that template via AI would be amazing.

So I cloned your template, but want to customize it WITH v0, as it’s own v0 project. Once that is done, I would use the “open in v0” buttons that you guys provide to reference that registry in a new v0 project.

So in terms of what’s erroring - I created a tiny project, cleared it, and put your own registry in it, and it errored out - endlessly. What would be AMAZING, is if you guys could create a community project (so we could all clone it) of the Shadcn Registry. I’d love to help out with that any way I can.

Note that I was able to use Claude Code to update that Shadcn Registry, but that means I’m stuck using Claude Code to update my design system, and v0 for actual design - which seems silly. Also, Claude Code was nice enough to break all the links back to v0. :melting_face:

We just shipped this post, may be helpful:

I’ll take a look at the registry starter and see how tricky it is to get it moved into v0, hard part will be the compilation for sure

However long term (more than a month) we have some first class features cooking that should make building registries in v0 way easier

I would be happy to help in any way I can. We’re considering a big move for our platforms to the Vercel world and (mostly) loving v0 (except when a backend/db is involved, ughhhhhh - I may have avoided your advice about not berating the AI). This would be a huge huge huge for us.

Feel free to reach out privately, happy to collab if I can be useful. Still haven’t found anything work-about on my own, but will try digging into Tweakcn today. So far Claude Code has been the closest and I’d really like to avoid doubling my tool chain for front-end.

Just shipped it here, give it a shot and let me know how it goes

If you can deploy smoothly enough, I’d recommend then taking it to git sync and porting your existing components into it that way, then letting them sync back up into v0

First of all - I SINCERELY appreciate the effort - seriously.

That said, thus far I haven’t had luck, this is what my deployment looks like:

To be fair, I’m new here and trying to find my way - but so far no luck. It asked for a Deployment ID, which I eventually found - but it didn’t seem to do anything/make a difference.

Also just to understand - this appears to be a very different Shadcn registry than the Vercel one? (it doesn’t have blocks/components, just privatives, I think?).

Again, appreciate you working with me (hopefully ‘us’) on this Jacob!

That output was intentional – the idea was you work on it visually inside v0, then hit deploy and you get the hosted JSON registry with your components

But the way it works now there’s nothing stopping me from making it work visually in prod too so I just pushed that fix up. You can either grab the latest, or go to app/page.tsx and just remove the deployment ID check that redirects to /registry

Other notes

  • you do not need to set the deployment ID inside v0, the production server just uses that to fingerprint the assets. Unfortunately there’s no way to tell v0 that an environment variable it finds in the code is not actually necessary
  • this is not the exact registry starter from shadcn. That one compiles to the file system which I can’t do in v0, so this is a new starter that compiles to Vercel Blob. I’ve currently loaded it up with the shadcn component set, but there’s nothing different about Blocks

You can install components like this, using your production URL instead of mine after you deploy.

npx shadcn@latest add https://shadcn-v0.vercel.app/registry/items/button

If you can share a bit more about what kind of blocks you want to add, I can add those to the template too