Skip to content

Latest commit

Β 

History

History
61 lines (45 loc) Β· 2.82 KB

CONTRIBUTING.md

File metadata and controls

61 lines (45 loc) Β· 2.82 KB

Contributing to Knockout (TKO)

πŸŽ‰ Thanks for taking the time to contribute!

When thinking of contributing, the most important thing is to use your best judgement.

Knockout is maintained by volunteers whose time is limited, so the more you can do up front, the faster something will get analyzed and fixed.

This project adheres to the Contributor Covenant code of conduct. By participating, you are agreeing to uphold this code.

How to Contribute

Have a look on StackOverflow, in the source, on gitter.im, and in the documentation, to see if someone else has already reported the issue.

Second, include as many details as possible. Good details likely include:

  1. Use a clear, descriptive title.
  2. Note the platform, browser, and library versions.
  3. Describe the exact steps to reproduce the problem – not necessarily just what you did but how you did it.
  4. Provide a specific example, preferably on a Javascript sandbox like jsFiddle, jsBin, or CodePen.
  5. Describe the problem observed.
  6. Explain the expected results.

If the issue is an enhancement, consider also including:

  1. Explain why it would be useful.
  2. List other applications that have the enhancement.

Pull Requests

A good pull request might include:

  1. Thoughtfully worded, well-structured tests in the spec/ folder that pass for all supported browsers
  2. Inline documentation
  3. Commit messages that follow the style (from Atom):
  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally
  • When only changing documentation, include [ci skip] in the commit description
  • Consider starting the commit message with an applicable emoji:
    • 🎨 :art: when improving the format/structure of the code
    • 🐎 :racehorse: when improving performance
    • 🚱 :non-potable_water: when plugging memory leaks
    • πŸ“ :memo: when writing docs
    • 🐧 :penguin: when fixing something on Linux
    • 🍎 :apple: when fixing something on Mac OS
    • 🏁 :checkered_flag: when fixing something on Windows
    • πŸ› :bug: when fixing a bug
    • πŸ”₯ :fire: when removing code or files
    • πŸ’š :green_heart: when fixing the CI build
    • βœ… :white_check_mark: when adding tests
    • πŸ”’ :lock: when dealing with security
    • ⬆️ :arrow_up: when upgrading dependencies
    • ⬇️ :arrow_down: when downgrading dependencies
    • πŸ‘• :shirt: when removing linter warnings

Style

Do your best to mimic the local style.