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

@@ -6,7 +6,7 @@
/**
* Import Command Tests — import-command.test.cjs
*
* Structural assertions for the /gsd-import command and workflow files.
* Structural assertions for the /msd-import command and workflow files.
*/
const { describe, test } = require('node:test');
@@ -14,18 +14,18 @@ const assert = require('node:assert/strict');
const fs = require('fs');
const path = require('path');
const CMD_PATH = path.join(__dirname, '..', 'commands', 'gsd', 'import.md');
const WF_PATH = path.join(__dirname, '..', 'gsd-core', 'workflows', 'import.md');
const CMD_PATH = path.join(__dirname, '..', 'commands', 'msd', 'import.md');
const WF_PATH = path.join(__dirname, '..', 'msd-core', 'workflows', 'import.md');
// ─── File Existence ────────────────────────────────────────────────────────────
describe('import command file structure', () => {
test('command file exists', () => {
assert.ok(fs.existsSync(CMD_PATH), 'commands/gsd/import.md should exist');
assert.ok(fs.existsSync(CMD_PATH), 'commands/msd/import.md should exist');
});
test('workflow file exists', () => {
assert.ok(fs.existsSync(WF_PATH), 'gsd-core/workflows/import.md should exist');
assert.ok(fs.existsSync(WF_PATH), 'msd-core/workflows/import.md should exist');
});
});
@@ -35,7 +35,7 @@ describe('import command frontmatter', () => {
const content = fs.readFileSync(CMD_PATH, 'utf-8');
test('has name field', () => {
assert.match(content, /^name:\s*gsd:import$/m);
assert.match(content, /^name:\s*msd:import$/m);
});
test('has description field', () => {
@@ -54,8 +54,8 @@ describe('import command references', () => {
test('references the import workflow', () => {
assert.ok(
content.includes('@~/.claude/gsd-core/workflows/import.md'),
'command should reference the workflow via @~/.claude/gsd-core/workflows/import.md'
content.includes('@~/.claude/msd-core/workflows/import.md'),
'command should reference the workflow via @~/.claude/msd-core/workflows/import.md'
);
});
});
@@ -112,14 +112,14 @@ describe('import workflow content', () => {
test('includes plan-checker validation gate', () => {
assert.ok(
content.includes('gsd-plan-checker'),
'workflow should delegate validation to gsd-plan-checker'
content.includes('msd-plan-checker'),
'workflow should delegate validation to msd-plan-checker'
);
});
test('no-args usage display is present', () => {
assert.ok(
content.includes('Usage: /gsd:import') || content.includes('Usage: /gsd-import'),
content.includes('Usage: /msd:import') || content.includes('Usage: /msd-import'),
'workflow should display usage when no arguments provided'
);
});