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/githubEach 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.json3. 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 --overwriteRegistry endpoints
- Index: /r/registry.json
- One item:
/r/<logo>.json— e.g. /r/stripe.json
Both are static files: no token, no rate limit, CORS open.