Logoforge

shadcn registry

Every logo is a shadcn registry item. The CLI writes one self-contained component per logo into your project — no package, no runtime dependency.

1. Add the registry (once)

In your project's components.json, declare the @logoforge namespace:

components.json
{
  "registries": {
    "@logoforge": "https://logoforge.terravidhal.me/r/{name}.json"
  }
}

2. Install logos

Terminal
npx shadcn@latest add @logoforge/stripe

# several at once
npx shadcn@latest add @logoforge/vercel @logoforge/supabase @logoforge/github

Each logo lands in components/logos/<logo>.tsx. Without the registry entry you can install from the full URL instead:

Terminal
npx shadcn@latest add https://logoforge.terravidhal.me/r/stripe.json

3. Use it

app/page.tsx
import { StripeLogo } from "@/components/logos/stripe";

export default function Page() {
  return <StripeLogo className="size-10" />;
}

Props and dark mode are covered in React component. The component name is the logo's slug in PascalCase plus Logo — it's shown on every logo page.

Updating a logo

Brands redraw their marks. Re-run the command with --overwrite to pull the current version:

Terminal
npx shadcn@latest add @logoforge/stripe --overwrite

Registry endpoints

Both are static files: no token, no rate limit, CORS open.