Skip to main content
Claude Code peut suggérer l’installation d’un plugin depuis la marketplace de votre organisation lorsque la session d’un utilisateur correspond aux signaux que vous définissez pour ce plugin. Les signaux incluent le répertoire de travail, les fichiers que Claude a lus et les commandes que Claude a exécutées. Vous les définissez en ajoutant un bloc relevance à l’entrée du plugin dans marketplace.json. Un opérateur de marketplace écrit les entrées relevance. Un administrateur autorise ensuite la marketplace dans les paramètres gérés. Les utilisateurs ne voient aucune suggestion d’une marketplace tant qu’elle n’est pas autorisée.
Ces cas sont couverts sur d’autres pages :
Commencez par les sections correspondant à votre rôle :

Comprendre le fonctionnement de la pertinence des plugins

Chaque entrée de plugin dans marketplace.json peut inclure un objet relevance. L’objet nomme un sujet et un ou plusieurs signaux. Un signal est un motif que Claude Code teste par rapport à la session actuelle, comme le répertoire de travail ou les fichiers que Claude a lus. La correspondance des signaux se fait localement sur la machine de l’utilisateur et n’ajoute aucun trafic réseau. Claude Code ne signale pas à Anthropic ou à l’opérateur de marketplace quels signaux ont correspondu ou leurs valeurs. Lorsqu’un signal correspond et que le plugin n’est pas déjà installé, Claude Code suggère le plugin aux endroits suivants :
  • Spinner tip : un message avec la commande /plugin install apparaît sous le spinner pendant que Claude répond.
  • Notification au démarrage de la session : si un signal cwd correspond au répertoire de travail, une notification d’une ligne apparaît avant que l’utilisateur n’envoie un premier message.
  • Onglet Discover de /plugin : le plugin est épinglé en haut de la liste Discover.
Aperçu de ce que l’utilisateur voit montre le texte exact de chacun et la fréquence à laquelle ils se répètent. Claude Code n’installe jamais le plugin automatiquement. L’utilisateur confirme toujours. Le spinner tip et la notification au démarrage de la session cessent tous deux d’apparaître lorsque l’utilisateur ou le projet définit spinnerTipsEnabled sur false, ou lorsqu’un spinnerTipsOverride avec excludeDefault remplace les conseils intégrés. L’épingle de l’onglet Discover n’est affectée par aucun de ces paramètres.

Ajouter la pertinence à une entrée de plugin

Ajoutez un objet relevance à l’entrée du plugin dans votre marketplace.json. L’exemple suivant déclare que le plugin terraform-helpers est pertinent lorsque Claude lit un fichier .tf ou exécute terraform :
Tant qu’aucun de ses signaux ne correspond, le plugin conserve sa position normale dans la liste Discover et n’apparaît pas comme un spinner tip. Pour vérifier le bloc avant la publication, validez votre marketplace.

Référence des champs

L’objet relevance et son objet signals imbriqué acceptent les champs des tableaux suivants. Les clients plus anciens chargent toujours une marketplace qui utilise des champs relevance qu’ils ne reconnaissent pas, car les champs inconnus sous relevance et relevance.signals sont ignorés au moment du chargement. Un champ reconnu dont la valeur dépasse sa limite dans la référence des champs invalide l’entrée de plugin entière, et les utilisateurs ne peuvent pas installer ce plugin depuis la marketplace tant que vous ne le corrigez pas ; claude plugin validate signale les mêmes limites.

relevance

Le topic est souvent le nom du produit, par exemple Terraform. Utilisez un domaine tel que design lorsque le nom du plugin ne semble pas naturel comme sujet.

relevance.signals

L’objet signals accepte les champs suivants. Les signaux filesRead et manifestDeps correspondent également aux fichiers que Claude a écrits ou modifiés cette session et aux fichiers de mémoire CLAUDE.md chargés automatiquement du projet.

Correspondance du répertoire de travail

