Skip to content

What is a Workspace

A workspace is how N45 handles a polyrepo application — when a single product lives across several repositories (for example, a separate frontend and api) and a feature needs to span more than one of them at once.

In Project mode you work inside one repository. In Workspace mode you coordinate several — each repository is a member, and a feature can touch as many members as it needs, planned and executed from a single session.

Project vs Workspace

Project (single-repo) Workspace (polyrepo)
Where you run /n45 inside the repository in the workspace folder
A feature's reach one repository one or more members
What it coordinates the CONTRACT between the services
Where the roadmaps live in the repo itself in each member (one sub-roadmap per member)

A feature can touch a single member

You don't need two repositories to use a workspace. If a feature touches only one member, N45 keeps going in the workspace — you can add more members later.

The mental model

  • The workspace coordinates; the roadmaps live in the members. Each member is an independent git repository with its own planning (discovery, spec, roadmap, tasks).
  • The seam between services is the CONTRACT. When planning a cross-repo feature, N45 locks a CONTRACT — the integration points between members (endpoints, events, schemas). Each member implements its slice honoring the CONTRACT, in parallel.
  • Each member has its own pace. Members don't move in lockstep: each runs its own roadmap, in its own phases. N45 brings everything together at the end, in the unified validation, to confirm the services really talk to each other.
flowchart TD
    WS[Workspace] --> Feat[One cross-repo feature]
    Feat --> Contract[CONTRACT
the seam between services] Contract --> A[Member: frontend
own sub-roadmap] Contract --> B[Member: api
own sub-roadmap] A --> V[Unified validation] B --> V V --> Finish[Coordinated finish]

When to use it

  • Use a Workspace when a product lives across several repositories and you want to plan/execute features that span them as one thing.
  • Use a Project when the work lives in a single repository (even a monorepo — a monorepo is one repository).

See also