Edit Page

Sending pull requests

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 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 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:

Screen Shot 2013-02-12 at 2.37.04 PM.png

Clone

Then clone your fork into your local filesystem: git clone `[email protected]: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.

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. You can run the tests with npm test. See the "Testing" section in the contribution guide for more information.

Screen Shot 2013-02-12 at 2.56.59 PM.png

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.

Screen Shot 2013-02-12 at 2.55.40 PM.png

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.

$ sails lift

Thanks for your contributions!

Using Sails at work?

If your company has the budget, consider purchasing Flagship support. It's a great way to support the ongoing development of the open source tools you use every day. And it gives you an extra lifeline to the Sails core team.

Sails logo
  • Home
  • Get started
  • Support
  • Documentation
  • Documentation

For a better experience on sailsjs.com, update your browser.

Check out the full Sailsconf 2022 playlist on Youtube

Tweet Follow @sailsjs

Documentation

Reference Concepts App structure | Upgrading Contribution guide | Tutorials More

Contribution guide

  • Code of conduct
  • Code submission guidelines
    • Best Practices
    • Sending pull requests
    • Writing tests
  • Contributing to the docs
  • Contributor's pledge
  • Core maintainers
  • Issue contributions
  • Proposing features/enhancements
    • Submitting a proposal

Built with Love

The Sails framework is built by a web & mobile shop in Austin, TX, with the help of our contributors. We created Sails in 2012 to assist us on Node.js projects. Naturally we open-sourced it. We hope it makes your life a little bit easier!

Sails:
  • What is Sails?
  • Community
  • News
  • For business
About:
  • Our company
  • Security
  • Legal
  • Logos/artwork
Help:
  • Get started
  • Documentation
  • Docs
  • Contribute
  • Take a class

© 2012-2023 The Sails Company. 
The Sails framework is free and open-source under the MIT License. 
Illustrations by Edamame.