Conceptos
Marketplaces por publicador
En Modyard no hay un marketplace común. Cada publicador es un marketplace de Claude Code independiente, y eso decide cómo instalas, cómo actualizas y de quién te fías.
4 min de lectura
Un marketplace por publicador
Claude Code instala plugins desde marketplaces: un JSON que enumera plugins y dice de dónde se descarga cada uno. Añades el marketplace una vez y a partir de ahí instalas cualquier plugin suyo con plugin@marketplace.
En Modyard, cada publicador es uno de esos marketplaces. Un publicador es una cuenta, de una persona o de un equipo, que se crea la primera vez que alguien entra con Google. Su marketplace vive en una dirección fija:
https://mods.gonzaloverdugo.com/publishers/<publicador>/marketplace.jsony su name es el slug del publicador. El marketplace de ana se llama ana, y su mod bash-logger se instala como bash-logger@ana:
/plugin marketplace add https://mods.gonzaloverdugo.com/publishers/ana/marketplace.jsonclaude plugin install bash-logger@ana --scope userNo existe un marketplace modyard que lo contenga todo. Todo lo ves en la página de mods, pero instalas desde el publicador.
Por qué no uno grande para todos
Con un solo marketplace te ahorrarías un comando. A cambio, al añadirlo le estarías abriendo la puerta de tu máquina a todos los publicadores del sitio, y bastaría una cuenta comprometida o descuidada para mandar actualizaciones a todo el que lo tuviera.
Con un marketplace por publicador:
- Eliges en quién confías, uno a uno. Añadir el marketplace de
anasignifica aceptar código deanay de nadie más. - El nombre te dice de dónde viene.
bash-logger@anano puede convertirse en silencio en el plugin de otro: lo que va detrás de la@es el publicador que añadiste. - Retirar la confianza es una acción. Quitas el marketplace y no te llega nada más de ese publicador.
- Los slugs reservados evitan suplantaciones. Nadie puede quedarse
anthropic,claude,officialomodyard, así que ningún publicador puede parecer una fuente oficial.
Los nombres de los mods, en cambio, son únicos en todo Modyard y se los queda quien llega primero. No puede haber dos bash-logger de publicadores distintos, y así la búsqueda y los enlaces no dan lugar a dudas.
Qué lleva el marketplace.json
El fichero se genera a partir de los mods del publicador en cada petición, así que siempre enumera la última versión de cada mod visible. Recortado a un solo mod, tiene esta forma:
{
"name": "ana",
"owner": { "name": "Ana" },
"metadata": { "description": "Claude Code mods published by Ana on Modyard" },
"plugins": [
{
"name": "bash-logger",
"version": "0.1.0",
"description": "Shows each Bash command in the status line",
"source": {
"source": "archive",
"url": "https://mods.gonzaloverdugo.com/api/v1/mods/bash-logger/versions/0.1.0/archive.zip",
"sha256": "<hex>"
}
}
]
}Lo importante está en source. Modyard usa la fuente archive: en vez de apuntar a un repositorio git, cada entrada apunta al zip de una versión concreta, acompañado de su sha256.
El archivo y su sha256
Cuando un publicador sube un mod, Modyard no se queda con su zip tal como llega. Genera un archivo canónico, con los ficheros ordenados y las fechas fijas. Los mismos ficheros dan siempre los mismos bytes y, por tanto, el mismo hash. Ese hash se calcula una vez, al publicar, y se escribe en la entrada del marketplace.
Cuando instalas o actualizas, Claude Code descarga el archivo de url y compara su sha256 con el del marketplace antes de instalar nada. Si cambia un solo byte, la instalación falla. Sumado a que las versiones no se pueden modificar, te da una garantía sencilla:
Los ficheros que lees en la ficha del mod para la versión 0.1.0 son los que Claude Code instala para la 0.1.0.
Es una garantía de integridad, no de intenciones. El hash demuestra que recibes lo que el publicador publicó; no dice si lo que publicó es seguro. Eso te toca a ti, con la ayuda de qué puede tocar un mod.
Actualizar
Claude Code lee un marketplace cuando lo añades y cuando lo refrescas. Para recibir las versiones nuevas de un publicador, ejecuta esto dentro de Claude Code:
/plugin marketplace update anaEn Modyard ninguna versión se puede modificar y cada una nueva tiene que ser mayor que la anterior, así que una actualización solo avanza. Si un publicador quiere arreglar la 0.1.0, saca la 0.1.1; no puede cambiarte la 0.1.0 por debajo. Cuando llegue una actualización, la ficha del mod enseña los ficheros de cada versión para que compares qué ha cambiado antes de aceptarla.
Mods ocultos y borrados
Un publicador puede ocultar un mod: sale de la búsqueda y del listado de su marketplace, pero el enlace directo sigue funcionando y se puede seguir instalando por su nombre. También puede borrarlo: desaparecen sus versiones y el nombre queda libre para otro. Si tenías instalado un mod que luego se borra, conservas tu copia pero no recibes más actualizaciones, y un mod nuevo con el mismo nombre vendría del publicador que añadas para él. Otra razón para instalar con nombre@publicador y fijarte en la segunda mitad.
La confianza, en la práctica
Unos pocos hábitos ayudan mucho:
- Añade el marketplace de un publicador solo cuando quieras hacerlo. Primero lee su mod, después lo añades.
- Instala con el alcance más estrecho que te sirva. Con
--scope projectel mod se queda en un repositorio. - Lee antes de actualizar un mod que toca
processes,networkofiles. - Quita los marketplaces que ya no uses desde el menú
/pluginde Claude Code.
Los mods se ejecutan con tus permisos. Modyard te dice quién publicó cada mod y te garantiza que recibes exactamente lo que publicó; decidir si lo ejecutas sigue siendo cosa tuya.