ATLAS depends on the contributions of other developers. We are so pleased you are interested in the same
There are many ways you can contribute to ATLAS:
- Submit bug reports on Tracker
- Improve the documentation
- Add feature requests or enhancements at Tracker
Our workflow is pretty simple.
- Make your changes, and submit us a PR
- In the Commits as well as PR, do mention the issue id(s)
- Make sure you update CHANGELOG.md in "UPCOMING RELEASE" section with changes you mentioned in the format:
-
Create a Virtual Environment
- Run
virtualenv <path/to/virtualenvs/atlas> -p <python3.x>
(Replace with your own versions). Python should be 3.6+ source <path/to/virtualenvs/atlas>/bin/activate
to activate this
- Run
-
Run requirements
pip install -r requirements.txt
- See
http://initd.org/psycopg/docs/install.html#build-prerequisites
in case there are issues with Postgres Client
-
Set up Pylint Hook
- Create a file under .git/hooks/ with name pre-commit
- Add to that file:
#!/usr/bin/env bash /path/to/git-pylint-commit-hook --pylint /path/to/pylint --pylintrc pylint.rc
- Update the permissions by
chmod +x .git/hooks/pre-commit
You can run pylint anytime by using
pylint --rcfile=pylint.rc <file_path>
Python:
- Indentation Styles: Prefer Spaces (4) over Tab
- Your commits should not decrease pylint score of any existing file.
- Prefer f-strings in Python
- Add Test cases for any change or new feature as required in
tests/
Javascript:
- Prefer Template Strings in Javascript
- Add test cases in
js_tests/
For testing, run
py.test --cov=atlas/
for python module (We use pytest)npm run coverage
for JS Modules (We use jest)
Please refer to Code of Conduct