Cross-platform CLI binary manager for dotfiles that downloads tools from GitHub releases without requiring admin privileges
dotbins is a cross-platform binary management tool that downloads and organizes CLI tools from GitHub releases into your dotfiles repository. It operates without requiring admin privileges or system package managers, making it particularly useful for developers who work across multiple environments where they need consistent access to their preferred CLI tools.
The tool manages binaries across different platforms (macOS, Linux, Windows) and architectures (amd64, arm64), automatically extracting them from various archive formats and organizing them by platform. It tracks installed versions in a manifest file, provides intelligent update detection, and can pin tools to specific versions. Configuration is handled through a YAML file that defines which tools to install and their platform-specific settings.
What differentiates dotbins from other binary managers is its integration with dotfiles workflows. It automatically generates shell integration scripts that configure PATH variables and apply tool-specific shell configurations (aliases, completions) directly within your dotfiles setup. This allows developers to version-control not just their configurations but also their essential CLI tools using Git LFS for efficient binary storage.
The tool provides both configuration-based management through dotbins sync for maintaining a full suite of tools, and ad-hoc installation via dotbins get for quickly installing individual tools. It includes features like GitHub API integration for release detection, support for multiple binaries per tool, and shell startup integration across different shell environments.
# via uv
uv tool install dotbins
# via pip
pip install dotbins
