|
| 1 | +# Keen IO JavaScript Client |
| 2 | + |
| 3 | +First off, thank you for considering contributing to this official Keen IO client. It's people like you that make Keen IO such a great tool. |
| 4 | + |
| 5 | +We put these guidelines together to try and make working with our SDK as straight forward as possible, and hopefully help you understand how we communicate about potential changes and improvements. |
| 6 | + |
| 7 | +Improving documentation, bug triaging, building modules for various frameworks or writing tutorials are all examples of helpful contributions we really appreciate. |
| 8 | + |
| 9 | +Please, don't use the issue tracker for support questions. If you have a support question please come hang out in http://keen.chat or send an email to team@keen.io |
| 10 | + |
| 11 | +## Guidelines |
| 12 | + |
| 13 | +* Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback. |
| 14 | +* Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. See the [Python Community Code of Conduct](https://www.python.org/psf/codeofconduct/). |
| 15 | + |
| 16 | +## Your First Contribution |
| 17 | + |
| 18 | +Here are a couple of friendly tutorials with more information about contributing to OSS projects: http://makeapullrequest.com/, http://www.firsttimersonly.com/, and [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github). |
| 19 | + |
| 20 | +At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first :smile_cat: |
| 21 | + |
| 22 | +If a maintainer asks you to "rebase" your PR, they're saying that a lot of code has changed, and that you need to update your branch so it's easier to merge. |
| 23 | + |
| 24 | +### Run the following commands to get this project set up locally. |
| 25 | + |
| 26 | +```ssh |
| 27 | +$ git clone https://github.com/keenlabs/keen-js.git && cd keen-js |
| 28 | +$ npm install |
| 29 | +$ bower install |
| 30 | +
|
| 31 | +# Build and launch project site |
| 32 | +$ gulp |
| 33 | +
|
| 34 | +# Build and launch with tests |
| 35 | +$ gulp with-tests |
| 36 | +
|
| 37 | +# View test results at http://localhost:9999 |
| 38 | +``` |
| 39 | + |
| 40 | +### Submitting a Pull Request |
| 41 | + |
| 42 | +Use the template below. If certain testing steps are not relevant, specify that in the PR. If additional checks are needed, add 'em! Please run through all testing steps before asking for a review. |
| 43 | + |
| 44 | +``` |
| 45 | +## What does this PR do? How does it affect users? |
| 46 | +
|
| 47 | +## How should this be tested? |
| 48 | +
|
| 49 | +Step through the code line by line. Things to keep in mind as you review: |
| 50 | + - Are there any edge cases not covered by this code? |
| 51 | + - Does this code follow conventions (naming, formatting, modularization, etc) where applicable? |
| 52 | +
|
| 53 | +Fetch the branch and/or deploy to staging to test the following: |
| 54 | +
|
| 55 | +- [ ] Does the code compile without warnings (check shell, console)? |
| 56 | +- [ ] Do all tests pass? |
| 57 | +- [ ] Does the UI, pixel by pixel, look exactly as expected (check various screen sizes, including mobile)? |
| 58 | +- [ ] If the feature makes requests from the browser, inspect them in the Web Inspector. Do they look as expected (parameters, headers, etc)? |
| 59 | +- [ ] If the feature sends data to Keen, is the data visible in the project if you run an extraction (include link to collection/query)? |
| 60 | +- [ ] If the feature saves data to a database, can you confirm the data is indeed created in the database? |
| 61 | +
|
| 62 | +## Related tickets? |
| 63 | +``` |
| 64 | + |
| 65 | +## How to report a bug |
| 66 | +If you find a security vulnerability, do NOT open an issue. Email team@keen.io instead. |
| 67 | + |
| 68 | +If you find a bug that's not a security vulnerability please head over to the issues tab of this rep and open up an issue. |
| 69 | + |
| 70 | +We created these labels to help us organize issues: bugs, docs, enhancements, and feature-request. Please use them when creating an issue where it makes sense! |
| 71 | + |
| 72 | +## Suggesting features |
| 73 | + |
| 74 | +We welcome your feedback and requests. If you have a straight forward request please open up an issue that details the request. If you want to talk to someone on the Keen team head over to http://keen.chat or send a note to team@keen.io and we will make sure and get you in touch with the product team. |
| 75 | + |
| 76 | +# Code review process |
| 77 | + |
| 78 | +The core team looks at Pull Requests and issues on a regular basis and will typically respond within 5 business days. |
0 commit comments