Skip to content
Real World Ruby apps and their open source codebases for developers to learn from
Branch: master
Clone or download
Latest commit 60a2c6d Jan 19, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
apps Add @sferik / t Jan 19, 2018
.gitmodules Add @sferik / t Jan 19, 2018 Initial commit Oct 3, 2017

Real world Ruby apps

Real World Ruby apps and their open source codebases for developers to learn from

You'll find the source code in the apps/ subdirectory. These apps are:

  • Not based on any framework (see other repos for Rails, Sinatra, etc.)
  • Executable via the command line

Thank you to every developer who has worked on a project this repo links to, your work is helping developers learn Ruby.

How to install on your computer

# Clone this git repo:
git clone

cd real-world-ruby-apps/

# The apps are linked to as git submodules.
# This will take some time...
git submodule update --init

Other Real World codebase collections

Information for contributors

Is your app the right fit?

  • The majority of the codebase should not be based on any framework, like Rails or Sinatra. There are dedicated Real World repos for these.
  • The vast majority of the codebase should be written in Ruby.
  • The main app should be executable via a binary.
  • The app should be somewhat popular, in order to limit the apps in this repo to a manageable amount. There is some leeway in what constitutes a popular app. A possible indicator can be GitHub stars compared to similar apps.

Don't hesitate to submit a pull request if you meet the criteria!

How to add a Real World app

Given a GitHub repo for an app githubuser/foo:

# Inside the project root:
git submodule add -b master apps/foo

Updating the apps submodules to latest

The apps in apps/ are git submodules. Git submodules are locked to a revision and don't stay in sync with the latest revision.

To update the revisions, run:

# This will take some time:
git submodule foreach git pull origin master


  • Jerome Dalbert
  • Contributions are welcome, fork the GitHub repo, make your changes, then submit your pull request! Reach out if you'd like some help.
You can’t perform that action at this time.