Introduction

Pack is a Rust-powered Ruby package manager and Rails workflow CLI for teams that want gem operations, lockfile work, and app commands to feel like one system.

What Pack covers

Pack combines several jobs Ruby developers usually split across separate commands. It exposes native gem operations, Gemfile and lockfile tooling, task-running via Packfile, project diagnostics, plugin loading, and Rails-specific helper commands.

The product story is simple: keep the verbs, remove the drag.

Who it is for

Pack is aimed at Ruby developers who spend real time in dependency management and Rails teams that want one coherent CLI for app operations. If the pain is repeated shell context switching, slow startup, or hard-to-diagnose dependency state, Pack is relevant.

Current command surface

  • Native gem-facing verbs such as install, list, search, info, env, outdated, and cleanup.
  • Gemfile editing and dependency helpers like add, remove, update, why, and generate.
  • Binary pack.lock generation and inspection.
  • Packfile-driven task execution with pack run and pack tasks.
  • Rails-oriented commands such as server, console, test, rspec, db, assets, cache, docker, rails, and rake.
  • Wrapper-based distribution through gem install pack-rb, which installs the pack launcher.

How to evaluate it

The fastest way to judge Pack is to install it, point it at an existing Rails app, and run the commands a team already repeats every day: pack install, pack update, pack doctor, pack exec, pack server, and pack db migrate.

The benchmark story in this repo is grounded in local measurements and Criterion benches, not synthetic comparison scripts.