mcwizard
v0.4.13
Published
mcwizard CLI
Readme
mcwizard
Tools for modded Minecraft workflows.
If you want to join us, pop in our Discord.
Quickstart
npx mcwizardThat’s it. The CLI will:
- Detect and prompt if a newer version is available, and update on approval
- Ensure your PATH includes npm’s global bin directory so
mcwizardworks in future terminals - Create standard app directories for data, cache, and logs
After the first run, you can launch directly with:
mcwizardUpdates
The CLI auto-checks for a new version and prompts to update. You can also update explicitly:
npx mcwizard --updateUninstall
Remove everything (global install, app folders, PATH entries written by mcwizard):
npx mcwizard --uninstallFlags
--version,-V: Print version and exit--update,-U: Update mcwizard globally to the latest and exit--uninstall: Remove mcwizard and its data; clean PATH/profile entries--setup-path: Ensure npm’s global bin directory is on PATH (idempotent)--verboseor--debug: Show detailed logs--quiet,-q: Suppress non-essential logs
OS-specific behavior
macOS / Linux
- PATH persistence: we add a small, marked block to your shell profile. On macOS (zsh), we update both
~/.zprofile(login shells) and~/.zshrc(interactive shells). On Linux/other shells we update whichever of~/.zshrc,~/.bashrc,~/.bash_profile, or~/.profileexist, always ensuring~/.profilecontains the marker. - No subshells: we do not open new shells; future terminals pick up the changes.
- One-time global install: we do not force it. If the npm global bin is writable and missing a shim, we may install once. If your global prefix is not writable, we fall back to a user prefix (
~/.npm-global) and update PATH idempotently.
Windows
- Prefix: we ensure npm’s global prefix points to the user scope
%APPDATA%\npm. - Shims: if npm did not generate them, we create
mcwizard.cmdandmcwizard.ps1that run the real Node entry. - Cleanup: we remove legacy wrappers (old
mcwizard.jsand badmcwizard.cmd/.ps1) that could hijack the command. - PATH: we prepend
%APPDATA%\npmin your user PATH idempotently (no subshells).
Environment variables
MCWIZARD_VERBOSE=1: verbose logs (also via--verbose/--debug).MCWIZARD_NO_AUTO_INSTALL=1: disable one-time global install attempts (npx will continue to work).MCWIZARD_SKIP_SET_PATH=1: skip profile/PATH changes.MCWIZARD_DEV=1orNODE_ENV=development: skip PATH mutation during local development.
Troubleshooting
mcwizardnot found in a new terminal:- Run:
npx mcwizard --setup-pathand open a new terminal. - macOS/Linux: ensure the marker is present in your shell profile(s). On macOS zsh we touch both
~/.zprofileand~/.zshrc. - Windows CMD: verify
%APPDATA%\npm\mcwizard.cmdexists. If missing, runnpx mcwizard --setup-pathagain (idempotent).
- Run:
- Wrong version being invoked:
- Run:
npx mcwizard --updateand reopen your terminal. - Windows: ensure there are no stray
mcwizard.jsor custommcwizard.cmdearlier in PATH (where mcwizard). Remove stale files.
- Run:
