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:
Jakub Zych
2026-10-06 01:47:40 +02:00
parent fe069b2a56
commit a9a7a328e6
2763 changed files with 78465 additions and 78434 deletions

View File

@@ -1,6 +1,6 @@
# Skill Discovery Contract
> Canonical rules for scanning, inventorying, and rendering GSD skills.
> Canonical rules for scanning, inventorying, and rendering MSD skills.
## Root Categories
@@ -27,13 +27,13 @@ These roots are used for managed runtime installs and inventory reporting.
### Deprecated Import-Only Root
- `~/.claude/gsd-core/skills/`
- `~/.claude/msd-core/skills/`
This root is kept for legacy migration only. Inventory code may report it, but new installs should not write here.
### Legacy Claude Commands
- `~/.claude/commands/gsd/`
- `~/.claude/commands/msd/`
This is not a skills root. Discovery code only checks whether it exists so inventory can report legacy Claude installs.
@@ -43,9 +43,9 @@ This is not a skills root. Discovery code only checks whether it exists so inven
- Read `name` and `description` from YAML frontmatter.
- Use the directory name when `name` is missing.
- Extract trigger hints from body lines that match `TRIGGER when: ...`.
- Treat `gsd-*` directories as installed framework skills.
- Treat `~/.claude/gsd-core/skills/` entries as deprecated/import-only.
- Treat `~/.claude/commands/gsd/` as legacy command installation metadata, not skills.
- Treat `msd-*` directories as installed framework skills.
- Treat `~/.claude/msd-core/skills/` entries as deprecated/import-only.
- Treat `~/.claude/commands/msd/` as legacy command installation metadata, not skills.
## Scanner Behavior
@@ -53,15 +53,15 @@ This is not a skills root. Discovery code only checks whether it exists so inven
- Builds the project `CLAUDE.md` skills section.
- Scans project roots only.
- Skips `gsd-*` directories so the project section stays focused on user/project skills.
- Skips `msd-*` directories so the project section stays focused on user/project skills.
- Adds `.codex/skills/` to the project discovery set.
### `src/init.cts`
- Generates the skill inventory object for `skill-manifest`.
- Reports `skills`, `roots`, `installation`, and `counts`.
- Marks `gsd_skills_installed` when any discovered skill name starts with `gsd-`.
- Marks `legacy_claude_commands_installed` when `~/.claude/commands/gsd/` contains `.md` command files.
- Marks `msd_skills_installed` when any discovered skill name starts with `msd-`.
- Marks `legacy_claude_commands_installed` when `~/.claude/commands/msd/` contains `.md` command files.
## Inventory Shape
@@ -69,7 +69,7 @@ This is not a skills root. Discovery code only checks whether it exists so inven
- `skills`: normalized skill entries
- `roots`: the canonical roots that were checked
- `installation`: summary booleans for installed GSD skills and legacy Claude commands
- `installation`: summary booleans for installed MSD skills and legacy Claude commands
- `counts`: small inventory counts for downstream consumers
Each skill entry includes: