Skip to content

Latest commit

 

History

History
96 lines (75 loc) · 3.01 KB

CONTRIBUTING.md

File metadata and controls

96 lines (75 loc) · 3.01 KB

How to become a contributor and submit your own code

Contributor License Agreements

We'd love to accept your sample apps and patches! Before we can take them, we have to jump a couple of legal hurdles.

Please fill out either the individual or corporate Contributor License Agreement (CLA).

Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests.

Contributing A Patch

  1. Submit an issue describing your proposed change to the repo in question.
  2. The repo owner will respond to your issue promptly.
  3. If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
  4. Fork the desired repo, develop and test your code changes.
  5. Ensure that your code adheres to the existing style in the sample to which you are contributing.
  6. Ensure that your code has an appropriate set of unit tests which all pass.
  7. Submit a pull request!

Style

Samples in this repository follow the JavaScript Semi-Standard Style.

You can run npm run lint to match our JavaScript coding standards.

Sample template

<LICENSE_HEADER>

// [START all]
// [START setup]
// By default, the client will authenticate using the service account file
// specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable and use
// the project specified by the GCLOUD_PROJECT environment variable. See
// https://googlecloudplatform.github.io/gcloud-node/#/docs/google-cloud/latest/guides/authentication
var <API_CLIENT> = require('@google-cloud/<API>');

// Instantiate a <API> client
var <CLIENT> = <API_CLIENT>();
// [END setup]

// [START <REGION_TAG_NAME>]
/**
 * <DESCRIPTION>
 *
 * @param {<TYPE>} <NAME> <DESCRIPTION>.
 * @param {function} cb The callback function.
 */
function <METHOD_NAME> (<ARGUMENTS>, callback) {
  // <SETUP>

  // <RUN SAMPLE CODE>

  // Inside callback: console.log(<MESSAGE>)
}
// [END <REGION_TAG_NAME>]

// The command-line program
var cli = require('yargs');

var program = module.exports = {
  <METHOD_NAME>: <METHOD_NAME>,
  main: function (args) {
    // Run the command-line program
    cli.help().strict().parse(args).argv;
  }
};

cli
  .demand(1)
  .command('<COMMAND> <ARGS>', '<DESCRIPTION>.', {}, function (options) {
    program.<METHOD_NAME>(options, console.log);
  })
  .example('node $0 <COMMAND> <ARGS>', '<DESCRIPTION>.')
  .wrap(100)
  .recommendCommands()
  .epilogue('For more information, see <DOCS_LINK>');

if (module === require.main) {
  program.main(process.argv.slice(2));
}