* feat(#607): rebuild get-shit-done-cc → gsd-core migration Leftover get-shit-done-cc installs poisoned the shared update cache, causing a permanent false "update available". Rebuild the migration so a stale old install is both harmless and actively removed. - Per-package update cache filename (gsd-update-check-<slug>.json) in the shared ~/.cache/gsd dir, single-sourced via package-identity; writers stamp package_name and readers reject foreign/absent lineage. Multi- runtime visibility preserved (same shared dir + filename across runtimes). - New get-shit-done/bin/lib/legacy-cleanup.cjs seam: detects code-file references to the old package + the legacy fixed-name cache across home runtime dirs; installer auto-cleans on every install; --dry-run previews and mutates nothing. User hooks and dev-preferences are never touched. - update.md cache-clear globs gsd-update-check*.json across ALL supported runtimes (adds cursor/windsurf/augment/trae/qwen/hermes/codebuddy/cline). - Fix worker MODULE_NOT_FOUND post-install (ship managed-hooks-registry.cjs + degrade gracefully) so the per-package cache is always written. - Diataxis how-to: docs/cleanup-get-shit-done-cc.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(#607): add changeset for PR #611 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(#607): set USERPROFILE alongside HOME in dry-run install test for Windows os.homedir() reads USERPROFILE on win32, so HOME-only isolation let the spawned installer scan the real runner home on windows-latest. Set both. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
// @generated by scripts/generate-package-identity.cjs from package.json — DO NOT EDIT.
|
|
// Single source for GSD package coordinates (issue #498). Regenerate with:
|
|
// node scripts/generate-package-identity.cjs
|
|
'use strict';
|
|
|
|
const packageName = "@opengsd/gsd-core";
|
|
const binName = "gsd-core";
|
|
const repoSlug = "open-gsd/gsd-core";
|
|
const repoUrl = "https://github.com/open-gsd/gsd-core";
|
|
const changelogRawUrl = "https://raw.githubusercontent.com/open-gsd/gsd-core/main/CHANGELOG.md";
|
|
const cacheSlug = "opengsd-gsd-core";
|
|
const updateCacheFileName = "gsd-update-check-opengsd-gsd-core.json";
|
|
|
|
function formatManualInstall({ packageName, binName, scope, runtime } = {}) {
|
|
const runtimeFlag = runtime ? ` --${runtime}` : '';
|
|
return `npx -y --package=${packageName}@latest -- ${binName}${runtimeFlag} --${scope}`;
|
|
}
|
|
|
|
function manualInstallCommand(opts = {}) {
|
|
return formatManualInstall({ packageName, binName, scope: opts.scope, runtime: opts.runtime });
|
|
}
|
|
|
|
module.exports = Object.freeze({
|
|
packageName,
|
|
// PACKAGE_NAME: back-compat alias for #516-era consumers. Baked here, so it
|
|
// survives the installed tree's synthetic package.json (fixes the #378 undefined).
|
|
PACKAGE_NAME: packageName,
|
|
binName,
|
|
repoSlug,
|
|
repoUrl,
|
|
changelogRawUrl,
|
|
cacheSlug,
|
|
updateCacheFileName,
|
|
manualInstallCommand,
|
|
});
|