Skip to content
This repository has been archived by the owner on Feb 25, 2019. It is now read-only.

Latest commit

 

History

History
160 lines (127 loc) · 5.49 KB

CONTRIBUTING.md

File metadata and controls

160 lines (127 loc) · 5.49 KB

Contributors Guide

We are in Gitter and Slack every day, come join us

Gitter or Slack

Working Together to Create Great Code

What We Value

Our work affects not only our direct users, but their users as well. To some extent, our code impacts users across multiple functions in their organization. As contributors we need to take responsibility to ensure our impact is positive.

A desire for accessibilty

We're willing go to great pains to ensure the accessibility of our code to users and other contributors. A healthy codebase is easy to contribute to, because it's easy to understand. It lends itself to debugging, invites reading, and simplifies auditing.

Ready to jump in?

Anvil Connect is a highly collaborative project. We welcome all questions and input, regardless of your area of interest. Here's our thoughts on contribution:

  • Make it readable
  • Be explicit before you are clever
  • Engineering = quality
  • Interoperability is key - play well with others
  • Be agile, flexible and consistent

Submitting your code: Issues and Pull Requests

Issue contributions

You are welcome to open issues relating directly to the development of Anvil Connect. Discussion of docs and philosophical chat should be posted to [Anvil Research Connect Docs] (https://github.com/anvilresearch/connect-docs).

For main project contributions:

  • Check open issues before you open a new one to avoid duplicate work
  • When you're working on something, if it's not a substantial addition, file an issue and let us know

Code Contributions

We welcome code contributions and participation in bug fixes and issues.

  • New features

    • check first to make sure you aren't duplicating work
    • before you submit we'll have a code review hangout
    • consider pairing with a core team member
  • All contributions

    • Make small commits and pull requests
    • Separate features and improvements
    • Verify that dependencies are listed in manifest
    • Features must include test coverage and code review to be accepted

Style guidelines

Javascript

We follow Javascript Standard Style.

Other
  • Indents are 2 spaces; no tab characters (unless required by the language).

    Not OKOK

    <html>   <head></head>   <body>   <div>Hello world</div>   </body> </html>

    <html>
      <head></head>
      <body>
        <div>Hello world</div>
      </body>
    </html>
    • Non-binary files must end with a new-line character.

      Not OKOK
      Missing new-line character New-line character
    • No trailing whitespace (unless required by the language).

      Not OKOK
      Trailing whitespace No trailing whitespace
    • Avoid excess whitespace around code.

      Not OKOK
      identifier( param,       param ) identifier(param, param)

      prop: value prop1: value prop1a: value

      prop: value
      prop1: value
      prop1a: value
      - **No more than one empty line at a time.**
      Not OKOK
        /* Special Classes */
        .fancy { ... }
        .jumbotron { ... }
      /* Other Classes */
      .floaty-boaty { ... }

        /* Special Classes */
        .fancy { ... }
        .jumbotron { ... }
      /* Other Classes */
      .floaty-boaty { ... }

      How to submit new code:

      Fork

      • Fork the project on Github and check out your copy locally.
        • For new features and bug fixes, use the master branch.

      Branch

      • Create a branch and hack away!

      Commit

      • When you commit make sure you include your name and address.

        $ git config --global user.name "I. CanCode"
        $ git config --global user.email "[email protected]"
        
      • Be sure and include a commit log, including a title and relevant changes.

      Vet

      Push

      • Select your feature branch. Click the 'Pull Request' button and fill out the form.

      • Pull requests are usually reviewed right away.

        • If there are comments to address, apply your changes in a separate commit and push that to your branch.
        • Post a comment in the pull request afterwards; GitHub does not send out notifications when you add commits.