Thanks for taking the time to contribute! ❤️
If you want to contribute, do the following:
- Fork the repo (https://github.com/nibogd/ingress-ice)
- Create a new branch named with the name of the feature you want to add, based on the
master
branch - Add your code
- Make a pull-request
If your submission is accepted, I will list you in the README.md
file as a contributor.
├── CONTRIBUTING.md
├── Dockerfile
├── docker-ingress-ice.sh
├── ice
│ ├── ice.js
│ ├── ingress-ice.conf.sample
│ └── modules
│ ├── ice-10-utils.js
│ ├── ice-20-aws.js
│ ├── ice-20-dropbox.js
│ ├── ice-30-config.js
│ ├── ice-40-setminmax.js
│ └── ...
├── ingress-ice.sh
├── ingress-ice.cmd
├── LICENSE
├── phantom-bin
│ ├── phantomjs
│ ├── phantomjs64
│ ├── phantomjs-armv6l
│ ├── phantomjs.exe
│ └── phantomjs-osx
├── README.md
└── reconfigure.cmd
The root folder contains starting scripts. The main scripts are in the ice
folder. All modules from the ice/modules
folder are loaded automatically, so you don't need to edit the ice.js
file.
In most cases, you create a file named ice-[loadingOrderNumber]-your-feature-name.js
in the ice/modules
folder and write all code there. That file should have a header like this (taken from ice-20-aws.js
):
/**
* @file Ingress-ICE, Amazon S3 interface
* @license MIT
* @author c2nprds
*/
If the feature needs some functions to be called from the algorithm, edit the ice/modules/ice-features-main.js
file. Main algorithms are located there.
I appreciate if you properly document your code using JSDoc, but if you don't have time to do that or have other reasons not to document, and it is easy to understand, leave that to me — undocumented code is better than no code at all.
You can also build documentation for yourself by running the following in the root folder:
$ npm install jsdoc
$ jsdoc ice/ ice/modules/
We use Feature Branches workflow. Simply create a feature branch, it will be merged with master
once.