Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add CONTRIBUTING.md.

  • Loading branch information...
commit a24db5c72e1979a1e8356bb06d49d23b0cf4b7fd 1 parent 56dc1a8
@reid authored
View
85 CONTRIBUTING.md
@@ -0,0 +1,85 @@
+# Contribute to Yeti
+
+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][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!
+
+## Getting Started
+
+ 1. Make sure you have a [YUILibrary.com][yui] 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.
+ 1. Make sure you have a [GitHub.com][gh] account.
+ 1. [Submit a ticket][newticket] for your issue, if it does not already exist.
+ - Check [Yeti's open issues][issues] to see if your issue was already reported.
+ 1. Post a comment on the issue's ticket noting that you plan to work on it.
+ 1. Fork the [Yeti repository][repo] on GitHub.
+
+## Making Changes
+
+ 1. Run `npm test` before making changes to make sure your setup is working.
+ 1. 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`
+ 1. Make commits that describe a single logical change. See the example below.
+ 1. Run `git diff --check` and remove unnecessary whitespace.
+ 1. Run `make lint` and make sure your new code runs through the linter
+ without error.
+ 1. Run `make coverage` and make sure your new code is covered with a test.
+ Tests are located in `test` and use [Vows][].
+ 1. 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.
+
+## Submitting Changes
+
+ 1. Sign the [YUI Contributor License Agreement][CLA].
+ 1. Push your changes to a topic branch in your fork of the repository.
+ 1. Submit a pull request to the repositiory in the yui organization.
+ 1. Update your YUILibrary.com ticket with the URL of your pull request.
+
+## Get Help
+
+ - [README.md](https://github.com/yui/yeti/blob/master/README.md)
+ - [Yeti Forums][forums]
+ - #yui on [irc.freenode.net](http://webchat.freenode.net/)
+
+Thanks for working to make Yeti better. We really, really appreciate it!
+
+ [forums]: http://yuilibrary.com/forum/viewforum.php?f=230
+ [CLA]: http://yuilibrary.com/contribute/cla/
+ [yui]: http://yuilibrary.com/
+ [gh]: https://github.com/
+ [issues]: http://yuilibrary.com/projects/yeti/report/1
+ [newticket]: http://yuilibrary.com/projects/yeti/newticket
+ [repo]: https://github.com/yui/yeti
+ [Vows]: http://vowsjs.org/
View
4 Makefile
@@ -26,6 +26,10 @@ html:
./node_modules/.bin/ronn -5 | \
sed -e 's/<[\/]*html>//g' -e 's/<pre>/<pre class="code">/g' \
> doc/quick-start/index.mustache
+ cat CONTRIBUTING.md | sed '1,2d' | \
+ ./node_modules/.bin/ronn -5 | \
+ sed -e 's/<[\/]*html>//g' -e 's/<pre>/<pre class="code">/g' \
+ > doc/contribute/index.mustache
./node_modules/.bin/selleck
.PHONY: html
View
18 README.md
@@ -236,21 +236,7 @@ requires an interactive terminal, which does not yet work.
### Contribute to Yeti
-Your contributions are welcome!
-Please review the [YUI contributor guide][CLA]
-before contributing.
-
-If you haven't contributed to
-a YUI project before,
-you'll need to review and sign
-the [YUI CLA][CLA]
-before we can accept your pull request.
-
-#### Contribution Checklist
-
- 1. Run `make lint` and make sure your new code runs through the linter without error.
- 1. Run `make coverage` and make sure your new code is covered with a test.
- Tests are located in `test` and use [Vows][].
+See [CONTRIBUTING.md](https://github.com/yui/yeti/blob/master/CONTRIBUTING.md).
## Bugs & Feedback
@@ -273,8 +259,6 @@ for license text and copyright information.
[node]: http://nodejs.org/
[npm]: http://npmjs.org/
[issues]: http://yuilibrary.com/projects/yeti/newticket
- [Vows]: http://vowsjs.org/
- [CLA]: http://yuilibrary.com/contribute/cla/
[YUI]: http://yuilibrary.com/
[yuitest]: http://yuilibrary.com/yuitest/
[doctype]: http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype
View
4 doc/contribute/component.json
@@ -0,0 +1,4 @@
+{
+ "name": "contribute",
+ "displayName": "Contribute to Yeti"
+}
View
21 doc/yeti/index.mustache
@@ -96,14 +96,15 @@ setup is as easy as visiting a web page.</p>
<div class="divider">
<hr>
- <h2>Get Involved</h2>
+ <h2>Yeti {{yetiVersion}} Documentation</h2>
</div>
<ul>
- <li><a href="http://yeti.cx/blog/">Yeti Blog</a></li>
- <li><a href="http://github.com/yui/yeti">Yeti on GitHub</a></li>
- <li><a href="http://yuilibrary.com/projects/yeti/newticket">Submit an issue</a></li>
- <li><a href="quick-start/index.html#Develop-Yeti">Develop &amp; Contribute</a></li>
+ {{#components}}
+ {{#meta}}
+ <li><a href="{{name}}/index.html">{{displayName}}</a></li>
+ {{/meta}}
+ {{/components}}
</ul>
</div>
@@ -114,15 +115,13 @@ setup is as easy as visiting a web page.</p>
<div class="divider">
<hr>
- <h2>Documentation for {{yetiVersion}}</h2>
+ <h2>Elsewhere</h2>
</div>
<ul>
- {{#components}}
- {{#meta}}
- <li><a href="{{name}}/index.html">{{displayName}}</a></li>
- {{/meta}}
- {{/components}}
+ <li><a href="http://yeti.cx/blog/">Yeti Blog</a></li>
+ <li><a href="http://github.com/yui/yeti">Yeti on GitHub</a></li>
+ <li><a href="http://yuilibrary.com/projects/yeti/newticket">Submit an issue</a></li>
</ul>
</div>
Please sign in to comment.
Something went wrong with that request. Please try again.