Simple
Simple
Packages are installed in one command, with all dependencies defined in single JSON file per-project. All packages use Buck as a build system, yielding faster builds.
Secure
Secure
The dependency graph is tracked through Git and external resources are hashed to ensure integrity. Your team can easily examine the exact versioning of all build inputs
Open-source
Open-source
Buckaroo is fully open-source and released under a permissive MIT license. You can rest assured that your project is not locked into proprietary technology.
Why Buckaroo?
Package managers like NPM, Yarn and Cargo have shown how productive developers can be when they can easily integrate a large ecosystem of projects. Buckaroo fills this gap for C++.
Pull dependencies directly from GitHub, BitBucket, GitLab, hosted Git and HTTP.
Pull dependencies directly from GitHub, BitBucket, GitLab, hosted Git and HTTP.
Fully reproducible builds and dependency resolution.
Fully reproducible builds and dependency resolution.
Completely decentralized - there is no central server or publishing process.
Completely decentralized - there is no central server or publishing process.
Allows any build configuration (even on a package-by-package basis).
Allows any build configuration (even on a package-by-package basis).
Private and public dependencies to avoid "dependency hell".
Private and public dependencies to avoid "dependency hell".
Multiple libraries per package, so tools like Lerna are unnecessary.
Multiple libraries per package, so tools like Lerna are unnecessary.
Pull individual packages out of mono-repos.
Pull individual packages out of mono-repos.
Full support for semantic versioning (but only when you want it!).
Full support for semantic versioning (but only when you want it!).
Live at head! Move fast by depending directly on Git branches, but in a controlled way.
Live at head! Move fast by depending directly on Git branches, but in a controlled way.
Blazing fast resolution using clever heuristics.
Blazing fast resolution using clever heuristics.
Version equivalency checks to reduce dependency conflicts.
Version equivalency checks to reduce dependency conflicts.
TOML configuration files for convenient editing by computers and humans.
TOML configuration files for convenient editing by computers and humans.
How Buckaroo Works?
How Buckaroo Works?
The Buckaroo model is very simple. Packages live in source-control, and a manifest file is used to describe dependencies. This points to further manifests to create a dependency graph. Buckaroo works directly over Git and HTTP.