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 @@
|
||||
# Adding a cross-platform portability lint rule
|
||||
|
||||
GSD must run correctly on Windows as well as macOS/Linux. The `DEFECT.WINDOWS-*`
|
||||
MSD must run correctly on Windows as well as macOS/Linux. The `DEFECT.WINDOWS-*`
|
||||
taxonomy in [`CONTEXT.md`](../../CONTEXT.md) names the recurring failure shapes; a family of
|
||||
AST-based ESLint rules (the `local/*` plugin) enforces them **at write-time (in your editor)
|
||||
and in CI**, so a Windows-only defect is caught before it ships — not after it reaches the
|
||||
|
||||
@@ -36,8 +36,8 @@ will read it.
|
||||
|
||||
```bash
|
||||
# 1. Clone
|
||||
git clone https://github.com/open-gsd/gsd-core.git
|
||||
cd gsd-core
|
||||
git clone https://github.com/golem15com/msd-core.git
|
||||
cd msd-core
|
||||
|
||||
# 2. Activate the pinned Node version
|
||||
nvm use # nvm
|
||||
@@ -202,25 +202,25 @@ Add these to your shell profile to make them permanent.
|
||||
|
||||
---
|
||||
|
||||
## Alternative: Docker via gsd-test-runner
|
||||
## Alternative: Docker via msd-test-runner
|
||||
|
||||
For canonical Linux verification from a macOS dev box, use
|
||||
[gsd-test-runner](https://github.com/open-gsd/gsd-test-runner).
|
||||
[msd-test-runner](https://github.com/open-gsd/gsd-test-runner).
|
||||
|
||||
This is the same path CI uses for cross-platform coverage. It is the authoritative way
|
||||
to confirm your change passes on Linux before opening a PR:
|
||||
|
||||
```bash
|
||||
# One-time: install gsd-test-runner (see repo README)
|
||||
# One-time: install msd-test-runner (see repo README)
|
||||
# Then, from the project root:
|
||||
gsd-test-summary
|
||||
msd-test-summary
|
||||
```
|
||||
|
||||
`gsd-test-summary` runs the full suite in a Docker container and emits a concise
|
||||
`msd-test-summary` runs the full suite in a Docker container and emits a concise
|
||||
`Mac: N failed / Docker: N failed` summary.
|
||||
|
||||
- **Default rule (code changes):** both lines must show `0 failed` before a PR is opened.
|
||||
- **Exception (ADR/doc-only PRs):** if the diff is documentation-only (for example `docs/adr/*.md`, `docs/**/*.md`, `README*.md`) and contains no executable-code or test changes, `gsd-test-summary` is optional.
|
||||
- **Exception (ADR/doc-only PRs):** if the diff is documentation-only (for example `docs/adr/*.md`, `docs/**/*.md`, `README*.md`) and contains no executable-code or test changes, `msd-test-summary` is optional.
|
||||
|
||||
When using the doc-only exception, note it explicitly in the PR body (for example:
|
||||
"Doc-only PR; gsd-test-summary not required by docs-only exception in `docs/contributing/bootstrap.md`").
|
||||
"Doc-only PR; msd-test-summary not required by docs-only exception in `docs/contributing/bootstrap.md`").
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Cross-platform portability lint rules
|
||||
|
||||
GSD must run on Windows as well as macOS/Linux. A family of AST-based ESLint rules (the
|
||||
MSD must run on Windows as well as macOS/Linux. A family of AST-based ESLint rules (the
|
||||
`local/*` plugin) enforces the `DEFECT.WINDOWS-*` portability classes documented in
|
||||
[`CONTEXT.md`](../../CONTEXT.md) **at write-time (in your editor) and in CI**, so a
|
||||
Windows-only defect is caught before it ships — not after it reaches the `windows-latest` CI
|
||||
|
||||
@@ -26,7 +26,7 @@ enumeration reads as a closed list and the class is open (REQ-LANG-04).
|
||||
|
||||
| Form | What it looks like | When it applies |
|
||||
|---|---|---|
|
||||
| Shared reference | `@~/.claude/gsd-core/references/response-language-directive.md` on its own line | The file is loaded eagerly — a top-level workflow. Preferred: one place to maintain the wording for the 42 files that take it. |
|
||||
| Shared reference | `@~/.claude/msd-core/references/response-language-directive.md` on its own line | The file is loaded eagerly — a top-level workflow. Preferred: one place to maintain the wording for the 42 files that take it. |
|
||||
| Own inline directive | One line carrying the directive in the file's own words | The file already has one, or its prose needs local phrasing. Must pass all four predicates (below). |
|
||||
| Pinned inline directive | The canonical line, byte for byte | A lazily-loaded mode/step/template that **cannot prove inheritance**. |
|
||||
| Inherited | nothing in the file itself | A fragment whose parent workflow dispatches it from a read/execute context and is itself covered. |
|
||||
@@ -39,7 +39,7 @@ Answer in this order:
|
||||
is loaded, so this is the cheapest correct answer for a top-level workflow.
|
||||
2. **Is it a fragment under `<workflow>/{modes,steps,templates}/`?** Then check whether
|
||||
`<workflow>.md` dispatches this exact path from a read/execute context *and* is itself covered.
|
||||
The catalog writes that stub two ways — rooted at `gsd-core/workflows/`, or relative to the
|
||||
The catalog writes that stub two ways — rooted at `msd-core/workflows/`, or relative to the
|
||||
catalog — and either one counts; a path with no read/execute/run verb ahead of it on the same
|
||||
line is a mention, not a dispatch, and proves nothing.
|
||||
If both hold, the fragment **inherits** — add nothing. The parent's directive is already in the
|
||||
|
||||
Reference in New Issue
Block a user