We welcome your contributions to the development of wslink. This document will help you with the process.
Before You Start
Please format the code using black
for Python and prettier
for JavaScript. Please find below how to use them:
# For JavaScript |
# For Python |
Workflow
- Fork kitware/wslink.
- Clone the repository to your computer and install dependencies.
$ git clone https://github.com/<username>/wslink.git |
- Create a feature branch.
$ git checkout -b new_feature |
- Start hacking.
- Test.
- Use Commitizen for commit message
It does not matter if your changes only happened outside of the JavaScript client. Commitizen is just well integrated into JavaScript and therefore you can use it for commiting any changes.
$ cd ./js |
- Push the branch:
$ git push origin new_feature |
- Create a pull request and describe the change.
Notice
Semantic-release convention is used to write commit messages so we can automate change-log generation along with creating a new release for the JavaScript (npm) and Python (PyPI) based on your commit. No need to edit any version number, it will be automatically generated.
Unfortunately we did not managed to fully automate the testing. This means the testing will need to happen manually. Please refer to the testing checklist for running them on your system.
Testing checklist
Dev environment setup
python3 -m venv py-env |
Build web tests
cd ./js |
And
cd ./tests/chat-rpc-pub-sub/clients/js |
Running tests
Make sure your venv is activated (source ./py-env/bin/activate
).
chat-rpc-pub-sub
cd ./tests/chat-rpc-pub-sub |
simple
cd ./tests/simple |
Updating Documentation
The wslink documentation is part of the code repository. Feel free to update any guide ./documentation/content/docs/*.md
.
wslink’s webpages are on Github Pages and are generated using kw-doc. It should be automatically updated by our CI when a commit is made to the master branch. To test what website will look locally, follow those steps:
cd js/
npm run doc:www
- test the docs locally
Reporting Issues
When you encounter some problems when using wslink, you can ask me on GitHub. If you can’t find the answer, please report it on GitHub.