Skip to content

[Dev] Improve onboarding experience for contributors #253

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

kieraneglin
Copy link

Problem Statement

I'm addressing three main issues:

  • Environment setup is often a large bottleneck for new contributors. I've lost count of the times where setting up a new project took 5x longer than writing the code change I wanted to contribute
  • I have a lot of Ruby projects on the go and even with a version manager it's often a pain to keep my dev environment free of cross-contamination. Containerizing your development environment keeps your projects independent from changes on your host machine
  • Many people (myself included) like having only the necessary extensions enabled in my IDE. I don't want a ton of Python/Rust/Elixir add-ons cluttering up a Ruby project

What it does

This PR adds a complete dev container setup to make getting started with inertia-rails development super straightforward. The project can be fully set up and ready for contributions just by opening a code editor that supports devcontainers!

Even if you don't use an editor that supports devcontainers, the provided Docker files also allow savvy users to get up-and-running quickly.

I'm told that this will also allow contribution via GitHub Codespaces but I haven't tested that

Notes

I don't mind at all if you don't accept this PR! It's not high effort but it helped me get set up while I look at #247.

If you're interested in this, I can add a little blurb on this in the README if you'd like 🤙

@@ -2,7 +2,7 @@
# Requiring logger fixes an issue between concurrent-ruby and activesupport in Rails < 7.1
# https://github.com/rails/rails/issues/54260
require 'logger'
ENV['RAILS_ENV'] ||= 'test'
ENV['RAILS_ENV'] = 'test'
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is needed since the container specifies as RAILS_ENV that would override this. You could instead use RAILS_ENV=test bundle exec rspec, but I can't think of a scenario in which you'd want to run the tests in a non-test ENV 🤷‍♂️

@BrandonShar
Copy link
Collaborator

BrandonShar commented Aug 8, 2025

This is awesome! I haven't used devcontainers yet, but I was actually planning on testing some with Claude Code next week. If no one else tests it first, I'll use this branch to try it out. @bknoles are you guys using devcontainers right now?

@bknoles
Copy link
Collaborator

bknoles commented Aug 8, 2025

We've had devcontainers in place on some Python work, but we use a dip/Ruby on Whales setup for Rails apps without any additional IDE config. I'd like to test this out as well! Making it easy to get a full environment up and running is definitely a worthy goal. The (non containerized) setup from the generators makes it so, so easy to tinker with stuff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants