Skip to content

Commit

Permalink
Add CONTRIBUTING.md.
Browse files Browse the repository at this point in the history
  • Loading branch information
reid committed Sep 17, 2012
1 parent 56dc1a8 commit a24db5c
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 28 deletions.
85 changes: 85 additions & 0 deletions 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/
4 changes: 4 additions & 0 deletions Makefile
Expand Up @@ -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

Expand Down
18 changes: 1 addition & 17 deletions README.md
Expand Up @@ -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

Expand All @@ -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
Expand Down
4 changes: 4 additions & 0 deletions doc/contribute/component.json
@@ -0,0 +1,4 @@
{
"name": "contribute",
"displayName": "Contribute to Yeti"
}
21 changes: 10 additions & 11 deletions doc/yeti/index.mustache
Expand Up @@ -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>
Expand All @@ -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>
Expand Down

0 comments on commit a24db5c

Please sign in to comment.