Thank you for your interest in supporting Sails! It makes us feel warm and fuzzy inside. For real.
Like any OSS project, we must have guidelines for contributions. It helps protect the quality of the code, and gives all of us confidence that our framework will be robust and dependable. Whether it's a bug fix, or a huge new feature set, it's important that we consistently apply these checks and balances for all contributions to Sails.
Please check over the following requirements before submitting a pull request:
- Pull requests should be submitted to the Development Branch.
- Bug fixes should have accompanying tests.
- Should follow Sails.js JShint Guidelines (See .jshint file in repo)
Any pull request to master
(our production branch) will be closed, with an invitation to resubmit to development
.
I know this stuff sounds kind of brutal, but we want to keep master
's tests passing at all times, since it reflects what is in npm
.
If you have a high priority hot-fix for the currently deployed version, please let us know with an issue, and mention @mikermcneil. Also, for emergencies, please feel free to tweet @sailsjs. That'll text me (Mike). Sounds a little insane probably, but if there's a big problem, I want to know about it!
Now that we are all on the same page, lets get to coding some awesomeness of our own :D
Start by forking this repository:
Then clone your fork into your local filesystem:
git clone git@github.com:YOUR_USER_NAME/sails.git
To merge recent changes into your fork, inside your project dir:
git remote add core https://github.com/balderdashy/sails.git
git fetch core
git merge core/master
additional details, see github
Make your enhancements, fix bugs, do your thang
.
Please write a test for your addition/fix. I know it kind of sucks if you're not used to it, but it's how we maintain great code.
For our test suite, we use mocha. You can run the tests with npm test
. If run into trouble with this part, please reach out to the Google Group!
When you're done, you can commit your fix, push up your code, and then go into github and submit a pull request. We'll look it over and get back to you ASAP.
If you have a project using Sails, and you want to test your new version, please do the following:
In your Sails repo: sudo npm link
In your project repo: npm link sails
Tada! Your project will now be using your forked version. If you're not sure it worked, put some crazy console.log()
in the core to make sure. Again, if you've got any issues, hit us up (@sailsjs).