components.json
Un seul fichier déclare les deux registries : @geekles (public) et @geekles-pro (authentifié). La CLI shadcn résout chaque add à partir d’ici.
Ajoutez le bloc registries à la racine de votre components.json :
{
"$schema": "https://ui.shadcn.com/schema.json",
"registries": {
"@geekles": {
"url": "https://ui.geekles.dev/r/{name}.json"
},
"@geekles-pro": {
"url": "https://ui.geekles.dev/r/pro/{name}.json",
"headers": {
"Authorization": "Bearer ${GEEKLES_API_KEY}"
}
}
}
}Vous installez ensuite par namespace : @geekles/map-fr (OSS) ou @geekles-pro/cadastre-layer (Pro).
Le registry Pro est gaté : chaque requête doit porter Authorization: Bearer ${GEEKLES_API_KEY}. shadcn lit la syntaxe ${...} et substitue la variable d’environnement à l’exécution — votre clé n’est jamais écrite en dur dans le fichier.
@geekles est public et sans clé — il peut être écrit sous forme courte (juste l’URL) ou longue (objet url).
Définissez GEEKLES_API_KEY dans votre environnement (shell ou .env.local) avant de lancer un add Pro :
GEEKLES_API_KEY=geekles_live_xxx
Gardez .env.local dans votre .gitignore. La clé reste dans l’environnement, jamais dans le repo ni dans components.json.
Si la clé est absente, invalide ou expirée, le registry Pro renvoie un 403 avec un message actionnable, affiché tel quel par la CLI :
{
"error": "Unauthorized",
"message": "Abonnement expiré. Renouvelez sur geekles.dev/billing"
}Seul l’add de nouveaux composants Pro est bloqué. Le détail du flux est sur la page Pricing.