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

@@ -43,7 +43,7 @@
*
* Shape (b) — per-expression: quasis[i+1].raw starts with a forward slash
* and contains `.md` or `.json` at the end of a path component. This
* catches `${computePathPrefix(t)}/commands/gsd/x.md` and
* catches `${computePathPrefix(t)}/commands/msd/x.md` and
* `@${getGlobalConfigDir()}/agents/foo.md` without requiring config-dir
* markers in CONTENT_MARKERS.
*
@@ -152,13 +152,13 @@ function isContentPathReturningCall(node) {
// immediately following expression `i` starts with `/...path.md` or
// `/...path.json`, indicating the expression is a path prefix for a
// content file reference. This catches `${computePathPrefix(t)}/commands/
// gsd/x.md` and `@${getGlobalConfigDir('claude')}/commands/gsd/help.md`
// msd/x.md` and `@${getGlobalConfigDir('claude')}/commands/msd/help.md`
// without requiring config-dir markers in CONTENT_MARKERS.
//
// Deliberately excluded from CONTENT_MARKERS (were Tier 2 / Tier 3):
// Config-dir substrings (`/.claude`, `/.cursor`, `/.gemini`, `/.config`,
// etc.) and artifact-path segments (`/commands`, `/agents`, `/skills`,
// `/workflows`, `/rules`, `/gsd`) — these are too broad as standalone
// `/workflows`, `/rules`, `/msd`) — these are too broad as standalone
// markers and generate false positives when interpolated into log/error/
// diagnostic strings that mention config-dir paths. Shape (b) above covers
// the genuine content-emit cases without the FP risk.
@@ -181,7 +181,7 @@ const CONTENT_MARKERS = [
//
// Applied per-expression in TemplateLiteral: quasis[i+1].raw must start with
// a forward slash and contain `.md` or `.json` before the next whitespace or
// end of the quasi string. This matches `/commands/gsd/x.md`,
// end of the quasi string. This matches `/commands/msd/x.md`,
// `/skills/foo/SKILL.md`, `/help.json`, etc. without requiring a config-dir
// marker in CONTENT_MARKERS.
//
@@ -377,8 +377,8 @@ const rule = {
// quasis[i+1].raw starts with a forward slash followed by a path that
// terminates in .md or .json — the expression is a path prefix being
// interpolated directly before a content file reference. This catches
// `${computePathPrefix(t)}/commands/gsd/x.md` and
// `@${getGlobalConfigDir('claude')}/commands/gsd/help.md` without
// `${computePathPrefix(t)}/commands/msd/x.md` and
// `@${getGlobalConfigDir('claude')}/commands/msd/help.md` without
// requiring config-dir markers in CONTENT_MARKERS.
for (let i = 0; i < exprs.length; i++) {
const nextQuasi = quasis[i + 1];