16. Colaboración entre varias personas
Varias personas pueden trabajar en el mismo proyecto, cada una desde su propia app, en su propio ordenador, con sus roles y por turnos.
Cómo funciona
- Cada persona tiene su app. Cada una instala Team AI Console en su ordenador, con su agente (Claude Code o Codex), su cuenta y suscripción del agente, su licencia y sus credenciales de git. No hay una app central ni un servidor compartido: cada copia de la app trabaja sobre su propia copia del proyecto.
- Un proyecto, un repositorio. Todas las copias son clones del mismo repositorio git. Una persona crea el proyecto y activa la colaboración; las demás se unen desde su app con la dirección del repositorio.
- Cada persona, sus roles. Los roles del equipo se reparten: cada persona reclama los suyos (el analista, el QA, el desarrollador…). Una persona puede llevar varios roles, y todos los roles necesitan dueño para arrancar.
- Por turnos. En cada momento el turno es de un rol, y por tanto de la persona dueña de ese rol. Esa persona escribe en el chat y el agente de su ordenador hace el trabajo; las demás ven el proyecto, los documentos y el paso del flujo, pero no pueden escribir.
- El turno pasa de una app a otra. Cuando el rol termina y el siguiente es de otra persona, se traspasa el turno: la app sube el trabajo al repositorio, la app de la otra persona lo baja, la avisa (“Es tu turno”) y su agente empieza con el contexto del turno anterior. Así sigue el flujo, persona a persona, hasta el final del sprint.
Por ejemplo: Ana tiene los roles de Product Manager y Business Analyst, y Luis los de Tech Lead y Developer. Ana trabaja en su app hasta aprobar el diseño; al traspasar a Tech Lead, la app de Luis le avisa, y Luis continúa en su ordenador con su propio agente, y la app de Ana queda en modo lectura hasta que el turno vuelva a uno de sus roles.
Lo que necesita cada persona: la app instalada, el agente con sesión iniciada, una licencia que incluya Colaborar (y Unirse a un proyecto, para quien se une), git y acceso al repositorio con sus propias credenciales.
Dónde viaja el trabajo
Funciona solo con proyectos en un repositorio git con remoto (GitHub, GitLab, Bitbucket…): los documentos y el código viajan en commits de la rama de código, y el estado del equipo (roles, turno, historial, registro de conversación y log del flujo) en una rama propia de la app, team-ai-console/collab, que solo escribe la app. La app la guarda en su carpeta de datos, fuera del proyecto: la carpeta del proyecto no recibe archivos por la colaboración y tu rama de código no recibe commits de estado.
Preparar el proyecto
- Crea el proyecto en un repositorio git (Nuevo proyecto → En un repositorio git), o convierte la carpeta en un repositorio con remoto. Sin eso la colaboración no se puede activar: la carpeta del proyecto tiene que ser la raíz del repositorio (no una subcarpeta de otro) y tener un remoto. Si un proyecto trae un
collab.jsonantiguo pero no está en git, la app trabaja en modo individual y lo avisa en el panel Equipo. - Proyectos que ya colaboraban (con
collab.jsondentro del código): la primera vez que un administrador los abre, la app pasa el estado a la ramateam-ai-console/collaby lo avisa en el panel Equipo (con Cerrar) y en el chat. El archivo antiguo queda con una nota que apunta a la rama. Hasta entonces, quien no es administrador trabaja en modo individual. - Las demás personas usan Unirse a un proyecto compartido (git)…: pegan la URL del repositorio, eligen la carpeta de destino y pulsan Clonar y abrir. Se usan sus propias credenciales de git (llave SSH o token). La app deja la carpeta en la rama de código del equipo (no en la rama por defecto del remoto) y lo dice en el chat (“El proyecto pasó a la rama X”). Lo mismo al reabrir un proyecto compartido que llevaba tiempo cerrado. Si el remoto no tiene la rama de la app, el proyecto funciona en modo individual.
El panel Equipo
Se abre con la opción Equipo del selector de vista de la barra superior; para volver, elige Chat.
- ¿Quién eres? — la colaboración usa tu identidad de git (nombre y correo). Si no está configurada, el panel la pide.
- Activar la colaboración — crea en el remoto la rama
team-ai-console/collabcon el estado del equipo. Quien la activa es el primer administrador. Si el remoto no deja crear la rama (por ejemplo, por protección de ramas), el panel muestra el error del remoto y qué pedir a quien lo gestiona, y sigues en modo individual. - Rama de código del equipo — la cabecera del panel muestra
⎇ {rama}: la rama en la que trabaja el equipo. - Preparación: reclama tus roles — una tabla con cada rol, su dueño y su estado (libre, pendiente de aprobación, ocupado, turno). Botones: Reclamar, Liberar y, para administradores, Aprobar, Rechazar, Revocar y Asignar a…. Una persona puede tener varios roles.
- Las reclamaciones necesitan aprobación de un administrador — ajuste opcional.
- Arrancar el proyecto — cuando todos los roles tienen dueño. El turno va al primer rol del equipo.
- Personas — miembros y administradores (Hacer admin, Quitar admin, Quitar).
- Peticiones de turno pendientes, con Entregar el turno o, para administradores, Resolver como admin.
- Actividad — quién hizo qué y cuándo.
- Mientras Activar la colaboración, Volver a comprobar o Desactivar la colaboración trabajan con git y el remoto, un aviso en el centro dice qué está haciendo la app (con Ocultar); si falla, muestra el motivo con Reintentar y Cerrar, y si pasa un minuto sin respuesta, avisa de que git está tardando demasiado.
- Modo de trabajo — Desactivar la colaboración (vuelve al modo individual; si ya hay roles reclamados, solo un administrador, con confirmación; el estado de colaboración se guarda en
archive/de la rama de la app por si hace falta consultarlo).
Turnos
- Solo quien tiene el turno puede escribir en el chat; los demás ven el aviso “Turno de {rol} ({persona}). Puedes leer…”.
- Cuando un rol propone continuar con un rol de otra persona, el botón es Traspasar a {rol} ({persona}): la app pide confirmación, añade la conversación del turno al registro compartido (
sessions/de la rama de la app), sube tu rama de código al remoto, traspasa el turno y bloquea tu chat. - Quien recibe el turno recibe una notificación del sistema (“Es tu turno”) y el aviso en el chat. Al empezar su turno, el agente recibe el contexto: quién opera, qué documentos se generaron en el turno anterior y dónde está el registro compartido.
- Pedir el turno — con el chat bloqueado, puedes pedir el turno para uno de tus roles, con un motivo obligatorio. Quien tiene el turno lo aprueba o lo rechaza; un administrador puede resolverlo si no responde.
- El rol activo y el paso del flujo viajan con el turno: cuando el turno pasa a otra máquina, en todas se marca el mismo paso y el mismo rol, y mientras alguien tiene el turno sus cambios de paso se ven en las demás.
- La rama de código viaja con el turno: si quien tiene el turno cambia o crea una rama (por ejemplo,
sprint/NN-xal empezar un sprint), las demás máquinas cambian a ella solas y lo dicen en el chat. Si esa rama aún no está en el remoto, o tienes cambios locales, tu máquina lo avisa en el chat y se queda en su rama; lo vuelve a intentar sola. - El chat Aparte funciona sin tener el turno: no lo pide, no bloquea a nadie y no se añade a
sessions/. Las peticiones que guardes viajan con el siguiente envío del proyecto. - La app sincroniza con el remoto cada pocos segundos y al pulsar el indicador de sincronización, y envía los cambios de cada turno.
Credenciales
Si el repositorio usa HTTPS y git no tiene credenciales guardadas, la app pide usuario y token de acceso (con enlaces a cómo crearlo en Bitbucket, GitHub y GitLab). La app nunca guarda el token: se lo pasa a git una vez y, si marcas Recordar, lo guarda el gestor de credenciales del sistema. Con SSH no hace falta.