Saltar a contenido

Qué es un Workspace

Un workspace es cómo N45 maneja una aplicación polyrepo — cuando un mismo producto vive en varios repositorios (por ejemplo, un frontend y una api separados) y una feature necesita atravesar más de uno a la vez.

En modo Project trabajás dentro de un repositorio. En modo Workspace coordinás varios — cada repositorio es un miembro, y una feature puede tocar todos los miembros que necesite, planificada y ejecutada desde una sola sesión.

Project vs Workspace

Project (single-repo) Workspace (polyrepo)
Dónde corrés /n45 dentro del repositorio en la carpeta del workspace
Alcance de una feature un repositorio uno o más miembros
Qué coordina el CONTRACT entre los servicios
Dónde viven los roadmaps en el propio repo en cada miembro (un sub-roadmap por miembro)

Una feature puede tocar un solo miembro

No necesitás dos repositorios para usar un workspace. Si la feature toca solo un miembro, N45 sigue normalmente en el workspace — podés agregar más miembros después.

El modelo mental

  • El workspace coordina; los roadmaps viven en los miembros. Cada miembro es un repositorio git independiente con su propia planificación (discovery, spec, roadmap, tasks).
  • La costura entre los servicios es el CONTRACT. Al planificar una feature cross-repo, N45 fija un CONTRACT — los puntos de integración entre los miembros (endpoints, eventos, schemas). Cada miembro implementa su parte honrando el CONTRACT, en paralelo.
  • Cada miembro tiene su propio ritmo. Los miembros no van en lockstep: cada uno corre su propio roadmap, en sus propias fases. N45 junta todo al final, en la validación unificada, para confirmar que los servicios realmente se comunican.
flowchart TD
    WS[Workspace] --> Feat[Una feature cross-repo]
    Feat --> Contract[CONTRACT
la costura entre servicios] Contract --> A[Miembro: frontend
sub-roadmap propio] Contract --> B[Miembro: api
sub-roadmap propio] A --> V[Validación unificada] B --> V V --> Finish[Finalización coordinada]

Cuándo usarlo

  • Usá un Workspace cuando un producto vive en varios repositorios y querés planificar/ejecutar features que los atraviesan como una sola cosa.
  • Usá un Project cuando el trabajo vive en un solo repositorio (incluso un monorepo — un monorepo es un repositorio).

Ver también