Claude Code ya tiene soporte nativo para Worktrees (y es muy bueno)

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Claude Code ha recibido una cantidad increíble
00:00:02de actualizaciones recientemente, desde el soporte SSH de Claude Desktop,
00:00:05vistas previas de apps e integración con GitHub
00:00:07hasta el modo simple en la terminal,
00:00:09que elimina habilidades, complementos y herramientas personalizadas,
00:00:11facilitando las tareas básicas.
00:00:13Pero la mayor actualización, por mucho, es el soporte nativo de worktrees,
00:00:16lo que significa que tus agentes pueden trabajar en múltiples funciones
00:00:18o correcciones de errores de forma aislada
00:00:20sin que tengas que configurar nada manualmente.
00:00:23Pero, ¿se lanzó esto demasiado pronto,
00:00:25visto que muchos desarrolladores ya tienen problemas básicos?
00:00:28Suscríbete y vamos a verlo.
00:00:30Usar los worktrees de Git con agentes de programación no es nada nuevo.
00:00:33De hecho, Claude Desktop ya lo permite hace tiempo,
00:00:35y hay muchos complementos o herramientas que lo soportan,
00:00:37como Claude Squad, sobre el cual ya hicimos un vídeo.
00:00:41Pero una de las razones por las que yo personalmente no lo usaba
00:00:43es porque hacerlo manualmente puede aumentar la carga mental,
00:00:46y espero que esta nueva función en Claude Code
00:00:49me lo haga mucho más fácil.
00:00:50Vamos a probarlo.
00:00:51Aquí tenemos una app básica de tareas hecha con Claude en React.
00:00:54Para propósitos de prueba, yo no crearía esta aplicación
00:00:56por ningún otro motivo que no fuera testear.
00:00:58Pero bueno, me gustaría añadir un interruptor de modo oscuro
00:01:01porque esto me está deslumbrando.
00:01:02También me gustaría añadir la capacidad de guardarlo
00:01:04en el almacenamiento local, porque si refresco, no se guarda.
00:01:07Y me gustaría añadir la posibilidad de editar las tareas.
00:01:10Normalmente, pondría todas esas funciones en un solo prompt:
00:01:12modo oscuro, almacenamiento local
00:01:14y la capacidad de editar tareas.
00:01:16El problema es que si una de estas funciones tuviera un error,
00:01:20tendría que trabajar en todo el conjunto,
00:01:22retrasando el lanzamiento de las otras funciones
00:01:25porque todo está en el mismo PR o en la misma rama.
00:01:28Pero con los worktrees,
00:01:28puedo trabajar en estas funciones en ramas separadas
00:01:31al mismo tiempo en mi máquina local
00:01:33sin tener que hacer ninguna configuración manual.
00:01:35Y si hay un problema con una de estas funciones,
00:01:37puedo subir las otras dos
00:01:39y trabajar en esa específicamente en su propia rama.
00:01:41Dejadme enseñaros cómo hacerlo.
00:01:42Si ejecuto Claude Code con el flag -w,
00:01:45me creará un worktree
00:01:47con un nombre aleatorio elegido por Claude.
00:01:49¿Espera, “Lacan”?
00:01:50Vale.
00:01:52Pero si quisiera darle un nombre a mi worktree,
00:01:54pondría el nombre después del flag -w,
00:01:56como haré aquí debajo.
00:01:58Esto me crea un nuevo worktree por aquí,
00:02:00y también crea una nueva rama,
00:02:02pero no borra el worktree anterior que creamos.
00:02:05Tenedlo en cuenta
00:02:06si acabáis creando muchos worktrees temporales.
00:02:08podemos ver nuestro worktree
00:02:11podemos ver nuestro worktree
00:02:13y todos los archivos de código asociados a él.
00:02:15Nota: los worktrees solo funcionan
00:02:16si vuestro proyecto tiene Git inicializado
00:02:18y habéis hecho al menos un commit.
00:02:20Ahora puedo implementar todas las funciones
00:02:22de este proyecto en diferentes worktrees.
00:02:24Ya han terminado las tres funciones
00:02:26y aquí vemos que el interruptor de modo oscuro funciona.
00:02:29En este otro no hay modo oscuro,
00:02:31pero puedo editar la tarea.
00:02:32Añadiré una nueva y la cambiaré aquí.
00:02:35Y en el de almacenamiento local parece haber un problema,
00:02:38pero este es el beneficio de los worktrees:
00:02:40puedo ver que los otros dos funcionan bien.
00:02:43Así que podría subirlos o crear un pull request,
00:02:44centrarme en este con el error
00:02:46y usar una sesión dedicada de Claude Code
00:02:48para solucionar el problema.
00:02:49Y cuando termine con el worktree,
00:02:51puedo conservarlo para volver a él más tarde
00:02:53o eliminarlo de mi sistema.
00:02:54Si decidiera conservarlo,
00:02:55podría volver exactamente al mismo worktree
00:02:58si especifico el nombre, como podéis ver aquí.
00:03:00Incluso podría retomar sesiones desde mi worktree actual
00:03:03o pulsar Control + W para ver todas las sesiones del proyecto.
00:03:06Aunque no estoy muy seguro de
00:03:07cómo identifica la sesión actual,
00:03:08ya que ahora mismo estoy en la rama principal.
00:03:11Hablando de la sesión actual,
00:03:12si quisierais trabajar desde el directorio del worktree,
00:03:15podríais navegar directamente a él
00:03:16usando cd .claude/worktrees y demás,
00:03:19o podríais ejecutar worktrees con el flag --tmux,
00:03:21que os llevará directo a ese directorio.
00:03:23Y si abro un nuevo panel dividido,
00:03:26veréis que estoy en ese worktree
00:03:27y puedo navegar por sus archivos específicos.
00:03:30Pero lo más genial de los worktrees
00:03:31es que admiten sub-agentes,
00:03:33lo que significa que puedo tener diferentes sub-agentes
00:03:35trabajando en múltiples funciones en ramas distintas
00:03:38dentro de la misma sesión de Claude Code.
00:03:40Y si queréis soporte de worktrees en sub-agentes personalizados,
00:03:42para que se cree uno automáticamente,
00:03:45solo tenéis que añadir “isolation: worktree”
00:03:48en el front matter y Claude se encargará del resto.
00:03:50En general, estoy muy impresionado con esta función
00:03:52y es algo que definitivamente
00:03:54voy a empezar a usar más,
00:03:55especialmente con los nuevos hooks de worktree
00:03:57que permiten usarlos sin Git,
00:04:00como SVN, Jujutsu, etc.,
00:04:02y también ejecutar scripts automáticamente
00:04:04cuando creas un nuevo worktree.
00:04:05Pero desafortunadamente, parece que mucha gente
00:04:08ha tenido problemas con los worktrees
00:04:09desde las últimas actualizaciones de Claude Code
00:04:11debido a lo que parece ser un feature flag roto.
00:04:13Por suerte, puedes hacer que Claude Code arregle su propio binario
00:04:17como medida temporal,
00:04:18pero esperemos que el equipo saque un arreglo oficial pronto
00:04:21para que más gente disfrute de esta increíble función.
00:04:24Hablando de funciones increíbles,
00:04:25si eres desarrollador de React y quieres una herramienta CLI
00:04:28para detectar automáticamente antipatrones de React,
00:04:31echa un vistazo a este vídeo de Andris
00:04:33donde explica React Doctor.

