refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# How to isolate work with workspaces
|
||||
|
||||
**Goal:** Create a fully isolated GSD environment — separate git worktree, independent `.planning/` root, and optionally multiple repositories — for feature branches or multi-repo work.
|
||||
**Goal:** Create a fully isolated MSD environment — separate git worktree, independent `.planning/` root, and optionally multiple repositories — for feature branches or multi-repo work.
|
||||
|
||||
**Prerequisites:** `git` is installed and the repository supports worktrees. For multi-repo workspaces, the target repos exist on your local machine or are accessible by path.
|
||||
|
||||
@@ -14,13 +14,13 @@ A workspace is a self-contained environment that pairs one or more git worktrees
|
||||
- Its own `WORKSPACE.md` manifest tracking member repos
|
||||
- Git worktrees (default) or full clones of the specified repos, checked out on a dedicated branch (default: `workspace/<name>`)
|
||||
|
||||
Workspaces live under `~/gsd-workspaces/<name>/` by default.
|
||||
Workspaces live under `~/msd-workspaces/<name>/` by default.
|
||||
|
||||
```
|
||||
~/gsd-workspaces/
|
||||
~/msd-workspaces/
|
||||
└── feature-b/
|
||||
├── WORKSPACE.md ← manifest
|
||||
├── .planning/ ← fully independent GSD state
|
||||
├── .planning/ ← fully independent MSD state
|
||||
│ ├── PROJECT.md
|
||||
│ ├── ROADMAP.md
|
||||
│ └── ...
|
||||
@@ -35,15 +35,15 @@ Because the workspace's `.planning/` is separate from the source repos, there is
|
||||
## Create a workspace for multiple repos
|
||||
|
||||
```bash
|
||||
/gsd-workspace --new --name feature-b --repos hr-ui,ZeymoAPI
|
||||
/msd-workspace --new --name feature-b --repos hr-ui,ZeymoAPI
|
||||
```
|
||||
|
||||
GSD creates worktrees of `hr-ui` and `ZeymoAPI` inside `~/gsd-workspaces/feature-b/`, checks out a `workspace/feature-b` branch in each, writes `WORKSPACE.md`, and creates an empty `.planning/` directory ready for `/gsd-new-project`.
|
||||
MSD creates worktrees of `hr-ui` and `ZeymoAPI` inside `~/msd-workspaces/feature-b/`, checks out a `workspace/feature-b` branch in each, writes `WORKSPACE.md`, and creates an empty `.planning/` directory ready for `/msd-new-project`.
|
||||
|
||||
To customise the location:
|
||||
|
||||
```bash
|
||||
/gsd-workspace --new --name feature-b --repos hr-ui,ZeymoAPI --path /projects/feature-b
|
||||
/msd-workspace --new --name feature-b --repos hr-ui,ZeymoAPI --path /projects/feature-b
|
||||
```
|
||||
|
||||
---
|
||||
@@ -53,15 +53,15 @@ To customise the location:
|
||||
When you want feature-branch isolation on a single repo — independent branch, independent `.planning/`, no state bleed from main:
|
||||
|
||||
```bash
|
||||
/gsd-workspace --new --name payments-rework --repos .
|
||||
/msd-workspace --new --name payments-rework --repos .
|
||||
```
|
||||
|
||||
The `.` tells GSD to create a worktree of the current repo. The worktree is checked out on `workspace/payments-rework`.
|
||||
The `.` tells MSD to create a worktree of the current repo. The worktree is checked out on `workspace/payments-rework`.
|
||||
|
||||
To force a full clone instead of a worktree:
|
||||
|
||||
```bash
|
||||
/gsd-workspace --new --name payments-rework --repos . --strategy clone
|
||||
/msd-workspace --new --name payments-rework --repos . --strategy clone
|
||||
```
|
||||
|
||||
---
|
||||
@@ -69,7 +69,7 @@ To force a full clone instead of a worktree:
|
||||
## Specify a branch explicitly
|
||||
|
||||
```bash
|
||||
/gsd-workspace --new --name payments-rework --repos . --branch feature/payments-v2
|
||||
/msd-workspace --new --name payments-rework --repos . --branch feature/payments-v2
|
||||
```
|
||||
|
||||
The `--branch` flag sets the branch name for all repos in the workspace. Defaults to `workspace/<name>`.
|
||||
@@ -79,43 +79,43 @@ The `--branch` flag sets the branch name for all repos in the workspace. Default
|
||||
## Skip interactive questions
|
||||
|
||||
```bash
|
||||
/gsd-workspace --new --name payments-rework --repos . --auto
|
||||
/msd-workspace --new --name payments-rework --repos . --auto
|
||||
```
|
||||
|
||||
GSD accepts all defaults without prompting.
|
||||
MSD accepts all defaults without prompting.
|
||||
|
||||
---
|
||||
|
||||
## Initialise GSD inside the workspace
|
||||
## Initialise MSD inside the workspace
|
||||
|
||||
After creating a workspace, move into it and initialise a GSD project:
|
||||
After creating a workspace, move into it and initialise a MSD project:
|
||||
|
||||
```bash
|
||||
cd ~/gsd-workspaces/feature-b
|
||||
/gsd-new-project
|
||||
cd ~/msd-workspaces/feature-b
|
||||
/msd-new-project
|
||||
```
|
||||
|
||||
The `.planning/` directory inside the workspace is the root for all subsequent GSD commands run from that directory. It is entirely separate from any `.planning/` that exists in the source repos.
|
||||
The `.planning/` directory inside the workspace is the root for all subsequent MSD commands run from that directory. It is entirely separate from any `.planning/` that exists in the source repos.
|
||||
|
||||
---
|
||||
|
||||
## List workspaces
|
||||
|
||||
```bash
|
||||
/gsd-workspace --list
|
||||
/msd-workspace --list
|
||||
```
|
||||
|
||||
Prints all active GSD workspaces and their status.
|
||||
Prints all active MSD workspaces and their status.
|
||||
|
||||
---
|
||||
|
||||
## Remove a workspace
|
||||
|
||||
```bash
|
||||
/gsd-workspace --remove feature-b
|
||||
/msd-workspace --remove feature-b
|
||||
```
|
||||
|
||||
GSD removes the git worktrees and cleans up the workspace directory. This does not delete the branches from the origin remote — only the local worktrees and workspace directory.
|
||||
MSD removes the git worktrees and cleans up the workspace directory. This does not delete the branches from the origin remote — only the local worktrees and workspace directory.
|
||||
|
||||
---
|
||||
|
||||
@@ -123,15 +123,15 @@ GSD removes the git worktrees and cleans up the workspace directory. This does n
|
||||
|
||||
Choose workspaces when:
|
||||
|
||||
- You are working across **multiple repositories** that need to be co-ordinated under one GSD project (e.g., an API repo and a UI repo that ship together)
|
||||
- You are working across **multiple repositories** that need to be co-ordinated under one MSD project (e.g., an API repo and a UI repo that ship together)
|
||||
- You need a **separate git worktree** with its own branch, lock files, and build artefacts per feature — so builds and dependency installs in one environment cannot affect another
|
||||
- You want a **wholly independent `.planning/` root** rather than a subdirectory of the main repo's `.planning/`
|
||||
- You are following an issue-driven workflow where each tracker issue maps to a workspace (see [Drive GSD from a tracker issue](drive-gsd-from-a-tracker-issue.md))
|
||||
- You are following an issue-driven workflow where each tracker issue maps to a workspace (see [Drive MSD from a tracker issue](drive-msd-from-a-tracker-issue.md))
|
||||
|
||||
Choose [workstreams](work-in-parallel-with-workstreams.md) instead when:
|
||||
|
||||
- All the work lives in **one repository** and shares the same git history
|
||||
- You want to run `/gsd-plan-phase` or `/gsd-discuss-phase` on different concern areas concurrently — API, UI, infra — without context bleed between their `STATE.md` files
|
||||
- You want to run `/msd-plan-phase` or `/msd-discuss-phase` on different concern areas concurrently — API, UI, infra — without context bleed between their `STATE.md` files
|
||||
- You do not need a separate worktree per concern; switching planning context is sufficient
|
||||
|
||||
---
|
||||
@@ -139,6 +139,6 @@ Choose [workstreams](work-in-parallel-with-workstreams.md) instead when:
|
||||
## Related
|
||||
|
||||
- [Work in parallel with workstreams](work-in-parallel-with-workstreams.md)
|
||||
- [Drive GSD from a tracker issue](drive-gsd-from-a-tracker-issue.md)
|
||||
- [Drive MSD from a tracker issue](drive-msd-from-a-tracker-issue.md)
|
||||
- [Commands](../COMMANDS.md)
|
||||
- [docs index](../README.md)
|
||||
|
||||
Reference in New Issue
Block a user