# Manual Update (Non-npm Install) Use this procedure when `npx @golem15/msd-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://git.golem15.com/golem15/msd-core`) ## Steps ```bash # 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/msd/msd-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` | | 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 MSD-managed directories only: - `~/.claude/msd-core/` — workflows, references, templates - `~/.claude/commands/msd/` — slash commands - `~/.claude/agents/msd-*.md` — MSD agents - `~/.claude/hooks/dist/` — compiled hooks **What is preserved:** - Custom agents not prefixed with `msd-` - Custom commands outside `commands/msd/` - Your `CLAUDE.md` files - Custom hooks Locally modified MSD files are automatically backed up to `msd-local-patches/` before the install. Run `/msd-update --reapply` after updating to merge your modifications back in.