CLI tool binary manager that downloads and organizes GitHub release binaries for dotfiles integration
dotbins is a CLI tool binary manager that downloads and organizes pre-compiled binaries from GitHub releases across multiple platforms (macOS, Linux, Windows) and architectures. It operates without requiring package managers or admin privileges, making it ideal for dotfiles workflows where you need consistent tool availability across different environments.
The tool manages binaries through a YAML configuration file that defines tools, their GitHub repositories, version constraints, and platform-specific settings. Running dotbins sync downloads the latest releases (or pinned versions) for configured tools, extracts binaries from various archive formats, and organizes them by platform and architecture. It maintains a manifest.json file to track installed versions and update timestamps.
A key differentiator is dotbins' integration with shell configurations. Beyond downloading binaries, it generates shell integration scripts that automatically configure PATH variables and apply tool-specific shell code (aliases, completions, etc.) directly in your dotfiles workflow. The dotbins get command provides quick installation of individual tools without configuration, supporting both direct GitHub repository references and remote configuration files.
The tool is designed for developers who work across multiple environments and want to version-control their CLI tools alongside their dotfiles. It supports Git LFS for efficient binary storage, allowing tools to be tracked in a separate repository and included as a dotfiles submodule.
# via uv
uv tool install dotbins
# via pip
pip install dotbins