Skip to content

feat: rename binary from privateer to pvtr#202

Merged
jmeridth merged 3 commits intomainfrom
rename-binary-to-pvtr
Mar 14, 2026
Merged

feat: rename binary from privateer to pvtr#202
jmeridth merged 3 commits intomainfrom
rename-binary-to-pvtr

Conversation

@jmeridth
Copy link
Member

@jmeridth jmeridth commented Mar 14, 2026

What

Renamed the CLI binary and all build artifacts from privateer to pvtr. The cobra root command, GoReleaser config, Makefile, Dockerfile, install script, and integration tests all reference the new binary name. A backward-compatible symlink (privateer → pvtr) is included in the Homebrew formula via GoReleaser.

Why

The project is rebranding the CLI binary name from privateer to pvtr while keeping the GitHub org, repo, and Go module path unchanged.

Notes

  • The plugin filter in cmd/env.go now excludes both "pvtr" and "privateer" named binaries so legacy installs don't appear as plugins
  • The Homebrew formula includes bin.install_symlink "pvtr" => "privateer" for backward compatibility — remove this in a future release
  • Config paths (~/.privateer/) and test config service keys are intentionally unchanged; the SDK still owns those paths
  • After this merges and a release is cut, merge the companion PR on homebrew-tap: privateerproj/homebrew-tap (deprecates the old privateer formula)

## What

Renamed the CLI binary and all build artifacts from privateer to pvtr.
The cobra root command, GoReleaser config, Makefile, Dockerfile, install
script, and integration tests all reference the new binary name. A
backward-compatible symlink (privateer → pvtr) is included in the
Homebrew formula via GoReleaser.

## Why

The project is rebranding the CLI binary name from privateer to pvtr
while keeping the GitHub org, repo, and Go module path unchanged.

## Notes

- The plugin filter in cmd/env.go now excludes both "pvtr" and
  "privateer" named binaries so legacy installs don't appear as plugins
- The Homebrew formula includes bin.install_symlink "pvtr" => "privateer"
  for backward compatibility — remove this in a future release
- Config paths (~/.privateer/) and test config service keys are
  intentionally unchanged; the SDK still owns those paths

Signed-off-by: jmeridth <jmeridth@gmail.com>
@jmeridth jmeridth requested a review from a team as a code owner March 14, 2026 14:36
Copilot AI review requested due to automatic review settings March 14, 2026 14:36
@jmeridth jmeridth changed the title Rename binary from privateer to pvtr feat: rename binary from privateer to pvtr Mar 14, 2026
@jmeridth jmeridth self-assigned this Mar 14, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Renames the CLI binary from privateer to pvtr across the codebase while keeping the GitHub org/repo and Go module path unchanged, and adds Homebrew symlink compatibility (privateerpvtr).

Changes:

  • Renames the cobra root command and user-facing CLI references from privateer to pvtr.
  • Updates build/release artifacts and packaging references (Makefile, Dockerfile, GoReleaser, install script).
  • Updates docs and tests to use the new binary name and adjusts plugin filtering behavior.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
test/integration_test.sh Updates integration script to execute ./pvtr and adjusts related comments/config wording.
main.go Updates top-level package/main documentation to refer to pvtr.
install.sh Renames installed binary target from privateer to pvtr and updates completion messaging.
cmd/version.go Updates version command help text to refer to pvtr.
cmd/generate-plugin.go Updates generate-plugin command docs to refer to pvtr.
cmd/execute.go Renames cobra root Use value from privateer to pvtr.
cmd/env_test.go Updates tests around plugin discovery filtering to include pvtr naming.
cmd/env.go Updates plugin discovery filtering to exclude both pvtr and privateer.
README.md Updates README branding and install instructions to pvtr.
Makefile Renames build outputs from privateer-* to pvtr-*.
Dockerfile Updates container entrypoint to /app/pvtr.
.goreleaser.yaml Renames the Homebrew formula to pvtr and adds a symlink for backward compatibility.
.gitignore Adds ignores for pvtr artifacts and keeps legacy ignores.
.github/ISSUE_TEMPLATE/bug_report.yml Updates issue template wording to request pvtr version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

## What

Added explicit `binary: pvtr` to GoReleaser builds config so the
archive contains the correctly named binary. Changed the plugin
discovery filter from substring match to exact match so pvtr-* plugins
like pvtr-github-repo-scanner remain discoverable. Reverted the README
project structure directory name back to privateer/ since the repo is
not being renamed.

## Why

Copilot review correctly identified that GoReleaser would default the
binary name to the module name (privateer), causing Homebrew install to
fail. The substring filter would have hidden all pvtr-prefixed plugins
from env output.

## Notes

- The plugin filter now uses exact name matching (name == "pvtr" ||
  name == "privateer") instead of strings.Contains
- project_name remains privateer (archive naming unchanged), only the
  binary inside the archive is renamed to pvtr

Signed-off-by: jmeridth <jmeridth@gmail.com>
eddie-knight
eddie-knight previously approved these changes Mar 14, 2026
@jmeridth jmeridth merged commit d6147b7 into main Mar 14, 2026
10 checks passed
@jmeridth jmeridth deleted the rename-binary-to-pvtr branch March 14, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants