cursos:sdd:03-herdr
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| cursos:sdd:03-herdr [2026/10/18 22:48] – Presentación: la lista de agentes es la de la barra lateral; erratas claude | cursos:sdd:03-herdr [2026/10/19 00:22] (actual) – herdr: revisión de coherencia (duplicado de espacios, ejemplos unificados, New worktree, erratas) claude | ||
|---|---|---|---|
| Línea 4: | Línea 4: | ||
| Sirve para lo que pasa en cuanto trabajas con más de un agente a la vez: | Sirve para lo que pasa en cuanto trabajas con más de un agente a la vez: | ||
| - | uno implementando, | + | uno implementando, |
| - | Por eso es importante que herdr enseña en la barra lateral | + | |
| ---- | ---- | ||
| Línea 19: | Línea 18: | ||
| * Windows | * Windows | ||
| - | < | + | < |
| powershell -ExecutionPolicy Bypass -c "irm https:// | powershell -ExecutionPolicy Bypass -c "irm https:// | ||
| </ | </ | ||
| Línea 32: | Línea 31: | ||
| </ | </ | ||
| - | La primera vez sale un asistente que propone | + | La primera vez pregunta si quieres |
| + | |||
| + | {{: | ||
| Se abre la interfaz: a la izquierda la **barra lateral** con los espacios de trabajo y los agentes, y a la derecha el panel con una shell. En esa shell se arranca el agente como siempre: | Se abre la interfaz: a la izquierda la **barra lateral** con los espacios de trabajo y los agentes, y a la derecha el panel con una shell. En esa shell se arranca el agente como siempre: | ||
| Línea 66: | Línea 67: | ||
| </ | </ | ||
| - | Se recarga sin parar a los agentes con **menu → reload config** en la barra lateral. Desde la terminal, '' | + | Se recarga sin parar a los agentes con **menu → reload config** en la barra lateral |
| - | El nombre se le pone al panel con el botón derecho → **Rename pane** (en la [[# | + | El nombre se le pone al panel con el botón derecho → **Rename pane** (en la [[# |
| El nombre sale en el borde del panel y en la primera línea de la lista; debajo, el espacio y el agente: | El nombre sale en el borde del panel y en la primera línea de la lista; debajo, el espacio y el agente: | ||
| <sxh plain> | <sxh plain> | ||
| - | ○ daw-proyecto | + | ○ implementa |
| - | | + | |
| - | ○ sdd | + | ○ revisa |
| - | | + | |
| </ | </ | ||
| ---- | ---- | ||
| - | ===== 2. Cliente y servidor: cerrar no es parar ===== | + | ===== 2. Espacios de trabajo, pestañas y paneles ===== |
| - | + | ||
| - | herdr arranca un **servidor en segundo plano** que es el dueño de los paneles, y la ventana que ves es solo un **cliente** conectado a él. Por eso: | + | |
| - | + | ||
| - | * **Cerrar la terminal no para nada**: los agentes siguen trabajando. | + | |
| - | * Para salir a propósito dejando todo en marcha, '' | + | |
| - | * Para volver, otra vez: | + | |
| - | <sxh bash> | + | |
| - | herdr | + | |
| - | </ | + | |
| - | + | ||
| - | * Para acabar de verdad y parar todos los paneles: | + | |
| - | <sxh bash> | + | |
| - | herdr server stop | + | |
| - | </ | + | |
| - | + | ||
| - | <note important> | + | |
| - | + | ||
| - | Como el servidor sigue vivo, puedes dejar a un agente implementando en el ordenador del instituto, entrar por '' | + | |
| - | + | ||
| - | ==== Guardar un espacio de trabajo y volver a cargarlo ==== | + | |
| - | + | ||
| - | herdr no tiene una orden para guardar: **guarda solo y continuamente** la sesión entera (espacios de trabajo, pestañas, paneles, sus nombres y sus carpetas) en '' | + | |
| - | + | ||
| - | Para tener la distribución de cada proyecto guardada aparte y cargarla cuando toque, se usa una **sesión con nombre**: otro herdr independiente, | + | |
| - | + | ||
| - | * Crear la sesión, o volver a ella si ya existe: | + | |
| - | <sxh bash> | + | |
| - | herdr --session sdd | + | |
| - | </ | + | |
| - | + | ||
| - | * Se montan en ella los espacios, pestañas y paneles del proyecto. No hay que guardar nada. | + | |
| - | * Cerrarla parando sus paneles. Queda guardada: | + | |
| - | <sxh bash> | + | |
| - | herdr session stop sdd | + | |
| - | </ | + | |
| - | + | ||
| - | * Cargarla otro día. Vuelve la misma distribución en las mismas carpetas, y los agentes con su conversación si tienen la integración (sección 5): | + | |
| - | <sxh bash> | + | |
| - | herdr --session sdd | + | |
| - | </ | + | |
| - | + | ||
| - | * Ver las sesiones que hay y cuáles están en marcha: | + | |
| - | <sxh bash> | + | |
| - | herdr session list | + | |
| - | </ | + | |
| - | + | ||
| - | * Borrar una que ya no se usa. Tiene que estar parada: | + | |
| - | <sxh bash> | + | |
| - | herdr session delete sdd | + | |
| - | </ | + | |
| - | + | ||
| - | <note important>'' | + | |
| - | + | ||
| - | <note tip>Si sales con '' | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 3. Espacios de trabajo, pestañas y paneles ===== | + | |
| herdr organiza los terminales en tres niveles: | herdr organiza los terminales en tres niveles: | ||
| Línea 220: | Línea 163: | ||
| <note tip>El menú del panel cambia según el caso: si el panel ya tiene nombre añade **Clear pane name**, y si hay otro panel al lado, **Swap with focused pane**. Las opciones son las mismas, pero no siempre están en la misma posición: léelas antes de pinchar.</ | <note tip>El menú del panel cambia según el caso: si el panel ya tiene nombre añade **Clear pane name**, y si hay otro panel al lado, **Swap with focused pane**. Las opciones son las mismas, pero no siempre están en la misma posición: léelas antes de pinchar.</ | ||
| - | ==== Crear un espacio | + | ==== Gestionar los espacios |
| - | Al arrancar, herdr abre un espacio de trabajo en la carpeta desde la que lo lanzas. Para trabajar en otro proyecto a la vez, se crea otro espacio: | ||
| - | |||
| - | * Crear un espacio de trabajo: clic en **new**, al pie de la lista de espacios de la barra lateral. | ||
| * Cambiarle el nombre: botón derecho sobre el espacio, **Rename**. | * Cambiarle el nombre: botón derecho sobre el espacio, **Rename**. | ||
| * Cerrarlo, con todas sus pestañas y paneles: botón derecho, **Close**. | * Cerrarlo, con todas sus pestañas y paneles: botón derecho, **Close**. | ||
| - | <note important> | + | <note important> |
| <sxh bash> | <sxh bash> | ||
| - | herdr workspace create --cwd ~/ | + | herdr workspace create --cwd ~/ |
| </ | </ | ||
| </ | </ | ||
| Línea 236: | Línea 176: | ||
| ---- | ---- | ||
| - | ===== 4. El estado | + | ===== 3. Worktrees |
| - | Es lo que diferencia a herdr de tmux. Cada agente | + | Un worktree de Git es una carpeta más, así que en herdr es un espacio |
| - | ^ Estado ^ Qué significa ^ Qué haces tú ^ | + | Botón derecho sobre el espacio del proyecto (la opción solo sale si su carpeta es un repositorio Git): |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | El estado | + | |
| - | + | * **Open worktree...**: para un worktree que ya existe; | |
| - | Para saltar directamente al agente que te interesa, '' | + | |
| - | + | ||
| - | <note warning>'' | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 5. Integraciones: | + | |
| - | + | ||
| - | Sin integración, | + | |
| - | + | ||
| - | Lo que se gana: | + | |
| - | + | ||
| - | * **Recuperar la conversación**: | + | |
| - | * **Estado más fiable**: en algunos agentes, OpenCode entre ellos, el agente informa él mismo de si está '' | + | |
| - | + | ||
| - | Qué escribe en cada agente: | + | |
| - | + | ||
| - | ^ Agente ^ Qué instala ^ Dónde ^ Recupera la conversación ^ Informa del estado ^ | + | |
| - | | OpenCode | Un plugin de OpenCode | '' | + | |
| - | | Claude Code | Un //hook// '' | + | |
| - | + | ||
| - | Los plugins de OpenCode están en [[cursos: | + | |
| - | + | ||
| - | Las órdenes, por si no las instalaste en el asistente o instalas un agente después: | + | |
| - | + | ||
| - | | + | |
| - | <sxh bash> | + | |
| - | herdr integration install opencode | + | |
| - | </ | + | |
| - | + | ||
| - | | + | |
| - | <sxh bash> | + | |
| - | herdr integration install claude | + | |
| - | </ | + | |
| - | + | ||
| - | * Ver cuáles tienes instaladas y si están desactualizadas: | + | |
| - | <sxh bash> | + | |
| - | herdr integration status | + | |
| - | </ | + | |
| - | + | ||
| - | * Quitarla, si ya no la quieres. Borra lo que instaló y deja el resto de tu configuración intacta: | + | |
| - | <sxh bash> | + | |
| - | herdr integration uninstall opencode | + | |
| - | </ | + | |
| - | + | ||
| - | <note important> | + | |
| - | + | ||
| - | <note tip> | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== 6. Worktrees de Git ===== | + | |
| - | Si uno de nuestros workspaces es un worktree | + | |
| - | Podemos hacer que todos los worktree de git aparezcan agrupados si abrimos el worktree con el menú de **Open worktree...** del workspace de Herdr. | + | |
| - | + | ||
| - | Para ello pulsamos con el botón derecho sobre el espacio del proyecto → **Open worktree...**, | + | |
| {{: | {{: | ||
| Línea 315: | Línea 195: | ||
| ---- | ---- | ||
| - | ===== 7. El skill de herdr: que un agente maneje | + | ===== 4. El skill de herdr: que el agente maneje |
| - | Lo siguiente que podemos hacer es que desde claude code o opencode podamos decirle que queremos hacer cosas en herdr. Lo único que hay que hacer es añadir a nuestro claude code o opencode | + | Con el skill de herdr, el agente (OpenCode, Claude Code...) puede manejar herdr por ti. Se instala así: |
| <sxh bash> | <sxh bash> | ||
| Línea 322: | Línea 202: | ||
| </ | </ | ||
| - | A partir de ahí, desde OpenCode o claude code dentro de herdr se le puede pedir: | + | A partir de ahí, desde OpenCode o Claude Code dentro de herdr se le puede pedir que abra paneles, lance órdenes en ellos, lea su salida y espere a que terminen. Por ejemplo: |
| + | * Lanzar los tests en otro panel sin quitarte el foco: | ||
| <sxh plain> | <sxh plain> | ||
| - | abre un panel a la derecha con otro opencode que revise specs/ | + | en herdr, |
| </ | </ | ||
| - | El agente | + | * Leer la salida de otro panel y actuar sobre ella: |
| + | <sxh plain> | ||
| + | lee en herdr la salida del panel de los tests y arregla lo que falle | ||
| + | </ | ||
| + | |||
| + | * Arrancar otro agente | ||
| + | <sxh plain> | ||
| + | en herdr, abre un panel a la derecha con otro opencode que revise specs/ | ||
| + | </ | ||
| + | |||
| + | Todo lo que hace queda en sus paneles, a la vista, y puedes intervenir en cualquier momento. | ||
| + | |||
| + | <note warning> | ||
| + | El skill es para pedirle cosas **a mano mientras trabajas**. | ||
| + | Instálalo solo con '' | ||
| + | </ | ||
| - | < | ||
| ---- | ---- | ||
| - | ===== 8. Plugins | + | ===== 5. Usando herdr ===== |
| - | Los plugins añaden flujos | + | ==== La lista de agentes ==== |
| - | * Instalar un plugin. Por ejemplo, el que crea de golpe una distribución | + | Lo que hace útil a herdr es la lista de agentes, abajo a la izquierda bajo **agents**: están **todos los agentes |
| - | <sxh bash> | + | |
| - | herdr plugin install ogulcancelik/ | + | |
| - | </ | + | |
| - | * Ver los instalados: | + | {{: |
| - | <sxh bash> | + | |
| - | herdr plugin list | + | |
| - | </ | + | |
| - | * Ver las acciones de un plugin y ejecutar una: | ||
| - | <sxh bash> | ||
| - | herdr plugin action list --plugin examples.dev-layout-bootstrap | ||
| - | herdr plugin action invoke examples.dev-layout-bootstrap.setup | ||
| - | </ | ||
| - | * Actualizar todos. Para uno solo, se añade su id: | + | ==== El estado de cada agente ==== |
| - | <sxh bash> | + | |
| - | herdr plugin update | + | |
| - | </ | + | |
| - | * Desactivarlo sin desinstalarlo, y volver a activarlo: | + | Cada agente está en un estado, marcado con un punto de color, que dice si te necesita: |
| - | <sxh bash> | + | |
| - | herdr plugin disable examples.dev-layout-bootstrap | + | |
| - | herdr plugin enable examples.dev-layout-bootstrap | + | |
| - | </ | + | |
| - | * Desinstalarlo: | + | ^ Color ^ Estado ^ Qué significa ^ Qué haces tú ^ |
| - | <sxh bash> | + | | <color #40a02b>○</ |
| - | herdr plugin uninstall examples.dev-layout-bootstrap | + | | <color red> |
| - | </sxh> | + | | <color # |
| + | | <color # | ||
| - | Para no escribir la orden cada vez, una acción se asocia a una tecla en '' | ||
| - | <sxh ini; title: ~/ | ||
| - | [[keys.command]] | ||
| - | key = " | ||
| - | type = " | ||
| - | command = " | ||
| - | description = " | ||
| - | </ | ||
| - | Y se recarga | + | Cuando un punto se pone rojo o verde azulado, clic y a atenderlo. |
| + | |||
| + | El estado también **sube** a la lista de espacios de trabajo: un agente '' | ||
| - | <sxh bash> | + | <note warning>'' |
| - | herdr server reload-config | + | |
| - | </sxh> | + | ==== Cerrar herdr ==== |
| - | <note warning> | + | Los agentes no corren dentro de la ventana de herdr, sino en un **proceso aparte** (el servidor de herdr), así que puedes cerrar herdr cuando quieras, aunque la terminal avise de que hay un proceso en ejecución: los agentes siguen trabajando y, al volver a ejecutar |
| ---- | ---- | ||
| - | ===== 9. Atajos de teclado ===== | + | ===== 6. Atajos de teclado ===== |
| '' | '' | ||
| Línea 404: | Línea 276: | ||
| | '' | | '' | ||
| | '' | | '' | ||
| - | | '' | + | | '' |
| ==== Espacios de trabajo ==== | ==== Espacios de trabajo ==== | ||
| Línea 448: | Línea 320: | ||
| ---- | ---- | ||
| - | ===== 10. Enlaces | + | ===== 7. Más información |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[https:// | ||
cursos/sdd/03-herdr.1792356480.txt.gz · Última modificación: por claude
