Bootprint 0.2 is available

Reproduce the environment,
not just the dependencies.

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
Bootprint fingerprint logo
bootprint diagnose
$ bootprint diagnose local production
CRITICALNative extension platform mismatch

nokogiri targets arm64-darwin
but production uses x86_64-linux.

ERRORRequired variable missing

REDIS_URL is absent in production.

2 blocking findings142 ms
39built-in rules
4report formats
0runtime dependencies
Localno hosted service

The runtime is part of the application

“Works on my machine” is a difference you haven’t measured yet.

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.

  1. 01

    Capture

    Create a sanitized, deterministic snapshot in under a second for ordinary Ruby projects.

    bootprint capture local
  2. 02

    Compare

    See exactly what changed between local, CI, Docker, staging, or production.

    bootprint diff local ci
  3. 03

    Diagnose

    Turn raw drift into severity, evidence, impact, likely cause, and remediation.

    bootprint diagnose local ci
  4. 04

    Enforce

    Apply project policy with stable exit codes and machine-readable CI reports.

    bootprint ci verify

Actionable by design

Not a diagnostic dump. A decision.

Each rule answers what changed, whether it is dangerous, why it matters, and what to do next. Policy controls which findings block a build.

  • Severity from info to critical
  • Structured evidence and remediation
  • Rule suppression and severity overrides
  • Human, JSON, SARIF, and Markdown reports
Understand findings
WARNING

Ruby patch-level drift

Source uses Ruby 3.4.2 while the target uses 3.4.1. Behavior and bundled library fixes can differ.

Source
ruby 3.4.2
Target
ruby 3.4.1
Recommended fix Pin one Ruby version in .ruby-version and CI.

One fingerprint, the relevant facts

Inspect the layers that actually break Ruby applications.

RB

Ruby runtime

Version, engine, patch level, platform, architecture, and build mode.

GM

Dependencies

Bundler, RubyGems, lockfile platforms, resolved gems, sources, and native extensions.

NL

Native libraries

OpenSSL, libyaml, SQLite, PostgreSQL, MySQL, libc, compilers, and headers.

CF

Configuration

Presence-only environment metadata, adapters, framework settings, and deployment drift.

FS

Filesystem

Writability, temporary paths, case sensitivity, path separators, and symlink behavior.

RL

Rails boot

Framework settings, eager loading, adapters, paths, initializers, and opt-in profiling.

Sensitive operation, conservative defaults

Useful fingerprints without leaking the application.

Bootprint captures environment-variable names and presence—never their values. Recursive redaction strips credential-bearing URLs, tokens, private keys, authorization headers, and identifying paths.

No telemetryNo upload serviceNo network during captureStrict privacy mode
bootprint security audit bootprint.lock

Start with one snapshot

Make the environment reproducible.

Install Bootprint, capture local, and commit the sanitized runtime contract your deployments should match.

1gem install bootprint
2bootprint capture local
3bootprint doctor