Key Takeaway

La integración nativa de worktrees en Claude Code revoluciona el flujo de trabajo de los desarrolladores al permitir que agentes de IA gestionen múltiples tareas en paralelo de forma totalmente aislada y automatizada.

Highlights

Claude Code introduce soporte nativo para Git worktrees

Timeline

Introducción y Novedades de Claude Code

El video comienza enumerando las actualizaciones recientes más significativas de Claude Code, incluyendo el soporte SSH y la integración con GitHub. El narrador destaca el nuevo 'modo simple' en la terminal, diseñado para facilitar las tareas básicas al eliminar complementos innecesarios. Sin embargo, se identifica el soporte nativo de worktrees como la actualización más importante hasta la fecha por su capacidad de aislamiento. Esta función permite que los agentes trabajen en correcciones de errores sin configuraciones manuales complejas. El segmento plantea la duda sobre si el lanzamiento fue prematuro debido a ciertos problemas reportados por la comunidad de desarrolladores.

El Concepto de Worktrees y la Reducción de Carga Mental

En esta sección, se explica que el uso de worktrees con agentes de programación no es una idea nueva, citando herramientas previas como Claude Squad. El narrador confiesa que anteriormente evitaba esta técnica debido a la alta carga mental que suponía la gestión manual de las rutas. La nueva función en Claude Code promete simplificar este proceso drásticamente para el usuario final. Se establece la expectativa de que la herramienta tome el control de la logística de Git. Esto marca el inicio de una demostración práctica para validar estas promesas de eficiencia.

