feat(installer): add guided setup planner - #221
Conversation
Deploying src with
|
| Latest commit: |
f054431
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://2cf79d36.zi-src.pages.dev |
| Branch Preview URL: | https://feature-208.zi-src.pages.dev |
ss-o
left a comment
There was a problem hiding this comment.
Fallback review under ADR-0026: Copilot request not registered on f054431
Maintainer-directed class-1 exception: this is an author-side fallback review and does not provide the independent second reader required by ADR-0026 for class-1 repositories.
No blocking findings.
Reviewed the final base-to-head diff for the standalone installer path, checksum coupling, guided plan and split apply phases, path serialization, legacy migration, checkout and file preconditions, lock behavior, symlink refusal, profile pinning, workflow changes, documentation, and issue #208 acceptance criteria.
Validation performed on the reviewed SHA:
sh tests/installers.shpassed.- POSIX shell syntax,
git diff --check, actionlint, and ShellCheck overpublic/sh/*.shpassed. - Checksum regeneration was idempotent.
- A real isolated
curl | shinstallation from the publishedfeature-208branch passed withZI_SRC_REF=feature-208; it fetched its companion assets, cloned Zi, wrote setup files, and honored-i skipwithout creating.zshrc. - All 12 hosted PR checks are green, including Linux, macOS, both Windows runs, CodeQL, configured Zsh lint, ShellCheck, and Cloudflare.
Residual gate: because z-shell/src is class 1, obtain a second human review or restored Copilot review before merge. The Cygwin job intentionally skips the native zpmod build because its packaged Zsh is too old; Linux and macOS exercise that build.
Summary
install.shpreviously mixed checkout updates, startup-file edits, migration, and optional recipe execution in one operation. This adds the ADR-0025 guided setup planner with deterministicplanand separately validatedapplyphases, while preserving the normalcurl .../install.sh | shentry point.ZI_SRC_REF, defaulting tomain.zshrcblock that sources the generatedsetup.zshentry pointCompatibility
The standard one-line installer remains supported and is covered by exact curl-to-sh regressions. It stays a standalone entry point: no repository checkout is required, and it fetches verified planner assets automatically. A pinned installer can set
ZI_SRC_REFto the same tag, branch, or commit so all companion assets come from one revision.Existing custom Zi integration and symlinked
.zshrctargets now require manual reconciliation, and annex or zunit recipes complete on the first shell startup. The currentz-shell/zdimage clones Zi directly and does not depend on this installer path.The implementation-facing instruction route is published separately in z-shell/.github#649.
Validation
sh tests/installers.sh(45 checks)git diff --checkand conflict-marker scanwindows-latestfor pull request and push eventsRefs #208