Pack is a Rust-powered Ruby package manager and Rails workflow CLI.
It keeps common gem-facing commands close together, adds project and Rails helpers, and aims to cut the usual Ruby CLI startup drag without changing the way Ruby developers already work.
- Website: https://blu3ph4ntom.github.io/pack/
- Docs: https://blu3ph4ntom.github.io/pack/docs/
- Releases: https://github.com/Blu3Ph4ntom/pack/releases
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/Blu3Ph4ntom/pack/main/scripts/install.sh | bash# Windows PowerShell
powershell -ExecutionPolicy Bypass -c "iwr https://raw.githubusercontent.com/Blu3Ph4ntom/pack/main/scripts/install.ps1 -UseBasicParsing | iex"Both installers verify the binary against SHA256SUMS from the GitHub release.
gem install pack-rb
pack --helppack-rb installs the pack launcher. On first run it downloads the matching Pack binary for the current platform from GitHub Releases and verifies it against SHA256SUMS.
gem install pack-rb is effectively the last gem command you need for installing Pack itself.
cargo build --release
target/release/pack --help- RubyGems-compatible commands for install, list, env, uninstall, outdated, cleanup, and global update
- Native RubyGems.org registry reads for search and info
- Gemfile editing with
pack addandpack remove - Lockfile generation with
pack generate - Dependency inspection with
pack why - Direct executable dispatch with
pack exec - Rails helpers including
pack server,pack console,pack test,pack r-spec,pack db,pack assets,pack cache,pack rails, andpack rake - Task execution through
Packfile pack updatefor project gems andpack update --globalfor globally installed gemspack upgradefor upgrading Pack through RubyGems or the direct binary installer- Plugin management through
pack plugins
The repo only advertises numbers that were measured locally or reported directly by Criterion.
| Command | Pack | Comparison target |
|---|---|---|
pack --version |
32.20 ms |
bundle --version at 368.24 ms |
pack list |
16.95 ms |
gem list at 496.37 ms |
| Benchmark | Result | Source |
|---|---|---|
| Gemfile parse (100 deps) | 8.67–8.86 µs |
cargo bench --bench gemfile_parse |
| Lockfile parse (50 gems) | 48.45–50.08 µs |
cargo bench --bench gemfile_parse |
| Lockfile parse (200 gems) | 91.60–117.35 µs |
cargo bench --bench lockfile_bench |
Releases are driven from .github/workflows/release.yml.
On each version tag, the workflow:
- runs workspace tests
- builds the
pack-rbgem - builds platform binaries for Linux, Windows, and macOS
- publishes a GitHub Release with binaries plus
SHA256SUMS - publishes
pack-rbto RubyGems
cargo test --workspace --quiet
cargo build --release -p pack-cli
cd web && npm install && npm run build
cd gems/pack-rb && gem build pack-rb.gemspeccrates/pack-cli— CLI entry pointcrates/pack-gemfile— Gemfile and lockfile parsingcrates/pack-registry— RubyGems.org registry accesscrates/pack-installer— install orchestrationcrates/pack-exec— execution and plugin supportgems/pack-rb— RubyGems wrapper packageweb/— website and docs
MIT