Skip to content

Latest commit

 

History

History
68 lines (39 loc) · 3.83 KB

contributing.md

File metadata and controls

68 lines (39 loc) · 3.83 KB

Contributing

We are more than happy to accept external contributions to the project in the form of feedback, bug reports and even better - pull requests :) At this time we are primarily focusing on improving the user-experience and stability of Yeoman for our first release. Please keep this in mind if submitting feature requests, which we're happy to consider for future versions.

Issue submission

In order for us to help you please check that you've completed the following steps:

  • Made sure you're on the latest version npm update -g yo
  • Used the search feature to ensure that the bug hasn't been reported before
  • Included as much information about the bug as possible, including any output you've received, what OS and version you're on, etc.
  • Shared the output from running this in your project root yo --version && echo $PATH $NODE_PATH && node -e 'console.log(process.platform, process.versions)' && cat Gruntfile.js as this can also help track down the issue.

Submit your issue

Contributor License Agreement

Before we can accept patches, there's a quick web form we need you to fill out here (scroll to the bottom!).

If you're contributing under a company, you need to fill out this form instead.

This CLA asserts that fixes and documentation are owned by you and that Google can license all work under BSD.

Other projects require a similar agreement: jQuery, Firefox, Apache, and many more.

More about CLAs

Quick Start

  • Add yeoman_test with any value to your environment variables to disable the updater and Insight.
  • Clone the repo of yo, generator, generator-webapp, generator-mocha, and any other generator you might want to develop against, and then run npm install in them.
  • Go to the yo folder and link it globally using npm link then link in the generator repo using npm link path/to/generator.
  • Link in the generators you cloned using eg. npm link path/to/webapp for each.
  • Run yo and you should now see the linked generators in the list.
  • Start hacking :)

You can keep the various repos up to date by running git pull --rebase upstream master in each.

Generators

When developing in the generators repo you probably want to be able to test out your changes. The recommended workflow is to link the generators module into the yo project by running npm link path/to/generator/folder in /yo. This means changes you do in the generators repo will be reflected in the yo repo.

Insight

When developing for Yeoman, you will most likely be running and debugging commands within the CLI. If you have opted into Insight, these commands will be logged. A special --no-insight flag is available for developers wishing to opt out of Insight tracking so inflated stats are not recorded.

Style Guide

This project uses single-quotes, two space indentation, multiple var statements and whitespace around arguments. Please ensure any pull requests follow this closely. If you notice existing code which doesn't follow these practices, feel free to shout and we will address this.

Pull Request Guidelines

  • Submit your CLA, if you haven't.
  • Please check to make sure that there aren't existing pull requests attempting to address the issue mentioned. We also recommend checking for issues related to the issue on the tracker, as a team member may be working on the issue in a branch or fork.
  • Non-trivial changes should be discussed in an issue first
  • Develop in a topic branch, not master
  • Lint the code by running grunt
  • Add relevant tests to cover the change
  • Make sure test-suite passes: npm test
  • Squash your commits
  • Write a convincing description of your PR and why we should land it