feat: guided web installer wizard (issue #191)#193
Open
evanoseen wants to merge 3 commits into
Open
Conversation
Replaces manual setup steps with a single-command bootstrap that opens a 7-step browser wizard on localhost:31338. - install.sh: bash bootstrap for macOS/Linux (102 lines, auditable) - install.ps1: PowerShell bootstrap for Windows - installer/server.js: local Node HTTP server (built-ins only, binds to 127.0.0.1 only, never transmits credentials externally) - installer/wizard.html: dark-themed 7-step setup wizard - Step 1: System Detection (Node 18+, Git, .env.local) - Step 2: Prerequisites confirmation - Step 3: Atlassian credentials (optional, skippable, Test Connection) - Step 4: Demo data choice (Alma Security / blank) - Step 5: Encryption password setup (optional) - Step 6: App launch + readiness polling - Step 7: Done with direct link to localhost:3000 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8 tasks
Bash 3.2 on macOS (arm64) treats the multi-byte UTF-8 bytes of the horizontal ellipsis (U+2026, \xE2\x80\xA6) as part of variable names when they immediately follow a $VAR reference. This caused "INSTALLER_PORT?: unbound variable" at line 70 despite the variable being set. Replaced all four instances with ASCII "..." to fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner
|
Hey @evanoseen, please resolve the conflicts on this one too — but hold off until #187 is merged. This branch carries the same store-file edits as #187, so once #187 lands, most of the overlap here should go away. After #187 is in: git fetch origin
git checkout 191-guided-installer-wizard
git rebase origin/main
# resolve any remaining conflicts → git add → git rebase --continue
git push --force-with-leaseOnce the rebase is clean, please re-walk the wizard test plan locally — CodeQL passed before, but a bad merge can break runtime even when the code still compiles. Keep the three commits intact (no squash) so the work stays reviewable. Note: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the guided web installer wizard described in issue #191. Replaces the manual setup flow (git clone → npm install → set env vars → npm start) with a single-command bootstrap that opens a styled 7-step browser wizard on
localhost:31338.install.sh— POSIX-compatible bootstrap for macOS + Linux; checks Node 18+ and Git, runsnpm install, spawns installer server, opens browserinstall.ps1— Windows PowerShell equivalentinstaller/server.js— Local HTTP server binding only to127.0.0.1:31338; uses only Node built-ins (no new npm deps); serves the wizard and exposes 6 API endpointsinstaller/wizard.html— Self-contained dark-themed 7-step wizard (no external JS runtime deps)What the user types
Wizard steps
.env.localnpm start, polls until port 3000 respondshttp://localhost:3000, auto-opens browserSecurity
127.0.0.1— never0.0.0.0.env.localbacked up to.env.local.backup-{ISO_TIMESTAMP}before any overwritepackage.jsonTest plan
bash install.shfrom repo root on macOS — verify wizard opens atlocalhost:31338bash install.shfrom repo root on Linux/Kali — verify wizard opens.\install.ps1on Windows — verify wizard opensnpm startstays running after wizard closes.env.local.backup-*created when overwriting existing.env.localCloses #191
🤖 Generated with Claude Code