Adds top-level mosaic uninstall command with --framework, --cli, --gateway, --all, --keep-data, --yes, and --dry-run flags
Implements ~/.config/mosaic/.install-manifest.json (v1 schema, mode 0600) written on successful install for precise reversal; falls back to heuristic mode with warning when absent
Reverses runtime asset copies (restores .mosaic-bak-* backups or removes managed copies), npmrc scope line removal, and gateway delegation via existing runUninstall
Adds tools/install.sh --uninstall shell fallback for broken-CLI scenarios
Add top-level `mosaic uninstall` with --framework, --cli, --gateway, --all,
--keep-data, --yes, and --dry-run flags. Implements runtime asset reversal
(backup restore or managed-copy removal), npmrc scope line removal, and
gateway delegation. Adds install manifest (write on install, read on uninstall)
for precise reversal; falls back to heuristic mode when manifest is absent.
Shell fallback via `tools/install.sh --uninstall`. Closes#425.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
mosaic uninstallcommand with--framework,--cli,--gateway,--all,--keep-data,--yes, and--dry-runflags~/.config/mosaic/.install-manifest.json(v1 schema, mode 0600) written on successful install for precise reversal; falls back to heuristic mode with warning when absent.mosaic-bak-*backups or removes managed copies), npmrc scope line removal, and gateway delegation via existingrunUninstalltools/install.sh --uninstallshell fallback for broken-CLI scenariosCloses #425
Test plan
mosaic uninstall --dry-runlists all mutations without changing anythingmosaic uninstall --framework --keep-dataremoves framework dir but preserves SOUL.md, USER.md, TOOLS.md, memory/mosaic uninstall --frameworkremoves entire ~/.config/mosaic/mosaic uninstall --cliruns npm uninstall -g @mosaicstack/mosaicmosaic uninstall --alldelegates gateway, reverses runtime assets, removes npmrc line, removes framework, uninstalls CLI.mosaic-bak-*exists it is restored and backup removedtools/install.sh --uninstallremoves framework + CLI + npmrc without needing the CLI binaryGenerated with Claude Code