Below are the guidelines for getting started when contributing to Strider and any related plugins. Contributions don't need to be code based, you are encouraged to help out with issues by answering questions or just following up. We also have documentation that needs to be written/updated, so feel free to contribute there as well.
Here are the technologies to be familiar with:
How to get setup (if you're using docker, see the Docker section in the README, you can skip this):
- grab the repo
npm install
bower install && npm run vendor
- run the tests with
npm test
to make sure your environment is setup properly. If you don't have it already, install mongodb. You could also develop using an externally hosted mongodb if you want, just setDB_URI
.
Note:: Don't make changes to the compiled files in the dist/
directory, those
are generated by using npm run build
or npm run watch
. Most of the relavent files are
either in client/
or lib/
directories and that's where your changes should happen.
Make sure to check npm for any libraries that you need to use before resorting to Bower.
If using Bower (or any other libs), make sure to add the files with an alias
to the "browser"
section in package.json
and also add a shim in shims.js
.
Don't use globals, always use require
. The only exception is if passing in data
from the server into a page, then use something like global.myDataObject
. If you can
comment where something originates from, that's appreciated as well.
After installing Bower dependencies, make sure that npm run vendor
copies all the needed files.
If not, you can add the needed files in the "install"
section of bower.json
.
Before submitting pull requests, please run npm test
to make sure you didn't
break anything. If you're adding or changing backend functionality, include tests.
If you're adding or changing the front-end, please include one or more explanatory screenshots in the pull request.