* chore: rename npm package + bin to @opengsd/gsd-core (functional) - package.json: name @opengsd/get-shit-done-redux → @opengsd/gsd-core, bin key get-shit-done-redux → gsd-core, repository/homepage/bugs URLs - package-lock.json: regenerated (npm install --package-lock-only) - tests/**, scripts/**, bin/**, .github/**, agents/**, commands/**, get-shit-done/bin/**, get-shit-done/workflows/**: applied the 4-rule replacement (scoped npm ref, GitHub repo path, bin/clone invocations) per #505 single-source refactor Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs: sweep live references to @opengsd/gsd-core Update all live documentation (README.md + translations, docs/**, CONTRIBUTING.md, VERSIONING.md, SECURITY.md, CONTEXT.md, docs/CANARY.md) to reflect the renamed package and repository. Rules applied: - @opengsd/get-shit-done-redux → @opengsd/gsd-core (scoped npm name) - open-gsd/get-shit-done-redux → open-gsd/gsd-core (GitHub repo) - GSD-redux/get-shit-done-redux → open-gsd/gsd-core (stale badge org) - bare bin/clone refs → gsd-core CHANGELOG.md, docs/adr/**, docs/RELEASE-*.md, docs/research/**, and .changeset/** are preserved byte-identical. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: add negative lookbehind to slash-command regex in bug-2954 test The extractSlashReferences regex matched /gsd-core inside npm package URLs (@opengsd/gsd-core), producing a false /gsd:core command reference. Adding a negative lookbehind (?<![a-z]) excludes matches preceded by a letter, so only standalone /gsd-<cmd> and /gsd:<cmd> tokens are found. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(#518): add changeset for package rename Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * test(#518): update package-identity expectations to the renamed coordinates The rebase regenerated the seam to @opengsd/gsd-core (bin gsd-core, repo open-gsd/gsd-core). The #498 seam tests assert deriveIdentity against the REAL package.json, so their expected literals must follow the rename. The drift-lint unit test is left as-is — its SEAM is a self-consistent fixture and its stale-literal detection cases would shift if altered; the live-repo scan in it already passes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Manual Update (Non-npm Install)
Use this procedure when npx @opengsd/gsd-core@latest is unavailable — e.g. during a publish outage or if you are working directly from the source repo.
Prerequisites
- Node.js installed
- This repo cloned locally (
git clone https://github.com/open-gsd/gsd-core)
Steps
# 1. Pull latest code
git pull --rebase origin main
# 2. Build the hooks dist (required — hooks/dist/ is generated, not checked in as source)
node scripts/build-hooks.js
# 3. Run the installer directly
node bin/install.js --claude --global
# 4. Clear the update cache so the statusline indicator resets
rm -f ~/.cache/gsd/gsd-update-check.json
Step 5 — Restart your runtime to pick up the new commands and agents.
Runtime flags
Replace --claude with the flag for your runtime:
| Runtime | Flag |
|---|---|
| Claude Code | --claude |
| Gemini CLI | --gemini |
| OpenCode | --opencode |
| Kilo | --kilo |
| Codex | --codex |
| Copilot | --copilot |
| Cursor | --cursor |
| Windsurf | --windsurf |
| Augment | --augment |
| All runtimes | --all |
Use --local instead of --global for a project-scoped install.
What the installer replaces
The installer performs a clean wipe-and-replace of GSD-managed directories only:
~/.claude/get-shit-done/— workflows, references, templates~/.claude/commands/gsd/— slash commands~/.claude/agents/gsd-*.md— GSD agents~/.claude/hooks/dist/— compiled hooks
What is preserved:
- Custom agents not prefixed with
gsd- - Custom commands outside
commands/gsd/ - Your
CLAUDE.mdfiles - Custom hooks
Locally modified GSD files are automatically backed up to gsd-local-patches/ before the install. Run /gsd-update --reapply after updating to merge your modifications back in.