---
title: Introduction
description: Run your own code registry.
---

You can use the `shadcn` CLI to run your own code registry. Running your own registry allows you to distribute your custom components, hooks, pages, config, rules and other files to any project.

<Callout>
  **Note:** The registry works with any project type and any framework, and is
  not limited to React.
</Callout>

<figure className="flex flex-col gap-4">
  <Image
    src="/images/registry-light.png"
    width="1432"
    height="960"
    alt="Registry"
    className="mt-6 w-full overflow-hidden rounded-2xl border dark:hidden"
  />
  <Image
    src="/images/registry-dark.png"
    width="1432"
    height="960"
    alt="Registry"
    className="mt-6 hidden w-full overflow-hidden rounded-2xl border shadow-sm dark:block"
  />
  <figcaption className="text-center text-sm text-gray-500">
    A distribution system for code
  </figcaption>
</figure>

Ready to create your own registry? In the next section, we'll walk you through setting up your own custom registry step-by-step, from creating your first component to publishing it for others to use.

<div className="mt-6 grid gap-4 sm:grid-cols-2">
<LinkedCard
  href="/docs/registry/getting-started"
  className="items-start text-sm md:p-6"
>
  <div className="font-medium">Getting Started</div>
  <div className="text-muted-foreground">
    Set up and build your own registry
  </div>
</LinkedCard>

<LinkedCard href="/docs/registry/github" className="items-start text-sm md:p-6">
  <div className="font-medium">GitHub</div>
  <div className="text-muted-foreground">
    Turn a GitHub repository into a registry
  </div>
</LinkedCard>

<LinkedCard
  href="/docs/registry/namespace"
  className="items-start text-sm md:p-6"
>
  <div className="font-medium">Namespaces</div>
  <div className="text-muted-foreground">
    Configure registries with namespaces
  </div>
</LinkedCard>

<LinkedCard
  href="/docs/registry/authentication"
  className="items-start text-sm md:p-6"
>
  <div className="font-medium">Authentication</div>
  <div className="text-muted-foreground">
    Secure your registry with authentication
  </div>
</LinkedCard>

<LinkedCard
  href="/docs/registry/examples"
  className="items-start text-sm md:p-6"
>
  <div className="font-medium">Examples</div>
  <div className="text-muted-foreground">Browse example registry items</div>
</LinkedCard>

<LinkedCard
  href="/docs/registry/registry-json"
  className="items-start text-sm md:p-6"
>
  <div className="font-medium">Schema</div>
  <div className="text-muted-foreground">
    Schema specification for registry.json
  </div>
</LinkedCard>
</div>
