sails
Version:
API-driven framework for building realtime apps, using MVC conventions (based on Express and Socket.io)
77 lines (52 loc) • 3.43 kB
Markdown
# Sending pull requests
<!--
> **NOTE**
> This is really just a support document for the official contribution guide [here](https://github.com/balderdashy/sails/blob/master/CONTRIBUTING.md) and is mainly focused on helping guide you through the mechanics of submiting a pull request. If this document contradicts the official contribution guide in any way, particularly re: rules/guidelines, or if you're otherwise in doubt, go w/ the offical guide :)
>
> Thanks!
> ~mm
-->
This guide is designed to get you started contributing to the Sails framework. It assumes basic familiarity with Github, but it should be useful for contributors of all levels.
## Contribution guidelines
Like any open-source project, we must have guidelines for contributions—it helps protect the quality of the code and ensures that our framework stays robust and dependable.
For these reasons, it's important that contribution protocols are followed for *all* contributions to Sails, whether they be bug fixes or whole sets of new features.
Before submitting a pull request, please make sure:
- Any bug fixes have accompanying tests where possible. We use [Mocha](http://visionmedia.github.io/mocha/) for testing.
- Code follows our style guide, to maintain consistency (see `.jshint` and/or `.editorconfig` files in repo).
If you have a high-priority hot-fix for the currently deployed version, please [post an issue on Github](https://github.com/balderdashy/sails/issues?milestone=none&state=open) and mention @mikermcneil. Also, for emergencies, please feel free to tweet @sailsjs.
Now that we are all on the same page, lets get to coding some awesomeness of our own :D
## Fork
Start by forking the repository:

## Clone
Then clone your fork into your local filesystem:
git clone `git@github.com:YOUR_USER_NAME/sails.git`
## Update
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
```
For additional details, see [Github](https://help.github.com/articles/fork-a-repo).
## Code
Make your enhancements, fix bugs, do your thang.
## Test
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](http://visionmedia.github.com/mocha/). You can run the tests with `npm test`. See the "Testing" section in the contribution guide for more information.

## Pull request
When you're done, you can commit your fix, push up your changes, and then go into Github and submit a pull request. We'll look it over and get back to you ASAP.

## Running your fork with your application
If you forked Sails and you want to test your Sails app against your fork, here's how you do it:
In your local copy of your fork of Sails:
`sudo npm link`
In your Sails app's repo:
`npm link sails`
This creates a symbolic link as a local dependency (in your app's `node_modules` folder). This has the effect of letting you run your app with the version Sails you `linked`.
```bash
$ sails lift
```
### *Thanks for your contributions!*
<docmeta name="displayName" value="Sending pull requests">