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.
- 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.
- 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.
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:
- Clean code is preferred - if in doubt, take a look back, and refactor.
- If you're interested in helping out, but don't have something specific in mind, check out the project's Github Issues.
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
$ ./install --path $HOME/.rvm-dev $ rvm switch $HOME/.rvm-dev
- 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.