Skip to content

Commit

Permalink
Merge pull request #743 from christophermanning/add_contributing_guid…
Browse files Browse the repository at this point in the history
…elines

Add contributing guidelines
  • Loading branch information
int3 committed Dec 10, 2012
2 parents 6fc350c + 23943ea commit b7ac8b1
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 40 deletions.
55 changes: 55 additions & 0 deletions CONTRIBUTING.md
@@ -0,0 +1,55 @@
# Contributing to Vimium

You'd like to fix a bug or implement a feature? Great! Check out the bugs on our issues tracker, or implement
one of the suggestions there that have been tagged 'todo'. If you have a suggestion of your own, start a
discussion on the issues tracker or on the [mailing list](http://groups.google.com/group/vimium-dev?hl=en). If
it mirrors a similar feature in another browser or in Vim itself, let us know! Once you've picked something to
work on, add a comment to the respective issue so others don't duplicate your effort.

## Reporting Issues

Please include the following when reporting an issue:

1. Chrome and OS Version: `chrome://version`
1. Vimium Version: `chrome://extensions`

## Installing From Source

Vimium is written in Coffeescript, which compiles to Javascript. To
install Vimium from source:

1. Install [Coffeescript](http://coffeescript.org/#installation).
1. Run `cake build` from within your vimium directory. Any coffeescript files you change will now be automatically compiled to Javascript.
1. Navigate to `chrome://extensions`
1. Toggle into Developer Mode
1. Click on "Load Unpacked Extension..."
1. Select the Vimium directory.

## Tests

Our tests use [shoulda.js](https://github.com/philc/shoulda.js) and [PhantomJS](http://phantomjs.org/). To run the tests:

1. `git submodule update --init --recursive` -- this pulls in shoulda.js.
1. [Install PhantomJS.](http://phantomjs.org/download.html)
1. `cake test` to run the tests.

## Code Coverage

Bugs and features are not the only way to contribute -- more tests are always welcome. You can find out which
portions of code need them by looking at our coverage reports. To generate these reports:

1. Download [JSCoverage](http://siliconforks.com/jscoverage/download.html) or `brew install jscoverage`
1. `npm install temp`
1. `cake coverage` will generate a coverage report in the form of a JSON file (`jscoverage.json`), which can
then be viewed using [jscoverage-report](https://github.com/int3/jscoverage-report). See
jscoverage-report's [README](https://github.com/int3/jscoverage-report#jscoverage-report) for more details.

## Pull Requests

When you're done with your changes, send us a pull request on Github. Feel free to include a change to the
CREDITS file with your patch.

## Coding Style

* Follow the style already present in the file.
* Ensure your lines don't exceed 110 characters.
44 changes: 4 additions & 40 deletions README.markdown
Expand Up @@ -11,14 +11,9 @@ __Installation instructions:__
You can install the stable version of Vimium from the
[Chrome Extensions Gallery](https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb).

Alternatively, you can install it from source:

1. Install [Coffeescript](http://coffeescript.org/#installation) (needed to build vimium).
2. Run `cake build` in the Vimium directory.
3. Navigate to `chrome://extensions`
4. Toggle into Developer Mode
5. Click on "Load Unpacked Extension..."
6. Select the Vimium directory.
Please see
[CONTRIBUTING.md](https://github.com/philc/vimium/blob/master/CONTRIBUTING.md#installing-from-source)
for instructions on how you can install Vimium from source.

The Options page can be reached via a link on the help dialog (hit `?`) or via the button next to Vimium on
the Chrome Extensions page (`chrome://extensions`).
Expand Down Expand Up @@ -130,38 +125,7 @@ Shifts are automatically detected so, for example, `<c-&>` corresponds to ctrl+s

Contributing
------------
You'd like to fix a bug or implement a feature? Great! Check out the bugs on our issues tracker, or implement
one of the suggestions there that have been tagged 'todo'. If you have a suggestion of your own, start a
discussion on the issues tracker or on the [mailing list](http://groups.google.com/group/vimium-dev?hl=en). If
it mirrors a similar feature in another browser or in Vim itself, let us know! Once you've picked something to
work on, add a comment to the respective issue so others don't duplicate your effort.

Vimium is written in Coffeescript, which compiles to Javascript. To build Vimium from source:

1. Install [Coffeescript](http://coffeescript.org/#installation).
2. Run `cake autobuild` from within your vimium directory. Any coffeescript files you change will now be automatically compiled to Javascript.

Our tests use [shoulda.js](https://github.com/philc/shoulda.js) and [PhantomJS](http://phantomjs.org/). To run
the tests:

1. `git submodule update --init --recursive` -- this pulls in shoulda.js.
2. [Install PhantomJS.](http://phantomjs.org/download.html)
3. `cake test` to run the tests.

Bugs and features are not the only way to contribute -- more tests are always welcome. You can find out which
portions of code need them by looking at our coverage reports. To generate these reports:

1. Download [JSCoverage](http://siliconforks.com/jscoverage/download.html) or `brew install jscoverage`
2. `npm install temp`
3. `cake coverage` will generate a coverage report in the form of a JSON file (`jscoverage.json`), which can
then be viewed using [jscoverage-report](https://github.com/int3/jscoverage-report). See
jscoverage-report's [README](https://github.com/int3/jscoverage-report#jscoverage-report) for more details.

When you're done with your changes, send us a pull request on Github. Feel free to include a change to the
CREDITS file with your patch.

A few coding style guidelines: 1) follow the style already present in the file, 2) ensure your lines
don't exceed 110 characters.
Please see [CONTRIBUTING.md](https://github.com/philc/vimium/blob/master/CONTRIBUTING.md) for details.

Release Notes
-------------
Expand Down

0 comments on commit b7ac8b1

Please sign in to comment.