registry: add github: fallback backends for locally-verified tools#10000
registry: add github: fallback backends for locally-verified tools#10000matracey wants to merge 1 commit into
Conversation
Add github: backend entries to 35 registry files for tools that were verified to install successfully via github: on Windows x86_64. Each new entry is inserted immediately after the existing aqua: entry, giving users a Tier 1 GitHub releases fallback when aqua is disabled or unavailable, before falling through to lower-tier backends.
|
Wow! Can't believe I'm PR #10000 for this repo! 😅 🎉 |
There was a problem hiding this comment.
Code Review
This pull request adds the github: backend to various tool definitions in the registry. Review feedback highlights that for tools like black, jq, pnpm, shfmt, and yq, the github: backend fails to rename platform-specific binaries to the standard command name, and suggests using the ubi: backend instead. Additionally, the github: backend is noted as invalid for cargo-insta and pre-commit because those repositories do not provide standalone executable binaries in their releases.
Greptile SummaryThis PR adds
Confidence Score: 4/5Safe to merge the 31 simple inline additions; shfmt and pre-commit github fallback backends need rename_exe changed to bin before they will work on Linux The rename_exe option in install_artifact is only read inside the archive-extraction code path. shfmt distributes raw binaries on Linux and pre-commit distributes .pyz Python zipapps — both raw format. For both tools the option is silently skipped and the binary is left with a versioned filename, making it uncallable by its expected name when the github fallback is used. registry/shfmt.toml and registry/pre-commit.toml — rename_exe should be replaced with bin to handle raw-binary and .pyz release formats Important Files Changed
Reviews (5): Last reviewed commit: "registry: add github: fallback backends ..." | Re-trigger Greptile |
c2b3e1f to
aa55500
Compare
|
This PR has had merge conflicts for more than 7 days. Feel free to reopen or create a new PR if you'd like to continue working on this. |
Summary
Add
github:fallback backend entries to 34 registry files for tools that are already in the registry. Each new entry is inserted immediately after the existingaqua:entry, providing a Tier 1 GitHub releases fallback for users who haveaquadisabled (e.g. viaMISE_DISABLE_BACKENDS=aqua) or unavailable, before falling through to lower-tier backends (asdf:,vfox:,cargo:, etc.).Per the AGENTS.md backend-tier guidance,
aqua:is the preferred Tier 1 backend andgithub:is the recommended fallback. Many existing registry entries currently fall through fromaqua:directly toasdf:plugins (which AGENTS.md discourages for new entries on supply-chain grounds) or to runtime-backed backends (cargo:,go:,pipx:). This PR fills the gap.For tools where the
github:backend downloads binaries with platform-specific or versioned filenames (shfmt, yq, pre-commit), the entries use the[[backends]]table form withrename_exeto ensure the binary is callable by its expected short name.Popularity
No popularity-check section is needed because this PR does not add any new tools to the registry. It only adds a
github:backend for tools that are already accepted registry entries.Verification
All
github:owner/repo@latestinstalls were verified on Windows 11 x86_64 via:Each install was verified for both successful installation (exit 0) AND binary callability by the tool's expected short name. Tools where the binary was not callable were either fixed with
rename_exeor removed from the PR.Caveat: Verification was performed on a single host platform (Windows x86_64). Cross-platform asset availability was not exhaustively checked.
Candidate set and results
Modified — inline
backendsarray (31 tools,github:inserted afteraqua:)github:backend addedactact.tomlgithub:nektos/actactionlintactionlint.tomlgithub:rhysd/actionlintageage.tomlgithub:FiloSottile/agebatbat.tomlgithub:sharkdp/batcargo-binstallcargo-binstall.tomlgithub:cargo-bins/cargo-binstallcargo-instacargo-insta.tomlgithub:mitsuhiko/instacmakecmake.tomlgithub:Kitware/CMakecmdxcmdx.tomlgithub:suzuki-shunsuke/cmdxcoreutilscoreutils.tomlgithub:uutils/coreutilsdeltadelta.tomlgithub:dandavison/deltafdfd.tomlgithub:sharkdp/fdfzffzf.tomlgithub:junegunn/fzfgit-cliffgit-cliff.tomlgithub:orhun/git-cliffgithub-cli/ghgithub-cli.tomlgithub:cli/clihkhk.tomlgithub:jdx/hkhtmlqhtmlq.tomlgithub:mgdm/htmlqjqjq.tomlgithub:jqlang/jqlua-language-serverlua-language-server.tomlgithub:LuaLS/lua-language-serverninjaninja.tomlgithub:ninja-build/ninjapklpkl.tomlgithub:apple/pklpnpmpnpm.tomlgithub:pnpm/pnpmrclonerclone.tomlgithub:rclone/rcloneripgrep/rgripgrep.tomlgithub:BurntSushi/ripgreprust-analyzerrust-analyzer.tomlgithub:rust-lang/rust-analyzershellcheckshellcheck.tomlgithub:koalaman/shellchecksopssops.tomlgithub:getsops/sopsstyluastylua.tomlgithub:JohnnyMorganz/StyLuataplotaplo.tomlgithub:tamasfe/taplousageusage.tomlgithub:jdx/usageuvuv.tomlgithub:astral-sh/uvyamlfmtyamlfmt.tomlgithub:google/yamlfmtModified — converted to
[[backends]]table form withrename_exe(3 tools)These tools ship binaries with platform-specific or versioned filenames that the
github:backend doesn't automatically rename. Therename_exeoption ensures the binary is callable by its expected short name.github:backendrename_exeshfmtshfmt.tomlgithub:mvdan/sh"shfmt"yqyq.tomlgithub:mikefarah/yq"yq"pre-commitpre-commit.tomlgithub:pre-commit/pre-commit"pre-commit"