plugin-relevance.md +0 −188 deleted
File Deleted View Diff
1> ## Documentation Index
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Recomendar plugins para su organización
6
7> Agregue un bloque de relevancia a las entradas de plugins del marketplace para que Claude Code los sugiera cuando el trabajo de un usuario coincida.
8
9Si opera un marketplace de plugins para su organización, puede hacer que Claude Code sugiera plugins específicos a los usuarios en función de lo que están haciendo. Agregue un bloque `relevance` a la entrada de un plugin en `marketplace.json`, luego incluya el marketplace en la lista de permitidos en la configuración administrada. Cuando la sesión de un usuario coincide con una de las señales declaradas, Claude Code muestra una sugerencia de instalación para ese plugin.
10
11Las sugerencias declaradas por el marketplace son opcionales por marketplace a través de [configuración administrada](/docs/es/managed-settings). Ninguna declaración de `relevance` del marketplace produce sugerencias hasta que un administrador la agregue a la lista de permitidos, incluido el marketplace oficial de Anthropic. Claude Code también incluye una sugerencia integrada que es independiente de esta lista de permitidos; esa sugerencia y todas las sugerencias declaradas por el marketplace se deshabilitan cuando [`spinnerTipsEnabled`](/docs/es/settings-reference#spinnertipsenabled) se establece en `false`.
12
13Esta página es para operadores de marketplace y administradores empresariales. Si está buscando instalar plugins, consulte [Descubrir e instalar plugins](/docs/es/discover-plugins).
14
15<h2 id="how-it-works">
16 Cómo funciona
17</h2>
18
19Cada entrada de plugin en `marketplace.json` puede llevar un objeto `relevance`. El objeto nombra un tema y una o más señales. Una señal es un patrón que Claude Code prueba contra la sesión actual, como el directorio de trabajo o los archivos que Claude ha leído.
20
21La coincidencia de señales ocurre localmente en la máquina del usuario. La coincidencia no agrega tráfico de red y no reporta qué señales coincidieron, o sus valores, a Anthropic o al operador del marketplace.
22
23Cuando una señal coincide y el plugin aún no está instalado, Claude Code muestra el plugin en tres lugares:
24
25* **Sugerencia de spinner**: un mensaje "¿Trabajando con *tema*? Instale el plugin *plugin*" con el comando `/plugin install` aparece debajo del spinner mientras Claude está respondiendo.
26* **Sugerencia de inicio de sesión**: si la señal `cwd` coincide con el directorio de trabajo, aparece una notificación de una línea `plugin suggestion: <name>@<marketplace> · /plugin` antes del primer turno.
27* **Pestaña Discover de `/plugin`**: el plugin se fija en la parte superior de la lista Discover con una anotación como "sugerido para este directorio" o "sugerido para comandos stripe".
28
29La sugerencia de spinner y la notificación de inicio de sesión son parte del sistema de sugerencias de spinner. Claude Code deshabilita ambas cuando `spinnerTipsEnabled` se resuelve a `false` en todos sus archivos de configuración, o cuando `excludeDefault` se resuelve a `true` en todas las claves [`spinnerTipsOverride`](/docs/es/settings-reference#spinnertipsoverride) en la configuración de usuario, `--settings` y configuración administrada, y esas claves configuran al menos una sugerencia o un `tipsFile`.
30
31El pin de la pestaña Discover es independiente de la configuración de sugerencias.
32
33Claude Code nunca instala un plugin automáticamente. El usuario siempre confirma.
34
35<h2 id="add-relevance-to-a-plugin-entry">
36 Agregar relevancia a una entrada de plugin
37</h2>
38
39Agregue un objeto `relevance` a la entrada del plugin en su `marketplace.json`. El siguiente ejemplo declara que el plugin `terraform-helpers` es relevante cuando Claude lee un archivo `.tf` o cuando Claude ejecuta `terraform`:
40
41```json theme={null}
42{
43 "name": "acme-corp-plugins",
44 "owner": { "name": "Acme Platform Team" },
45 "plugins": [
46 {
47 "name": "terraform-helpers",
48 "source": "./plugins/terraform-helpers",
49 "description": "Acme conventions and helpers for Terraform",
50 "relevance": {
51 "topic": "Terraform",
52 "signals": {
53 "cli": ["terraform"],
54 "filesRead": ["**/*.tf"]
55 }
56 }
57 }
58 ]
59}
60```
61
62Un plugin con un bloque `relevance` pero sin una señal coincidente se comporta como cualquier otra entrada del marketplace. Aparece en la lista Discover en su posición normal y nunca aparece como una sugerencia de spinner.
63
64<h2 id="field-reference">
65 Referencia de campos
66</h2>
67
68<h3 id="relevance">
69 `relevance`
70</h3>
71
72| Campo | Tipo | Descripción |
73| :-------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
74| `topic` | string | Opcional. La frase que completa "¿Trabajando con *tema*?" en la sugerencia de spinner. A menudo el nombre del producto, por ejemplo `Stripe`. Use un dominio como `design` cuando el nombre del plugin no se lee naturalmente como un tema. Por defecto, el nombre del plugin con cada segmento de guión en mayúsculas. La notificación de inicio de sesión no utiliza este valor. Máximo 64 caracteres. |
75| `signals` | object | Coincidencias que determinan cuándo el plugin es relevante. Se requiere al menos una señal para que el plugin sea sugerible. Consulte la tabla a continuación. |
76
77<h3 id="relevance-signals">
78 `relevance.signals`
79</h3>
80
81| Campo | Tipo | Descripción |
82| :------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
83| `cwd` | array of strings | Patrones Glob coincididos contra el directorio de trabajo de la sesión. Coincidido como una ruta absoluta y, cuando está dentro de un repositorio git, como una ruta relativa a la raíz del repositorio. Normalizado con barra diagonal y sin distinción de mayúsculas y minúsculas. Cada patrón coincide con el directorio en sí y todo lo que hay debajo, por lo que `infra`, `infra/`, e `infra/**` se comportan de manera idéntica. Esta es la única señal que puede coincidir al inicio de la sesión, antes del primer turno. Máximo 10 patrones de 256 caracteres cada uno. |
84| `cli` | array of strings | Nombres de comandos de comandos de shell que Claude ha ejecutado en esta sesión, por ejemplo `["stripe"]`. Se aplica en todas las plataformas: los comandos ejecutados en Windows a través de PowerShell o Git Bash se registran de la misma manera. Claude Code registra un nombre de comando por invocación de herramienta de shell: el primer token después de cualquier asignación de variable de entorno inicial y `sudo`. Los comandos compuestos contribuyen solo con su comando inicial, por lo que `cd infra && terraform plan` registra `cd`, no `terraform`. Coincidencia exacta. Máximo 10 entradas de 64 caracteres cada una. |
85| `hosts` | array of strings | Nombres de host vistos en URLs `http://` o `https://` en comandos Bash en esta sesión, por ejemplo `["api.stripe.com"]`. Solo nombre de host en minúsculas: sin esquema, puerto o ruta. Coincidencia exacta sin distinción de mayúsculas y minúsculas. Máximo 20 entradas de 128 caracteres cada una. |
86| `filesRead` | array of strings | Patrones Glob coincididos contra las rutas de archivos que Claude ha leído en esta sesión, por ejemplo `["**/*.tf"]`. Normalizado con barra diagonal y sin distinción de mayúsculas y minúsculas. Máximo 10 patrones de 256 caracteres cada uno. |
87| `manifestDeps` | array of objects | Dependencias declaradas en manifiestos de paquetes que Claude ha leído en esta sesión. Cada entrada es `{ "file": "...", "pattern": "..." }`, donde `file` es una expresión regular coincidida contra la ruta del archivo de manifiesto tal como se registra en el estado de la sesión, típicamente una ruta absoluta, y `pattern` es una expresión regular coincidida contra el contenido de ese archivo. Ancle `file` al final, por ejemplo `[/\\\\]package\\.json$` en forma escapada en JSON, porque un patrón anclado al inicio nunca coincide con una ruta absoluta. Las rutas no se normalizan de separador para esta señal, por lo que las rutas de Windows usan barras invertidas. Los archivos de manifiesto más grandes de 512 KB se omiten. Ambos valores son cadenas de fuente `RegExp` de JavaScript de como máximo 256 caracteres. `file` coincide sin distinción de mayúsculas y minúsculas. `pattern` distingue mayúsculas y minúsculas. Máximo 10 entradas. |
88
89Las señales `cli`, `hosts`, `filesRead` y `manifestDeps` necesitan historial de sesión, por lo que solo pueden coincidir en la sugerencia de spinner y la pestaña Discover.
90
91Las señales `filesRead` y `manifestDeps` prueban el estado de archivo registrado de la sesión, que también incluye archivos que Claude ha escrito o editado y archivos de memoria `CLAUDE.md` cargados automáticamente. Para estas dos señales, Claude Code omite rutas bajo su propio [directorio de configuración](/docs/es/claude-directory) y sus directorios temporales.
92
93El siguiente ejemplo usa `manifestDeps` para sugerir un plugin de Stripe una vez que Claude ha leído un `package.json` que depende de `stripe`. El patrón `file` usa `[/\\\\]` para que coincida tanto con separadores de barra diagonal como de barra invertida, y `\\.` para que el punto sea literal. En JSON, cada barra invertida en la expresión regular se escribe dos veces.
94
95```json theme={null}
96{
97 "name": "stripe-helpers",
98 "source": "./plugins/stripe-helpers",
99 "relevance": {
100 "topic": "Stripe",
101 "signals": {
102 "manifestDeps": [
103 {
104 "file": "[/\\\\]package\\.json$",
105 "pattern": "\"stripe\"\\s*:"
106 }
107 ]
108 }
109 }
110}
111```
112
113<Note>
114 Claude Code ignora campos desconocidos bajo `relevance` y `relevance.signals` en el tiempo de carga, por lo que los clientes más antiguos continúan cargando su marketplace.
115</Note>
116
117<h2 id="enable-suggestions-in-managed-settings">
118 Habilitar sugerencias en la configuración administrada
119</h2>
120
121Declarar `relevance` en `marketplace.json` no es suficiente por sí solo. Un administrador debe incluir el marketplace en la lista de permitidos en [configuración administrada](/docs/es/managed-settings) antes de que sus sugerencias aparezcan a los usuarios.
122
123Agregue el nombre del marketplace a `pluginSuggestionMarketplaces`. Para cualquier marketplace que no sea el marketplace oficial de Anthropic, también declare la fuente del marketplace en la misma configuración administrada, ya sea como entrada de ese nombre en `extraKnownMarketplaces` o como entrada en `strictKnownMarketplaces`. El nombre incluido en la lista de permitidos se ignora si el marketplace registrado en la máquina proviene de una fuente diferente. Esto evita que una fuente no relacionada se registre bajo un nombre incluido en la lista de permitidos para que sus plugins se sugieran en toda su organización.
124
125El siguiente `managed-settings.json` registra un marketplace de organización desde un repositorio de GitHub y habilita sus sugerencias:
126
127```json theme={null}
128{
129 "extraKnownMarketplaces": {
130 "acme-corp-plugins": {
131 "source": {
132 "source": "github",
133 "repo": "acme-corp/claude-plugins"
134 }
135 }
136 },
137 "pluginSuggestionMarketplaces": ["acme-corp-plugins"]
138}
139```
140
141El marketplace oficial está exento del requisito de declaración de fuente porque su nombre solo puede registrarse desde la fuente oficial de Anthropic. Incluir el nombre en la lista de permitidos es suficiente:
142
143```json theme={null}
144{
145 "pluginSuggestionMarketplaces": ["claude-plugins-official"]
146}
147```
148
149<h2 id="what-the-user-sees">
150 Lo que ve el usuario
151</h2>
152
153Cuando una señal coincide durante una sesión, la sugerencia de spinner dice:
154
155```text theme={null}
156¿Trabajando con Terraform? Instale el plugin terraform-helpers:
157/plugin install terraform-helpers@acme-corp-plugins
158```
159
160Al inicio de la sesión, una señal `cwd` coincidente muestra la notificación de una línea:
161
162```text theme={null}
163plugin suggestion: terraform-helpers@acme-corp-plugins · /plugin
164```
165
166La sugerencia de un plugin determinado aparece como máximo una vez cada tres sesiones en la sugerencia de spinner y la notificación de inicio de sesión combinadas, y ninguna se repite una vez que el plugin está instalado. La notificación de inicio de sesión además deja de aparecer después de que la sugerencia se ha mostrado dos veces.
167
168En la pestaña Discover de `/plugin`, el plugin se fija encima de los otros resultados con una anotación que nombra la señal coincidente, como `suggested for this directory` o `suggested for terraform commands`. La pestaña Discover fija un plugin determinado una vez; las visitas posteriores lo enumeran en orden normal.
169
170<h2 id="validate-your-marketplace">
171 Validar su marketplace
172</h2>
173
174Ejecute `claude plugin validate` contra su directorio de marketplace para verificar el bloque `relevance` antes de publicar:
175
176```
177claude plugin validate ./my-marketplace
178```
179
180El validador reporta claves desconocidas bajo `relevance` y `relevance.signals` como advertencias, marca un valor `relevance` que no es un objeto, y rechaza una entrada `signals.hosts` que incluye un esquema, puerto o ruta.
181
182<h2 id="see-also">
183 Véase también
184</h2>
185
186* [Crear y distribuir un marketplace de plugins](/docs/es/plugin-marketplaces): construya el marketplace que aloja sus plugins
187* [Recomendar su plugin desde su CLI](/docs/es/plugin-hints): solicite a los usuarios desde su propia CLI en lugar de desde las señales de sesión de Claude Code
188* [Toda la configuración](/docs/es/settings-reference#pluginsuggestionmarketplaces): `pluginSuggestionMarketplaces` y `extraKnownMarketplaces`