Marketplace privado de Claude Code en GitHub o GitLab por SSH
Hola, bienvenido. En esta lección vamos a subir los repos claude-plugins y helpdesk a un remoto privado, y vamos a declarar el marketplace y el plugin team en el settings.json de helpdesk. A partir de aquí, el plugin le llega a cada persona del equipo por el mismo camino que el código: un repo git que solo puede leer el equipo y la clave SSH que cada uno ya usa para hacer git push.
Antes de subir nada, vamos a ver cómo clona Claude Code un marketplace privado y qué forma de URL acepta, porque de eso depende que los 2 comandos que vamos a escribir en el README de helpdesk funcionen en la máquina de todos.
Cómo clona Claude Code un marketplace privado
Cuando añades un marketplace, instalas un plugin o lo actualizas, Claude Code ejecuta el git de tu máquina con las preguntas interactivas desactivadas, y usa las credenciales que tu máquina ya tiene. No tiene un token propio, y marketplace.json no tiene ningún campo para guardar uno. Si git necesita preguntarte algo, como la frase de paso de tu clave o tu usuario y contraseña, el clonado falla en vez de preguntar.
De ahí salen los requisitos de cada protocolo:
- Por SSH, tu clave tiene que funcionar sin pedirte la frase de paso, por ejemplo porque está cargada en
ssh-agent, y el servidor tiene que estar ya en tuknown_hosts, el archivo en el que ssh guarda las claves de los servidores en los que confías. - Por HTTPS, tu gestor de credenciales de git tiene que tener ya guardada una credencial para ese servidor. En GitHub, eso es
gh auth loginy despuésgh auth setup-git.
Un token en una variable de entorno, como GITHUB_TOKEN, no basta por sí solo. Solo autentica a través de un gestor de credenciales que lo lea, como el de la CLI gh.
En este curso vamos a usar SSH. Cualquiera que trabaje en los repos del equipo ya tiene su clave configurada para hacer git push, así que no le pedimos nada nuevo. Para comprobar que tu clave responde sin preguntar, ejecuta ssh -T [email protected] en cualquier pestaña. GitHub contesta con Hi <tu usuario>! You've successfully authenticated, but GitHub does not provide shell access. y la conexión se cierra. Si te pide la frase de paso, añade la clave al agente con ssh-add antes de seguir.
- 02La única forma de URL que acepta: git@host:ruta.git
- 03El repo privado en GitHub o GitLab
- 04Subir claude-plugins con su tag
- 05Declarar el marketplace y el plugin en helpdesk
- 06El README de helpdesk con los 2 comandos