You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restore fnm availability after suitup rewrites shell config (#23)
- [x] Re-check the reviewer comment and confirm the remaining requested
changes
- [x] Re-inspect the setup, frontend installer, and install.sh flows
before editing
- [x] Fix fnm installation success/failure handling and add Homebrew
fallback when available
- [x] Detect existing suitup-managed state and avoid preselecting
already-completed setup steps
- [x] Add an init vs append choice to install.sh and cover it with
focused tests
- [x] Run targeted tests for the touched areas, review the final diff,
and update the PR title/comment reply
<!-- START COPILOT CODING AGENT TIPS -->
---
💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ChangeHow <23733347+ChangeHow@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,7 @@ Suitup can bootstrap Zsh and Homebrew for you, but the most reliable path is to
36
36
- Recommended: install Homebrew first so later package/tool steps run in a known-good environment
37
37
- Optional: if you skip either one, keep the `Bootstrap` step selected and let suitup set them up for you
38
38
- If your setup stopped halfway, run `node src/cli.js append` to add missing blocks or switch the prompt preset without replacing your whole `.zshrc`
39
+
- When suitup detects existing suitup-managed config or already-installed frontend prerequisites, setup now deselects those completed steps by default so reruns stay focused
39
40
40
41
### Install and run
41
42
@@ -47,14 +48,20 @@ Suitup now assumes zsh is already installed and that you are running the command
The installer downloads a temporary copy of the repo, runs `npm ci`, and then launches `node src/cli.js` inside `zsh`.
51
+
The installer first asks whether you want `init` (full setup) or `append` (incremental updates to an existing `.zshrc`), then downloads a temporary copy of the repo, runs `npm ci`, and launches the matching `node src/cli.js` command inside `zsh`.
51
52
52
53
You can also pass a specific command to the installer:
- Linux: choose `apt-get`, `dnf`, `yum`, `brew`, or skip
105
112
- If Homebrew is already installed in a non-default location, suitup now tries common shellenv paths automatically during Zsh startup
106
113
- Suitup now also writes a minimal `~/.zshenv` so non-interactive shells can still load shared env vars and PATH setup
107
-
- When fnm installs Node.js, suitup sets the installed version as the fnm default so `node`, `npm`, and globally installed CLIs resolve from the fnm-managed location in both interactive and non-interactive shells
114
+
- When fnm installs Node.js, suitup keeps both the `fnm` binary and the installed default Node version on PATH so `fnm`, `node`, `npm`, and globally installed CLIs resolve correctly in both interactive and non-interactive shells
0 commit comments