Yeti is built by the YUI Team at Yahoo! and contributors like you. We are excited that you are interested in improving Yeti with us. This guide will help make sure your contribution will be ready to ship.
If you are considering larger changes to Yeti, please discuss your proposed change on the Yeti Forums to coordinate effort and get feedback from Yeti users. For small changes and bugfixes, opening a bug (if it does not already exist) and posting that you're working on it is just fine. Thank you!
- Make sure you have a YUILibrary.com account.
- We use this to track Yeti bugs and contributor CLAs.
- Sign up with the same e-mail address you use in your Git commit messages.
- Using the same address allows us to verify your CLA is on file.
- Make sure you have a GitHub.com account.
- Submit a ticket for your issue, if it does not already exist.
- Check Yeti's open issues to see if your issue was already reported.
- Post a comment on the issue's ticket noting that you plan to work on it.
- Fork the Yeti repository on GitHub.
npm testbefore making changes to make sure your setup is working.
- Create a topic branch for your contribution.
- This is usually based off master.
You can create a topic with
git checkout -b my-bugfix-branch-name
- This is usually based off master. You can create a topic with
- Make commits that describe a single logical change. See the example below.
git diff --checkand remove unnecessary whitespace.
make lintand make sure your new code runs through the linter without error.
make coverageand make sure your new code is covered with a test. Tests are located in
testand use Vows.
- Make sure all existing tests pass.
Example Commit Message
Provide example. 50 chars, present-tense. Fix #1. Detailed explanatory text, if necessary. Be clear and concise. Wrap text to about 72 characters. The blank line between the summary and body is important; Git tools expect the blank line and may not behave correctly if it's omitted. Sometimes the first line is treated as the subject of the email and the rest as the body. Write your commit message in the present tense: "Fix foo" and not "Fixed foo." This convention matches the commit messages generated by tools like git merge and git revert. Include the YUILibrary.com bug number in your summary, e.g. "Fix #1." Further paragraphs come after blank lines. - You can also create lists with bullet points. - A hyphen is used for the bullet, preceded by a single space, with blank lines in between. - Use a hanging indent.
- Sign the YUI Contributor License Agreement.
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request to the repository in the yui organization.
- Update your YUILibrary.com ticket with the URL of your pull request.
Thanks for working to make Yeti better. We really, really appreciate it!