repobin
Status: experimental / under active development. The CLI behavior and config format may change without notice.
repobin installs lightweight commands onto your PATH that dispatch to
repo-defined Bazel binaries in the current working directory.
Install
Usage
Check in a repo-root REPOBIN.toml:
= 1
[]
= "//tools/boss/cli:boss"
[]
= "//tools/cube:cube"
Then install the repobin binary plus tool symlinks:
If you use direnv, a lightweight setup is to make sure the same install
directory is on PATH while you are in the repo:
That keeps boss, cube, and other configured commands available without
having .envrc mutate global install state on directory entry.
Once installed, invoking a configured tool from inside that repo will:
- find the nearest
REPOBIN.toml, - build the configured Bazel target,
- resolve the runnable executable from Bazel metadata,
- replace the current process with the built binary.
Examples:
Notes
repobincurrently supports Bazel-backed tools only.- It expects a working
bazelentry point onPATH. repobin installdefaults to~/binand warns if the chosen directory is not onPATH.- If you use
direnv, prefer adding the chosenrepobinbin dir toPATHrather than runningrepobin installfrom.envrc.