registry: add github: fallback backends for locally-verified tools#10145
registry: add github: fallback backends for locally-verified tools#10145matracey wants to merge 34 commits into
Conversation
Convert to [[backends]] table form so rename_exe can be attached to the github: entry, renaming the version-suffixed release binary to its expected short name.
Convert to [[backends]] table form so rename_exe can be attached to the github: entry, renaming the version-suffixed release binary to its expected short name.
Convert to [[backends]] table form so rename_exe can be attached to the github: entry, renaming the platform-suffixed release binary to its expected short name.
There was a problem hiding this comment.
Code Review
This pull request adds github backends to various tool registries and updates the corresponding end-to-end tests to reflect these additions. The review feedback suggests using inline tables for simple backend options in pre-commit.toml and shfmt.toml to improve readability and prevent potential TOML scoping issues.
Greptile SummaryAdds
Confidence Score: 4/5Safe to merge — all additions are purely additive fallback entries; a failing github: backend would transparently fall through to the next backend in the chain All 34 additions follow the established [[backends]] / inline pattern already used by other registry files. The bin option usage in shfmt.toml and pre-commit.toml is correct and matches the buck2.toml precedent. e2e tests are updated consistently. The one caveat is that cross-platform verification was performed only on Windows x86_64 — tools with complex release structures (cmake, lua-language-server, ninja) may behave differently on Linux/macOS, though the fallback chain means any failure is non-breaking. No files require special attention; tools with non-trivial release structures (cmake.toml, lua-language-server.toml, rust-analyzer.toml) are worth a quick cross-platform smoke-test if possible, but failures are non-breaking due to the fallback chain Important Files Changed
Reviews (1): Last reviewed commit: "registry: add github backend for yq" | Re-trigger Greptile |
Follow-up to #10000. I didn't get a chance to address the bot review comments there before the branch became stale.
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, pre-commit), the entries use the[[backends]]table form to setbinto 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
binor 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 (32 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/yamlfmtyqyq.tomlgithub:mikefarah/yqModified — converted to
[[backends]]table form to setbin(2 tools)These tools ship binaries with platform-specific or versioned filenames that the
github:backend doesn't automatically rename. Thebinoption ensures the binary is callable by its expected short name.github:backendbinshfmtshfmt.tomlgithub:mvdan/sh"shfmt"pre-commitpre-commit.tomlgithub:pre-commit/pre-commit"pre-commit"