DocktorRails
DocktorRails is a tiny preflight checker for Rails Docker/Compose dev environments. It catches common cross-machine issues early (CRLF shell scripts, missing compose-referenced files, build path mistakes, platform pinning risk) and provides CI-friendly JSON output.
Installation
Add it to your Rails app:
bundle add docktor_railsUsage
Run in your project root:
bundle exec docktor_rails diagnoseScan another directory (useful in mono-repos):
bundle exec docktor_rails diagnose --root ../some_appCI/automation (JSON):
bundle exec docktor_rails diagnose --format json --output preflight.jsonOptions:
-
--verbose: show passing checks -
--quiet: only show errors/warnings + summary (good for CI logs)
Exit codes
-
0: no failing checks -
1: one or more failing checks -
2: tool/internal error
GitHub Actions example
name: Preflight
on:
pull_request:
push:
branches: [ main ]
jobs:
preflight:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- run: bundle exec docktor_rails diagnose --format json --output preflight.json
- if: always()
uses: actions/upload-artifact@v4
with:
name: docktor-rails-preflight
path: preflight.jsonContributing
Issues and pull requests are welcome.
License
MIT