Installation

repos is distributed as a compiled Go CLI binary. Install it via system package managers, release installers, or from source. Optional R and Python wrappers dispatch to the installed repos binary.

Release asset matrix

GitHub Releases publish Go CLI binaries for:

  • Linux (amd64, arm64) as .tar.gz
  • macOS (amd64, arm64) as .tar.gz
  • Windows (amd64, arm64) as .zip (plus .exe bare binaries for installer scripts)
  • Stable direct-download bare binaries for installer scripts:
    • repos_linux_<arch>
    • repos_darwin_<arch>
    • repos_windows_<arch>.exe

Python and R components are wrappers around the same CLI and are platform-neutral. Install the wrapper package (pip/R) and ensure repos is installed on PATH.

Ubuntu / Debian

Option 2: Local Release Installer (No sudo required)

Install the latest release binary into the first writable directory already present in your PATH:

git clone https://github.com/MiguelRodo/repos.git
cd repos
bash install-local.sh

If no writable path entry exists, the installer will stop with guidance.

To uninstall:

bash uninstall-local.sh

Option 3: System-wide from Release .deb (requires sudo)

Prefer Option 1 (APT) for automatic updates. If needed, manually download and install a release .deb from the Releases page:

VERSION_REPOS=1.2.6
ARCH="$(dpkg --print-architecture)"
wget "https://github.com/MiguelRodo/repos/releases/download/v${VERSION_REPOS}/repos_${VERSION_REPOS}_${ARCH}.deb"
sudo dpkg -i "repos_${VERSION_REPOS}_${ARCH}.deb"
rm "repos_${VERSION_REPOS}_${ARCH}.deb"

# Fix any dependency issues
sudo apt-get install -f

To uninstall:

sudo dpkg -r repos

Runtime Requirements

  • Required for core usage:
    • git
  • Required only for specific commands:
    • repos create: gh CLI with authentication (gh auth login or GH_TOKEN)
    • Rscript (repos install-r-deps)

macOS (Homebrew)

brew tap MiguelRodo/repos
brew install repos

Git is typically pre-installed on macOS.


Windows

Option 2: Scoop

scoop bucket add repos https://github.com/MiguelRodo/scoop-bucket
scoop install repos

git and jq are installed automatically by Scoop. Git Bash is only needed if your workspace scripts rely on Bash (for example run.sh pipelines).


From Source (Go)

Install directly from the remote module path:

go install [github.com/MiguelRodo/repos/v2/cmd/repos@latest](https://github.com/MiguelRodo/repos/v2/cmd/repos@latest)

Or build from a local clone:

git clone [https://github.com/MiguelRodo/repos.git](https://github.com/MiguelRodo/repos.git)
cd repos
go build -o repos ./cmd/repos
# Install system-wide on Linux/macOS
sudo mv repos /usr/local/bin/

Language Wrappers

R Package

install.packages("devtools")
devtools::install_github("MiguelRodo/repos")

Requires repos and git on your system PATH for full wrapper coverage (including Codespaces helpers).

Python Package

pip install git+https://github.com/MiguelRodo/repos.git

Or from a local clone:

git clone https://github.com/MiguelRodo/repos.git
cd repos
pip install .

Requires repos and git on your system PATH for full wrapper coverage (including Codespaces helpers).


Verify Installation

repos --help