Repository navigation
feat: installer launches the latest create-pywire-app and says when to restart the shell - #15
Merged
Merged
Conversation
…-pywire-app curl -fsSL https://pywire.dev/install.sh | sh is now the canonical command. /install redirects there so the old one-liner keeps working. The script runs create-pywire-app@latest (skipping uv's cached copy), which scaffolds the project and installs pywire into it, keeps the /dev/tty reattach for the wizard, and tells the user to restart their shell when uv was just installed. Adds node:test coverage for the script and a CI job to run it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H5Qihrw7gMjEWQvizB8G8q
/install is the canonical URL the docs already use, so drop the /install.sh rename and its redirect. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H5Qihrw7gMjEWQvizB8G8q
reecelikesramen
marked this pull request as ready for review
September 27, 2026 19:31
This branch was successfully deployed
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.
Before:
curl -fsSL https://pywire.dev/install | shran whatever copy of create-pywire-app uv had cached. If it had just installed uv, it exited without saying thatuvwasn't on your PATH yet. Nothing in CI tested it.After: the script at
/installinstalls uv if it's missing, then launchescreate-pywire-app@latest. The wizard scaffolds the project and installs pywire into it withuv sync. When the script installed uv itself, it ends with a hint to restart your shell./installstays the canonical URL.How: I kept the
/dev/ttyreattach from #12, so piping the script toshstill gives the wizard its prompts. The script returns the wizard's exit code instead ofexec-ing into it, so it can print the hint afterwards. I addedtests/install.test.mjs(node:test, fakeuv/curlin a sandboxed HOME, covering TTY and no-TTY runs) and an "Installer Tests" CI job.install.ps1also uses@latestnow.Verified in a container: the tests were red first, then green (7/7). The real script ran with no uv on PATH: it installed uv 0.12.19, ran the wizard, and pywire 0.14.5 ended up in the project's
.venv. A piped run on a pty showed the interactive prompts.Deploy note: this only touches
site/(plus tests and CI), so it reaches prod through the normal landing deploy. No worker change is needed.🤖 Generated with Claude Code