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.
25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
---
|
|
id: 105
|
|
title: GSD-2 Reverse Migration
|
|
group: v1.35.0 Features
|
|
---
|
|
|
|
**Command:** `/msd-import --from-gsd2 [--dry-run] [--force] [--path <dir>]`
|
|
|
|
**Purpose:** Migrate a project from GSD-2 format (`.gsd/` directory with Milestone→Slice→Task hierarchy) back to the v1 `.planning/` format, restoring full compatibility with all MSD v1 commands.
|
|
|
|
**Requirements:**
|
|
- REQ-FROM-MSD2-01: Importer MUST read `.gsd/` from the specified or current directory
|
|
- REQ-FROM-MSD2-02: Milestone→Slice hierarchy MUST be flattened to sequential phase numbers (M001/S01→phase 01, M001/S02→phase 02, M002/S01→phase 03, etc.)
|
|
- REQ-FROM-MSD2-03: System MUST guard against overwriting an existing `.planning/` directory without `--force`
|
|
- REQ-FROM-MSD2-04: `--dry-run` MUST preview all changes without writing any files
|
|
- REQ-FROM-MSD2-05: Migration MUST produce `PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, `STATE.md`, and sequential phase directories
|
|
|
|
**Flags:**
|
|
|
|
| Flag | Description |
|
|
|------|-------------|
|
|
| `--dry-run` | Preview migration output without writing files |
|
|
| `--force` | Overwrite an existing `.planning/` directory |
|
|
| `--path <dir>` | Specify the GSD-2 root directory |
|