From 1850a3b952283039ee5347f4f9381e8084dc63a8 Mon Sep 17 00:00:00 2001 From: BR <51544548+Bradenream@users.noreply.github.com> Date: Tue, 11 Aug 2026 15:17:45 -0400 Subject: [PATCH 1/2] fix: point install one-liner at master instead of main The published install commands fetched raw.githubusercontent.com/voiceflow/cli/main/scripts/install.sh, but this repository's default branch is master. That URL returns 404, so both the bash and PowerShell quick-install paths were broken for every user. main -> 404 master -> 200 Corrects all six occurrences: the comment headers in scripts/install.sh and scripts/install.ps1, and the two commands actually published in README.md. The README occurrences sat inside a Speakeasy-managed block. Speakeasy hardcodes the branch as `main` -- it is not inferred from the repository's default branch, and no gen.yaml or workflow.yaml key overrides it -- so editing in place would be reverted by the next `yarn codegen`. The section is therefore taken out of generator management using Speakeasy's documented `No ... [tag]` marker, which replaces the `Start` marker and drops the `End` marker. README.md is not in gen.lock's trackedFiles, so persistentEdits would not have protected it. The installer body already resolves binaries through the releases API, so the branch affects only the bootstrap fetch of the installer itself. Pinning that to a mutable branch remains fragile; migrating it to a release asset is tracked separately. --- README.md | 17 +++++++++++++---- scripts/install.ps1 | 4 ++-- scripts/install.sh | 4 ++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0537b8f..46d5700 100644 --- a/README.md +++ b/README.md @@ -36,19 +36,29 @@ Realtime: Realtime gateway API service - + + ## CLI Installation ### Quick Install (Linux/macOS) ```bash -curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/main/scripts/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.sh | bash ``` ### Quick Install (Windows PowerShell) ```powershell -iwr -useb https://raw.githubusercontent.com/voiceflow/cli/main/scripts/install.ps1 | iex +iwr -useb https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.ps1 | iex ``` ### Go Install @@ -62,7 +72,6 @@ go install github.com/voiceflow/cli/cmd/vf@latest ### Manual Download Download pre-built binaries for your platform from the [releases page](https://github.com/voiceflow/cli/releases). - ## Shell Completion diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 1c31e7f..df0a48f 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -3,9 +3,9 @@ # This script downloads and installs the latest version of the vf CLI # # Usage: -# iwr -useb https://raw.githubusercontent.com/voiceflow/cli/main/scripts/install.ps1 | iex +# iwr -useb https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.ps1 | iex # or -# Invoke-WebRequest -Uri https://raw.githubusercontent.com/voiceflow/cli/main/scripts/install.ps1 -UseBasicParsing | Invoke-Expression +# Invoke-WebRequest -Uri https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.ps1 -UseBasicParsing | Invoke-Expression # # Options: # $env:VF_INSTALL_DIR - Installation directory (default: $env:LOCALAPPDATA\Programs\vf) diff --git a/scripts/install.sh b/scripts/install.sh index 4cd9d23..e6a3185 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -5,9 +5,9 @@ # for Linux and macOS systems. # # Usage: -# curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/main/scripts/install.sh | bash +# curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.sh | bash # or -# wget -qO- https://raw.githubusercontent.com/voiceflow/cli/main/scripts/install.sh | bash +# wget -qO- https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.sh | bash # # Options: # VF_INSTALL_DIR - Installation directory (default: /usr/local/bin) From f4fd80e5e6746481c50ff38744756185545914d5 Mon Sep 17 00:00:00 2001 From: BR <51544548+Bradenream@users.noreply.github.com> Date: Tue, 11 Aug 2026 17:28:34 -0400 Subject: [PATCH 2/2] fix: use HEAD ref and move No marker to documented position Addresses two findings from adversarial review of this PR. Use `HEAD` rather than `master` in the install URLs. The original defect was a hardcoded branch name; fixing it with a different hardcoded branch name leaves the same bug latent, and it would fire the day anyone renames master to main -- raw.githubusercontent.com does not redirect renamed branches. `HEAD` resolves to whatever the default branch currently is. Verified: HEAD returns 200 with content byte-identical to master, and also resolves on a repository whose default is `main`, so it is branch-name agnostic. Move `` from the `Start` slot to the `End` slot, which is what Speakeasy documents: remove the `Start` comment and change the matching `End` comment to `No`. Evidence from generated repositories in the wild shows the marker behaves as a file-level suppression flag whose position does not matter -- Kong/terraform-provider-konnect carries bare untagged `No` markers with no associated content at all, and open-policy-agent/opa-java places its marker 70 lines below the content it suppresses. Since position appears not to matter and the documented form costs nothing, use the documented form. Also record in the README comment that hand-owning this section means the dormant `cli.distribution` channels in .speakeasy/gen.yaml (homebrew, nfpm, winget) will not contribute install instructions here if they are enabled later. --- README.md | 29 ++++++++++++++++++----------- scripts/install.ps1 | 4 ++-- scripts/install.sh | 4 ++-- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 46d5700..43b01cf 100644 --- a/README.md +++ b/README.md @@ -37,28 +37,34 @@ Realtime: Realtime gateway API service - ## CLI Installation ### Quick Install (Linux/macOS) ```bash -curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.sh | bash +curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/HEAD/scripts/install.sh | bash ``` ### Quick Install (Windows PowerShell) ```powershell -iwr -useb https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.ps1 | iex +iwr -useb https://raw.githubusercontent.com/voiceflow/cli/HEAD/scripts/install.ps1 | iex ``` ### Go Install @@ -72,6 +78,7 @@ go install github.com/voiceflow/cli/cmd/vf@latest ### Manual Download Download pre-built binaries for your platform from the [releases page](https://github.com/voiceflow/cli/releases). + ## Shell Completion diff --git a/scripts/install.ps1 b/scripts/install.ps1 index df0a48f..7dc541b 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -3,9 +3,9 @@ # This script downloads and installs the latest version of the vf CLI # # Usage: -# iwr -useb https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.ps1 | iex +# iwr -useb https://raw.githubusercontent.com/voiceflow/cli/HEAD/scripts/install.ps1 | iex # or -# Invoke-WebRequest -Uri https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.ps1 -UseBasicParsing | Invoke-Expression +# Invoke-WebRequest -Uri https://raw.githubusercontent.com/voiceflow/cli/HEAD/scripts/install.ps1 -UseBasicParsing | Invoke-Expression # # Options: # $env:VF_INSTALL_DIR - Installation directory (default: $env:LOCALAPPDATA\Programs\vf) diff --git a/scripts/install.sh b/scripts/install.sh index e6a3185..5cb8d3b 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -5,9 +5,9 @@ # for Linux and macOS systems. # # Usage: -# curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.sh | bash +# curl -fsSL https://raw.githubusercontent.com/voiceflow/cli/HEAD/scripts/install.sh | bash # or -# wget -qO- https://raw.githubusercontent.com/voiceflow/cli/master/scripts/install.sh | bash +# wget -qO- https://raw.githubusercontent.com/voiceflow/cli/HEAD/scripts/install.sh | bash # # Options: # VF_INSTALL_DIR - Installation directory (default: /usr/local/bin)