Ruby runtime
Version, engine, patch level, platform, architecture, and build mode.
Bootprint finds the invisible runtime differences behind Ruby failures across local development, CI, Docker, staging, and production—then tells you what matters and how to fix it.
gem install bootprint
nokogiri targets arm64-darwin
but production uses x86_64-linux.
REDIS_URL is absent in production.
The runtime is part of the application
A lockfile records dependencies. Bootprint records the runtime contract around them: Ruby, native clients, operating system, filesystem behavior, Rails configuration, and presence-only environment metadata.
Create a sanitized, deterministic snapshot in under a second for ordinary Ruby projects.
bootprint capture local
See exactly what changed between local, CI, Docker, staging, or production.
bootprint diff local ci
Turn raw drift into severity, evidence, impact, likely cause, and remediation.
bootprint diagnose local ci
Apply project policy with stable exit codes and machine-readable CI reports.
bootprint ci verify
Actionable by design
Each rule answers what changed, whether it is dangerous, why it matters, and what to do next. Policy controls which findings block a build.
Source uses Ruby 3.4.2 while the target uses 3.4.1. Behavior and bundled library fixes can differ.
Pin one Ruby version in .ruby-version and CI.
One fingerprint, the relevant facts
Version, engine, patch level, platform, architecture, and build mode.
Bundler, RubyGems, lockfile platforms, resolved gems, sources, and native extensions.
OpenSSL, libyaml, SQLite, PostgreSQL, MySQL, libc, compilers, and headers.
Presence-only environment metadata, adapters, framework settings, and deployment drift.
Writability, temporary paths, case sensitivity, path separators, and symlink behavior.
Framework settings, eager loading, adapters, paths, initializers, and opt-in profiling.
Fits the places drift happens
The same diagnosis engine works locally and in automation. Optional integrations stay lazy-loaded so the core CLI remains fast.
Framework defaults, adapters, paths, initializers, and boot profiling.
Inspect an image without exposing a port or touching unrelated containers.
Capture, diagnose, verify, and run doctor from compatible editors.
GitHub annotations, SARIF, stable exit codes, and policy-aware builds.
Sensitive operation, conservative defaults
Bootprint captures environment-variable names and presence—never their values. Recursive redaction strips credential-bearing URLs, tokens, private keys, authorization headers, and identifying paths.
bootprint security audit bootprint.lock
Start with one snapshot
Install Bootprint, capture local, and commit the sanitized runtime contract your deployments should match.
gem install bootprintbootprint capture localbootprint doctor