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¶
- Set up the workspace — create it and add the members
- Plan a feature — from
/n45-featto the CONTRACT and the fan-out