How to start contributing to rails core?

I have hands-on experience with Rails and now I want to contribute to Rails core but I am not able to understand exactly how should I start I mean:

Option 1: I pick any open issue and start to solve it by understanding the required issue

Option 2: I spend some time understanding the Rails code base and then start

So can someone please help how should I start or if there is any better way it would be very helpful.

Thanks :slight_smile:

Easiest way to contribute is to be responsible for a production app running the latest rails version and work on it every day. You will eventually end up adding to your app something that does not exist in Rails, but might be useful so you can try to upstream it.

Another way is to run Rails Edge (point you gemfile to github: "rails/rails", branch: "main") have a good test suite and update often. You will eventually come across a change that breaks something in your app (but didn’t break in the other contributor’s app or rails CI), which will allow you to fix it.

At least, that’s how all my contributions happened.

2 Likes

If you’re just starting, why not focus on reviewing existing PRs for now? The focused change will give you a targeted space to investigate, and you can try cloning & running the tests yourself. Once you’re comfortable with the ecosystem you could then start looking for smaller tickets to tackle yourself.

2 Likes

Agreed to work on the production app but sadly right now I don’t have that option so yes as you suggested I will definitely try the latter one.

1 Like

Got it. I was doing that only will try to understand the changes.

Sometimes it’s hard to understand the changes done by the user so in that case is it okay to ask doubts in comment sections or else we follow any other practice?

Join the Rails community on GitHub and other communication channels (e.g., mailing lists, forums, or chat rooms). Introduce yourself and express your interest in contributing.

I like Breno Gazzola’s idea. It does not have to be your Rails app. Take any popular Rails apps like:

You can run it locally against the Rails edge and see what breaks and fix it in either Rails or that Rails app.

other than this does rails have other forums? if yes please let me know which are they

Got it, thanks @Bala_Paranj1

I have been documenting my contributions here: learning-nuxt/rails/tasks at main · bparanj/learning-nuxt · GitHub

Every article is broken into actionable items. Taking action everyday is key. Currently there are 10 items. My first PR for docs was merged yesterday. Two PRs were rejected. Rejection is part of the process.

1 Like

Here is something that you can implement: Rails 7 without node.js, importmap, etc - #6 by Bala_Paranj1

This will be useful and eventually, it could become part of Rails. Maybe Thor can be used for this task.

1 Like