Contributing to Refinery

One of Refinery’s key principles is encouraging people to contribute. This guide will show you how to:

  • Contribute to the documentation (such as this guide)
  • Contribute bug fixes or new features
  • Contribute financially
Edit this guide on Github

1 Contributing documentation or guides

We’d love it if you have a how-to guide on adding or setting up a feature on Refinery.

Read the Writing a guide for this website guide for more information.

2 Contributing bug fixes or new features

This guide is only for advanced users of Refinery

2.1 Setup

2.1.1 In your browser
  • Login to http://github.com
  • Go to http://github.com/refinery/refinerycms
  • If you have a fork of refinerycms already, delete it (if you’re not going to lose work. This makes it much easier for us to integrate your changes back in)
  • Click on “fork” to make a fresh new fork on your own account.
2.1.2 In terminal
$ git clone git@github.com:USERNAME/refinerycms.git
$ cd refinerycms
$ bundle install
$ rake refinery:testing:dummy_app
$ rails server
2.1.3 In your browser

2.2 I found an issue. Where do I file it?

2.3 Contributing a fix

Make your changes to fix a bug. Next generate dummy app and run the Refinery tests

$ bundle exec rake refinery:testing:dummy_app
$ bundle exec rspec ./*/spec

If this doesn’t work. Follow the How to test Refinery guide

Commit your changes:

$ git add path/to/files/changed
$ git commit -m "your fix"

if you’ve filed an issue on Github add “Closes GH-999” (replace 999 with your issue number) to your commit message and it will automatically link the issue to your commit and close it.

$ git push origin master

Now go to http://github.com/refinery/refinerycms and click “Pull Request”. Type a nice message explaining what you’ve done and send the request.

We’ll merge it in if it’s all good.

2.4 Confused on where to find everything?

Take a look at this page which briefly explains the source.

3 Contributing financially

Some of the effort that goes into Refinery CMS is covered by client work where requirements aren’t met by the current implementation and so extensions are required. Most of the effort, however, is done on a free basis by the core team and many contributors worldwide.

If you would like to contribute to Refinery CMS development by helping us to justify spending more time on it then you can donate to the project at pledgie.

All donations are very much appreciated and 100% of proceeds go toward making Refinery CMS even better.