Demostración Práctica: App de Tareas y Desarrollo Paralelo

El presentador utiliza una aplicación de tareas básica creada en React para mostrar cómo implementar tres funciones nuevas: modo oscuro, almacenamiento local y edición de tareas. Tradicionalmente, trabajar en todas estas funciones en una sola rama causaría retrasos si una de ellas presentara errores. Gracias a los worktrees, es posible desarrollar cada característica en ramas y directorios separados simultáneamente en la máquina local. El beneficio clave es la capacidad de realizar un Pull Request para las funciones terminadas sin esperar a las que aún están en depuración. Este flujo de trabajo mejora la velocidad de entrega y la organización del código fuente.

Comandos, Configuración y Gestión de Sesiones

Aquí se detalla el uso técnico del comando Claude Code con el flag -w para iniciar un nuevo worktree. Se observa cómo Claude asigna nombres creativos, como "Lacan", a los espacios de trabajo, aunque el usuario puede definir nombres personalizados. Es fundamental recordar que el proyecto debe tener Git inicializado y al menos un commit previo para que esta función opere correctamente. El narrador muestra el resultado final donde el modo oscuro y la edición funcionan, mientras que el almacenamiento local falla, validando la utilidad del aislamiento. Finalmente, se explica cómo conservar o eliminar estos entornos temporales según las necesidades del desarrollador.

Navegación Avanzada, Sub-agentes y Hooks

Este segmento explora funciones avanzadas como el uso del flag --tmux para navegar directamente al directorio del worktree de forma automática. Se introduce la potente capacidad de utilizar sub-agentes que trabajan de forma independiente en sus propios entornos aislados dentro de la misma sesión. Para activar esto en agentes personalizados, se debe incluir la línea "isolation: worktree" en la configuración del front matter. Además, se mencionan los nuevos hooks que extienden el soporte a sistemas como SVN o Jujutsu y permiten ejecutar scripts automáticamente al crear un entorno. Esta flexibilidad posiciona a Claude Code como una herramienta versátil para diversos ecosistemas de desarrollo.

Problemas Conocidos y Conclusión

El video concluye abordando los problemas técnicos que algunos usuarios han experimentado debido a un feature flag defectuoso en las versiones recientes. Como solución ingeniosa y temporal, se sugiere pedirle a Claude Code que repare su propio archivo binario. El autor expresa su esperanza de que el equipo de Anthropic lance un parche oficial pronto para estabilizar la experiencia general. Para terminar, se recomienda otro recurso audiovisual sobre React Doctor, una herramienta CLI para detectar antipatrones en proyectos React. El tono final es optimista respecto al futuro de las herramientas de desarrollo asistidas por IA.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video