-
Notifications
You must be signed in to change notification settings - Fork 24
Guide To Contributing
Need a new feature? Need a bug fixed urgently? Want to put a nifty open source project on your resume? Hey guy, it sounds like you want to be a contributor! Contributing to open source software can be a rewarding, difficult, fun, maddening experience.
I want to make contributing to SculeJS as easy as possible, but in order to submit patches, bug fixes and new features there's a bit of process to follow.
The first thing you need to do is fork the repository on Github and clone it to your local development environment:
$ git clone [email protected]:{your github username}/sculejs.git
$ git remote add sculejs [email protected]:dan-eyles/sculejs.git
Once your local environment is set up and you've checked out the code, make sure the test suite runs without any failures.
Before you start cutting code make sure you check the current issue list (look up there in the top menu), someone might already be working on the same thing and you guys can collaborate. If it turns out you've got a brand new issue then open a ticket describing what you want to fix/build/create and I'll come back to you with some notes around how I think you should approach the changes. Once we're both on the same page you can create a new local branch:
$ git checkout -b my-awesome-issue master
We all know writing code is fun, right? Well as part of the SculeJS development process you should also write tests using the JSUnit automated testing framework - these tests should cover all the new code you're contributing to the project, as well as any code you might be modifying or affecting through your changes.
So you've written your patch, you've written and run your tests and you're ready to push some code. When checking in code you should commit with a relevant message including the ticket number for the issue:
$ git add ./lib/com.scule.mynewlibrary
$ git commit -m "#myissuenumber - and a brief description of my issue"
$ git push origin my-awesome-issue
Once you're done checking in your code, go to your Github homepage and submit a pull request. I'll do a code review and either merge it or provide feedback on any changes that need to be made. If I ask you to resubmit then just repeat the check-in/commit/push/pull request.
You're all ready to go. Rockin'