cwd est le seul signal qui peut correspondre au démarrage de la session, avant que l’utilisateur n’envoie un premier message. Claude Code correspond à chaque motif cwd comme suit :
  • Le motif est comparé au répertoire de travail en tant que chemin absolu. Lorsque la session se trouve dans un référentiel git, il est également comparé au chemin du répertoire de travail par rapport à la racine du référentiel.
  • La correspondance est normalisée par barre oblique avant et insensible à la casse.
  • Chaque motif correspond au répertoire lui-même et à tout ce qui se trouve sous lui, donc infra, infra/ et infra/** se comportent de manière identique.

Correspondance des noms de commandes

Claude Code enregistre un nom de commande pour chaque commande shell que Claude exécute : le premier jeton après toute assignation de variable d’environnement de début et sudo. Les commandes composées ne contribuent que leur commande de début, donc cd infra && terraform plan enregistre cd, pas terraform.

Correspondance des dépendances de manifeste

Chaque entrée manifestDeps associe deux chaînes source JavaScript RegExp :
  • file : comparée insensible à la casse au chemin du fichier de manifeste. Le chemin est généralement absolu, donc ancrez le motif à la fin plutôt qu’au début. Les chemins ne sont pas normalisés par séparateur pour ce signal, donc les chemins Windows utilisent des barres obliques inverses.
  • pattern : comparée sensible à la casse au contenu de ce fichier.
L’exemple suivant utilise manifestDeps pour suggérer votre plugin une fois que Claude a lu un package.json qui dépend du package npm de votre SDK, nommé your-sdk ici.
Dans cet exemple, le motif file utilise [/\\\\] pour qu’il corresponde à la fois aux séparateurs de chemin barre oblique avant et barre oblique inverse, et \\. pour que le point soit littéral. En JSON, chaque barre oblique inverse dans l’expression régulière est écrite deux fois.

Valider votre marketplace

Dans votre shell, exécutez claude plugin validate sur votre répertoire de marketplace pour vérifier le bloc relevance avant la publication :
Le validateur signale les erreurs et les avertissements sur le bloc relevance, y compris ceux-ci :
  • Signale les clés inconnues sous relevance et relevance.signals comme des avertissements
  • Signale une valeur relevance qui n’est pas un objet
  • Rejette une entrée signals.hosts qui inclut un schéma, un port ou un chemin
Chaque résultat s’affiche avec le chemin du champ qu’il concerne, et la sortie se termine par Validation passed, Validation passed with warnings ou Validation failed.

Activer les suggestions dans les paramètres gérés

Les utilisateurs ne voient aucune suggestion d’une marketplace tant qu’un administrateur ne l’autorise pas dans les paramètres gérés, même lorsque son marketplace.json déclare relevance. Pour autoriser une marketplace, modifiez vos paramètres gérés comme suit :
  • Ajoutez le nom de la marketplace à pluginSuggestionMarketplaces.
  • Pour toute marketplace autre que la marketplace officielle d’Anthropic, déclarez également la source de la marketplace, soit comme entrée de ce nom dans extraKnownMarketplaces, soit comme entrée dans strictKnownMarketplaces.
Sur une machine où la marketplace n’est pas enregistrée, ou est enregistrée sous le nom autorisé à partir d’une source différente, aucune suggestion de celle-ci n’apparaît. La vérification de la source empêche une source non liée de s’enregistrer sous un nom autorisé pour que ses plugins soient suggérés dans toute votre organisation. Le managed-settings.json suivant enregistre une marketplace d’organisation à partir d’un référentiel GitHub et active ses suggestions :
Le nom de la marketplace officielle ne peut s’enregistrer que depuis la source Anthropic officielle, il n’a donc besoin d’aucune déclaration de source. Pour la marketplace officielle, autorisez le nom seul :

Aperçu de ce que l’utilisateur voit

Lorsque le signal relevance d’un plugin correspond pendant une session, le conseil sous le spinner se lit comme suit :
Lorsqu’un signal cwd correspond au démarrage de la session, la notification d’une ligne se lit comme suit :
Dans l’onglet Discover de /plugin, le plugin est épinglé au-dessus des autres résultats avec une annotation qui nomme le signal correspondant, tel que suggested for this directory ou suggested for terraform commands. Claude Code limite la fréquence à laquelle il suggère un plugin donné :
  • La suggestion apparaît au maximum une fois tous les trois sessions, combinant le conseil du spinner et la notification de démarrage de session.
  • La notification de démarrage de session cesse d’apparaître une fois que le conseil du spinner et la notification ont montré le plugin un total combiné de deux fois.
  • Ni le conseil du spinner ni la notification de démarrage de session ne se répètent une fois que le plugin est installé.
  • L’onglet Discover épingle le plugin la première fois que l’utilisateur ouvre l’onglet tandis que les signaux du plugin correspondent. Claude Code enregistre cela dans ~/.claude.json, de sorte que chaque fois ultérieure que l’utilisateur ouvre /plugin sur cette machine, le plugin apparaît dans l’ordre normal.

Voir aussi