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.
- Run
npm test
before 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.
- Run
git diff --check
and remove unnecessary whitespace. - Run
make lint
and make sure your new code runs through the linter without error. - Run
make coverage
and make sure your new code is covered with a test. Tests are located intest
and use Vows. - Make sure all existing tests pass.
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.
- README.md
- Yeti Forums
- #yui on irc.freenode.net
Thanks for working to make Yeti better. We really, really appreciate it!