Skip to main content
Skip to main content

Glossary

This glossary defines key terms and concepts used throughout the b documentation.

B

b - A modern binary manager and environment file syncer for developers that simplifies installation, versioning, and management of command-line tools and configuration files.

.bin/b.yaml - The configuration file that defines binary and env dependencies for a project, typically located in the .bin directory. Contains version specifications, env entries, and metadata.

b.lock - The lock file that records exact checksums and commit hashes for all managed artifacts. Used by b verify to detect drift.

Binary - An executable command-line tool managed by b (e.g., jq, kubectl, terraform).

Binary Manager - A tool that automates the installation, versioning, and PATH management of command-line utilities.

C

CLI - Command Line Interface. The text-based interface used to interact with b.

Configuration Discovery - The process by which b automatically locates and loads the nearest .bin/b.yaml file in the directory hierarchy.

Context-Aware - b's ability to automatically detect and use project-specific configurations without explicit file paths.

D

Dependency Management - The process of managing tool versions and ensuring consistent environments across different systems.

Download Cache - Local storage where b keeps downloaded binaries to avoid re-downloading.

E

Env (Environment File) - A configuration file synced from an upstream git repository. Managed in the envs section of b.yaml.

Env Sync - The process of fetching files from upstream git repos and writing them to local destinations, with checksum tracking via b.lock.

Environment Isolation - Keeping project-specific tool versions separate from system-wide installations.

Executable - A binary file that can be run as a command.

G

Git Cache - Local bare clones of upstream repositories stored at ~/.cache/b/repos/. Managed via b cache clean and b cache path.

GitHub Releases - The source from which b downloads most binaries, using GitHub's release API.

Global Installation - Installing b system-wide, making it available to all users.

I

Installation Path - The directory where b installs and manages binaries (typically ~/.local/share/b/bin/).

Isolation - Keeping different projects' tool versions separate to avoid conflicts.

M

Merge Strategy - Controls how env file updates handle local changes. Options: replace (overwrite), client (keep local), merge (three-way diff).

P

PATH - The environment variable that tells the shell where to find executable programs.

PATH Management - b's automatic handling of adding managed binaries to the system PATH.

Project-Based Configuration - Using .bin/b.yaml files to define tool requirements specific to individual projects.

Provider Reference - A git-cloneable path used to install binaries or sync env files from GitHub (e.g., github.com/org/repo).

S

SCP Syntax - The repo@version:/glob dest format used with b install to sync env files from upstream repos. Inspired by the scp command's remote path notation.

Subcommand - A secondary command that follows the main b command (e.g., install, update, list).

Symlink - A symbolic link that points to the actual binary location, used for PATH management.

V

Version Constraint - Specifications in b.yaml that define which version of a tool to use (e.g., "1.6", "latest").

Version Resolution - The process of determining which specific version to install based on constraints.

Verify - The process of checking installed artifacts against b.lock checksums to detect drift or corruption (b verify).

Versioning - Managing different versions of the same tool for different projects or requirements.

Was this section helpful?