Mi método para las integraciones externas: Claude Code web, sin IDE ni desarrollo local

Hola a todos,

Tras el comentario de @pierre-gilles, muchos aún no se han dado cuenta de lo fácil que hace Claude el desarrollo. Aquí os muestro cómo hago mis integraciones externas y cómo corrijo vuestros errores, a menudo en el mismo día :wrench:

Un pequeño detalle importante: no soy desarrollador. Si yo puedo, vosotros también podéis :wink:


Lo que no necesito

Todo lo que un desarrollador suele usar, yo no lo utilizo:

  • No desarrollo localmente
  • No uso IDE
  • No instalo Node ni Docker en mi equipo
  • No hago commits manuales

Esto es justo lo que @pierre-gilles señalaba: muchos desarrolladores siguen trabajando así, cuando ya no es obligatorio.

Lo que hago en su lugar

  • Describo la necesidad en francés, con palabras sencillas
  • Claude Code web hace todo el resto en el repositorio de GitHub: el código, la solicitud de extracción, la fusión y el lanzamiento
  • También me prepara la respuesta para publicar en el foro
  • Yo sigo los comentarios y pruebo cuando tengo el dispositivo

Funciona también desde el teléfono, y puedo lanzar varias correcciones a la vez.


Las bases comunes a mis 24 repositorios

  • Verificación del manifiesto en cada solicitud de extracción, con los mismos controles que la tienda
  • Pruebas automáticas en Node 22 y 24, lint y formato
  • Construcción de la imagen Docker
  • Dependabot para las actualizaciones
  • Un lanzamiento de GitHub por versión, con su registro de cambios
  • Documentación en francés e inglés

Resultado: un error se detecta antes de llegar a la tienda.


Cómo empiezo una integración

Mientras espero el próximo SDK, le doy este mensaje a Claude Code web, en un repositorio de GitHub vacío:

En este repositorio, en la rama main, quiero que crees una integración externa "Dyson".
Empieza con la plantilla oficial de integración: https://github.com/GladysAssistant/integration-template-js
No olvides SECURITY.md, CHANGELOG.md y CLAUDE.md
No olvides la etiqueta cloud y/o local
Configura los mismos flujos de trabajo que https://github.com/prohand/gladys-devmel
No olvides los widgets, los disparadores y las acciones de escena

¿Por qué cada línea?

  • La plantilla oficial: la estructura esperada por Gladys se respeta desde el principio
  • SECURITY.md: explica cómo informar de una vulnerabilidad
  • CHANGELOG.md: guarda el registro de cada versión
  • CLAUDE.md: las reglas del proyecto para Claude, revisadas en cada nueva sesión
  • Etiqueta cloud / local: indica en la tienda si la integración necesita Internet
  • Los flujos de trabajo de gladys-devmel: pruebas, controles de la tienda, imagen Docker y lanzamientos, ya listos
  • Widgets, disparadores, escenas: si no, Claude se limita a menudo a los dispositivos

Solo hay que reemplazar « Dyson » por vuestra integración.


Un error, de A a Z (ejemplo real con Dyson)

1. Publicas un comentario

@mutmut ha probado la integración Dyson y ha publicado un comentario detallado, con capturas:

2. Le doy el mensaje a Claude Code web

Pego el enlace del mensaje del foro, en el repositorio correcto, y le pido que haga todo: la corrección, la solicitud de extracción, la fusión y el lanzamiento.

Claude lee el comentario, busca la causa en el código, corrige, añade las pruebas, actualiza la documentación y el registro de cambios.

3. Claude abre una solicitud de extracción

Cada comentario del foro se convierte en una solicitud de extracción. El título dice a qué mensaje responde.

En la solicitud de extracción, Claude explica qué se ha corregido, qué ha cambiado y qué se ha añadido. También indica qué no ha podido probarse en un dispositivo real.

Por ejemplo, se puede ver que encontró por qué los valores PM eran diferentes de Matter: la integración leía la serie de medidas equivocada del Dyson.

4. Los controles automáticos pasan

Pruebas, lint, controles de la tienda, imagen Docker: todo se verifica en la solicitud de extracción, luego después de la fusión.

Son estos controles los que me permiten dejar que Claude llegue hasta el final solo.

5. Claude fusiona y publica la versión

Fusiona la solicitud de extracción y lanza el lanzamiento: la versión de GitHub, su registro de cambios y la imagen Docker se publican. La nueva versión llega a la tienda.

6. Claude prepara la respuesta del foro

Le pido una respuesta para el foro, y solo tengo que pegarla. Dice qué se ha corregido, por qué, y qué hacer después de la actualización.

Todas mis respuestas sobre el tema Dyson se han hecho así.


El resultado en Dyson

  • 1.0.0 el 10 de octubre por la noche, 1.4.0 el 11 por la noche
  • 5 solicitudes de extracción, una por comentario de @mutmut
  • Corregido en el camino: botón « Actualizar » ausente, valores PM falsos, IP local ignorada, widget retrasado, nombres en inglés…
  • Y no tengo un Dyson en casa :sweat_smile:

