docs: lead with the guided install, not the pipe - #56
Open
Behnam-RK wants to merge 1 commit into
Open
Conversation
scripts/install.sh has always been interactive: a component menu on a fresh machine, upgrade/reinstall/uninstall on one that already has dezhban, and an offer to run the setup wizard. It gates on `[ -t 0 ]`, and the documented invocation was `curl … | sudo bash` — where stdin is the script text itself, so nobody following the README had ever seen a prompt. The feature existed; the advertised path could not reach it. README.md and docs/usage/install.md now lead with download-then-run, which is interactive by construction and lets the reader inspect the script before running it as root — the right habit for anything installing a kill switch. The piped form stays documented as the unattended one, and its "piped never prompts" guarantee is untouched: no script logic changed. The script's own header now shows both forms, and its "run as root" hint names the actual file when there is one — $0 is "bash" under a pipe, so the old hint would have read "sudo bash bash". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Behnam-RK
force-pushed
the
docs/guided-install
branch
from
August 22, 2026 07:11
c8fe3af to
89a86ba
Compare
Behnam-RK
force-pushed
the
feat/problems-and-export
branch
from
August 22, 2026 07:11
28e19f8 to
0115bc5
Compare
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.
The finding
scripts/install.shhas been interactive for a while. It already has:dezhban setupright there, so you finish with a configured guard rather than a set of instructionsIt gates all of that on
[ -t 0 ]. The documented invocation wascurl -fsSL … | sudo bash, where stdin is the script text itself — so nobody following the README has ever seen a single prompt. The feature existed; the advertised path could not reach it.What changed
Documentation only. No script logic changed.
README.md and
docs/usage/install.mdnow lead with:Interactive by construction, and it lets the reader inspect the script before running it as root — the right habit for anything that installs a kill switch.
The piped one-liner stays documented immediately below, as the unattended form, and says plainly that it takes the defaults without asking.
install.mdgains a short "Why two lines instead of a pipe" section explaining what the interactive form actually offers, so the extra line reads as a feature rather than an inconvenience.The "piped never prompts" guarantee is untouched. That promise is load-bearing for provisioners and CI, and the comments at
scripts/install.sh:37-51spell out why testing-t 0rather than-t 1is what makes it hold. Nothing in that logic moved.One small script fix
The "run as root" hint always suggested the pipe.
$0isbashunder a pipe and the script's path otherwise, so the hint now names the actual file when there is one:A hint reading "sudo bash bash" would have been worse than none.
Verification
bash -nandshellcheckonscripts/install.sh— clean.go build,go vet,go test— pass (docs are bundled into the app's help, sointernal/helpcovers the rendering of the changed pages).🤖 Generated with Claude Code