refactor: rename push-review to Pushgate and update installation script#23
Merged
Conversation
- Updated the installer script to reflect the new name "Pushgate" instead of "push-review". - Changed the repository URLs in the installation script to point to the new Pushgate repository. - Modified output messages in the installer for consistency with the new naming. - Adjusted the configuration file name from `.push-review.yml` to `.pushgate.yml`. - Enhanced error handling and argument parsing in the installation script. - Added tests for the installation process, ensuring the managed runner, hook backup, and configuration are correctly set up. - Introduced a new runner test suite to validate the behavior of the Pushgate runner. - Updated hook tests to accommodate the new runner and its expected behavior. - Removed legacy tool and provider stubs in favor of a managed runner approach.
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.
Description
Introduces the M1 hook-to-runner boundary for Pushgate. The installed
pre-pushhook is now a small delegator into a managedpushgatecommand, with a protocol check and focused reinstall guidance when the runner is missing or incompatible.The first runner entrypoint intentionally passes through
pre-pushafter accepting Git hook args and draining stdin. Changed-file policy, deterministic command execution, skip controls, and AI policy stay with their owning follow-up issues.Closes #4
Type of change
fix:— Bug fix (patch version bump)feat:— New feature (minor version bump)feat!:/fix!:— Breaking change (major version bump)docs:— Documentation only (no version bump)chore:— Maintenance or config (no version bump)refactor:— Code restructure, no behaviour change (no version bump)Changes made
hook-protocolprobe and pass-throughpre-pushcommand.$HOME/.pushgate/bin/pushgate, validates protocol1, forwards Git args/stdin, and returns the runner exit code.install.shto install the managed runner, preserve pre-push backups, userootstrap/ai-pushgateassets, and install.pushgate.ymltemplates instead of.push-review.yml.Testing
pnpm testpassespnpm run check:shellpasses with no outputpnpm run lint:shellpassesCovered by tests:
.pushgate.ymlcreation, config no-overwrite behavior, and no new.push-review.ymlinstall destination.pre-pushstdin draining, and unsupported command usage errors.Checklist
eval, heredoc variable expansion, or unquoted variable interpolation in shell scriptsVERSION,CHANGELOG.md,.release-please-manifest.json, andrelease-please-config.jsonwere not manually edited — these are managed by release-pleaseREADME.md(not applicable; no new template)install.shusage comment (not applicable; no new template)Screenshots / output
No screenshots. Terminal-facing behavior is covered by hook and installer diagnostics in the automated tests.