Summary
Add mise-en-place to the installer so new staff get a single tool-version manager for Node, Python, and anything else a project pins, instead of per-language installers.
What to do
Install mise on both platforms as part of the standard install flow:
- macOS (
Install-ClaudeCode.sh): brew install mise, alongside the existing install_node / install_homebrew steps.
- Windows (
Install-ClaudeCode.ps1): add an Install-Mise function following the pattern of Install-NodeJS / Install-GitForWindows.
Then activate it in the user's shell profile so mise manages PATH for shims:
- macOS:
eval "$(mise activate zsh)" in the shell profile (matching how Add-LocalBinToPath / the pyenv init guidance already edit profiles).
- Windows: the equivalent activation line in the PowerShell profile.
Why
The installer currently installs Node.js directly (MSI on Windows, Homebrew on macOS), and /dev-setup walks users through pyenv for Python. That means two separate version managers and a globally pinned Node that project-level version pins can't override. mise replaces both, reads .tool-versions / mise.toml from the repo, and gives every InterWorks project a consistent way to declare its toolchain.
Open questions
- Does mise replace the current Node.js install, or sit alongside it? Installing Node via mise only puts it on PATH once mise is activated in the shell, so Claude Code's own install step could break if it runs before activation. Safest first pass is probably to keep the existing Node install and add mise on top, then remove the direct Node install in a follow-up once the ordering is proven.
- Should
/dev-setup drop its pyenv instructions in favor of mise use python@3.12? That skill's canonical copy lives in InterWorks/claude-plugins, so it would need a matching change there.
- Whether to seed a default global toolset (e.g.
mise use -g node@lts) or leave it empty for projects to define.
Acceptance
Summary
Add mise-en-place to the installer so new staff get a single tool-version manager for Node, Python, and anything else a project pins, instead of per-language installers.
What to do
Install mise on both platforms as part of the standard install flow:
Install-ClaudeCode.sh):brew install mise, alongside the existinginstall_node/install_homebrewsteps.Install-ClaudeCode.ps1): add anInstall-Misefunction following the pattern ofInstall-NodeJS/Install-GitForWindows.Then activate it in the user's shell profile so
misemanages PATH for shims:eval "$(mise activate zsh)"in the shell profile (matching howAdd-LocalBinToPath/ the pyenv init guidance already edit profiles).Why
The installer currently installs Node.js directly (MSI on Windows, Homebrew on macOS), and
/dev-setupwalks users through pyenv for Python. That means two separate version managers and a globally pinned Node that project-level version pins can't override. mise replaces both, reads.tool-versions/mise.tomlfrom the repo, and gives every InterWorks project a consistent way to declare its toolchain.Open questions
/dev-setupdrop its pyenv instructions in favor ofmise use python@3.12? That skill's canonical copy lives inInterWorks/claude-plugins, so it would need a matching change there.mise use -g node@lts) or leave it empty for projects to define.Acceptance
mise --versionworks in a fresh terminal after running the installer on both Windows and macOSREADME.md"What gets installed" section updated