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 for developers that simplifies installation, versioning, and management of command-line tools.

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

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

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

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

G

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.

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.

S

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.

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

Was this section helpful?