VOOZH about

URL: http://rvm.io/development/contributing

⇱ RVM: Ruby Version Manager - Contributing to the RVM project.


👁 RVM Logo
Support
RVM is maintained by community of volunteers, report issues to RVM issues tracker.
If you can help or wish to become one of the maintainers - just start helping. You can find more RVM related projects at RVM Github organization.
Donation
Love RVM? Help us maintain RVM, a donation can help with it. Want to help in other way, want to be a sponsor?
contact: Michal Papis
Sponsors
👁 Fastly
Carbon Ads
Documentation  >  Development  >  Contributing

Contributing to RVM

So, you want to contribute to rvm? Excellent! We can always do with an extra helping hand (or two). If you're not a great coder, we always appreciate people helping out in the channel, and giving support. If you are interested in coding, there are a few things you'll need to know - and a few things that make the process in general a lot smoother.

We also greatly appreciate documentation patches, submitted from the rvm-site repository.

General Guidelines

  1. Read the How to hack on RVM guide. It explains how to setup a second copy of RVM to allow you to hack without disturbing your primary RVM installation and how to use the RVM test suite.
  2. When contributing, either keep patches small and clear, or work on a topic branch - this makes it easier for us to merge in discrete changes, and means you always keep things separate where needed.
  3. The code has to be compatible with bash, and takes an almost git-like design architecturally. Many actions (e.g. aliases) call out to a script in the ~/.rvm/scripts directory. For an example of the new, simplified style for coding these, make sure you check out:
    • scripts/snapshot
    • scripts/repair
    • scripts/tools
  4. Clean code is preferred - if in doubt, take a look back, and refactor.
  5. If you're interested in helping out, but don't have something specific in mind, check out the project's Github Issues.

Handy Tips

  1. Generally, working in a clone of the repository is by far the best way to go. When you need to test out something on a fresh install, install a new RVM to a separate path, then use `rvm switch ...` to use it. This is discussed in the hacking guide.
    $ ./install --path $HOME/.rvm-dev
    $ rvm switch $HOME/.rvm-dev
    
  2. It helps to use bash as your primary shell, but for some features you'll want to have zsh installed as well, to ensure compatibility.

Repositories

RVM Documentation Index | RVM Blog
RVM Interpreters Rubies
Gemsets Set Actions Workflow Deployment
Integration
Packages Presentations Help & Support Quality Assurance Development Credits
∞ Copyright © 2009-2011 Wayne E. Seguin © 2011-2017 Michal Papis © 2016-2017 Piotr Kuczynski ∞ Built with Nanoc ∞ Cached by Fastly ∞ Tested by Travis CI