Los límites

  • Claude puede equivocarse: de ahí los controles automáticos… y vuestras pruebas
  • Sin el dispositivo, me baso en lo que envía: vuestros comentarios valen oro
  • Algunos problemas vienen del núcleo de Gladys. En este caso, propongo una corrección a Gladys (ej. PR #3188 para los colores de las baldosas)

Para empezar (desarrollador o no)

  • Crea un repositorio de GitHub vacío, abre Claude Code web y vincula tu cuenta de GitHub
  • Dale el mensaje de inicio de arriba, con el nombre de tu integración
  • Empieza pequeño: una integración sencilla, luego un error, una traducción, una prueba
  • Configura los controles automáticos antes de dejar que Claude fusione solo: es tu red de seguridad
  • Al principio, revisa las solicitudes de extracción para entender qué hace Claude

Cómo ayudarme (probadores)

  • Un tema por integración en el foro, o un issue de GitHub
  • Indica: modelo, versión de la integración, local o cloud
  • Añade capturas y los registros, sin correo electrónico, IP ni número de serie

Cuanto más preciso sea tu comentario, más rápida será la corrección. Gracias a todos los probadores, y a @mutmut en particular :folded_hands:

¡Qué bien, gracias por compartir! :smiley:

¡Está muy bien explicado! Gracias @prohand

Por mi parte, soy aún más perezoso… y le pido a Claude que haga cosas adicionales.
En este contexto, utilizo Claude en un mini-PC que tengo en casa (el mismo en el que tengo Frigate que gestiona mis cámaras).

La ventaja de usarlo en este mini-PC en comparación con las sesiones en la nube, es que tiene acceso a muchas más cosas.
Por lo tanto, le he dado acceso a mi cuenta en el foro, lo que significa que, por mi parte:

  • lee todos los días los mensajes en los hilos de mis integraciones externas
  • si hay nuevos mensajes, los analiza, codifica las correcciones si es necesario, publica una versión y, una vez que todos los tests están en verde, publica un mensaje en el foro para informaros.

De la misma manera, le he dado acceso a mi repositorio de GitHub para que pueda crear él mismo lo que necesita.
Por lo tanto, si le pido a Claude: « crea una integración de Vigilancia de lluvias ácidas », irá a verificar que nadie haya anunciado ocuparse de ello en el foro, recuperará todo lo que necesita, creará la integración y escribirá un tema en el foro… Sin mí.

Pereza total :wink:

@guim31 ¡Puedes hacer todo eso en sesiones de Cloud también!

No lo había pensado (¿o hay que autorizarle los dominios?).
De todos modos, uso mucho el de mi mini-PC porque puede gestionar todos mis dispositivos en casa :wink:

Sí, hay que autorizar todos los dominios, eso es vital incluso para desarrollar, si no, no puede acceder a la documentación, etc…

Lo he puesto por defecto en la organización Gladys Assistant Anthropic :slight_smile:

Puedes verificar aquí :

¡Gracias por compartir! ¡Genial!

@pierre-gilles Acabo de tener una idea « loca » que sería el siguiente paso: crear el « Lovable » de Gladys :grinning_face_with_smiling_eyes: (algo como studio.gladysassistant.com). ¿Un usuario común no encuentra su integración en la tienda? Describe su necesidad, la herramienta lo ayuda a crearla, probarla y publicarla, sin cuenta de GitHub ni Claude.
Con un modo « plan » para ayudarlo a precisar su idea antes de iniciar la creación.

Podríamos explorar un asiento Claude a través del programa de startups, si las condiciones lo permiten, con un límite de tasa, por supuesto. La idea: hacer que la creación de integraciones sea accesible directamente desde Gladys para cualquiera.

EDIT: o reservado para usuarios Gladys Plus

Gracias por compartir tu método @prohand. ¿Es necesario un cuenta de Claude de pago, o también funciona con una cuenta gratuita? Probablemente con un límite en el número de tokens que hará que sea menos rápido, pero no tengo prisa por la idea de extensión que tengo…

Sí, necesitas una cuenta de pago de Claude para poder usar Claude Code
Al principio usé el plan Pro a 20€ al mes
Ahora uso un asiento de equipo Premium gracias a @pierre-gilles que pudo conseguirlo gracias a una oferta de Claude

@prohand: ¡Excelente explicación! Eso era lo que me faltaba. Vengo de otro mundo. Los últimos años estuve sentado en mi mesa soldando chips ESP32, a los que con gran esfuerzo les enseñé Matter over Thread y luego los implementé en mi casa. (¡Qué tonterías hacemos cuando nos pica el gusanillo :slight_smile:

Así que he tomado una decisión: lo voy a probar, porque no puede ser que podamos obtener los horarios de transporte de cualquier ciudad canadiense importante, pero no podamos ni siquiera conseguir un tren de Frankfurt a Hamburgo :wink:

Es decir, voy a intentar hacer algo para el ámbito de habla alemana, es decir, en referencia a las empresas de transporte canadiense, lo mismo para Alemania, Suiza y Austria.

También echo de menos el Servicio Meteorológico Alemán y el Ministerio Federal de Medio Ambiente, que proporcionan información detallada (en algunos casos a nivel municipal) sobre la contaminación del aire y los pólenes. Aquí también me pondría a trabajar para Alemania, Suiza y Austria.

Pero todo muy pequeño al principio y he notado que, en caso de problemas, toda la comunidad aquí te echa una mano.

Hasta mi primer intento,

Saludos

Tom

Sí, no hay problema, adelante y si necesitas ayuda siempre habrá alguien para ayudarte.

Y si tienes ideas de integración que quieras, pon el nombre y alguien podrá ocuparse de ello también. Tenemos 2 personas, @prohand y @guim31, que van demasiado rápido, ya no podemos seguirlos.

Hola Tom,

Si alguna vez tengo una integración para el transporte público suizo que debería llegar hoy :wink: Ya está lista.

A+