Contributing
We welcome contributions and hope this guide will make the Nanoworks code repository easier to understand. It is important to mention that the Nanoworks software development is run voluntarily and therefore we need to build a community that can support user questions, attract new users, maintain documentation, write tutorials, and develops new features to make this software a useful tool for all users.
Being Respectful
Please show empathy and kindness towards other people, software, and communities working diligently to develop other tools.
Please do not speak negatively about other people or their work in pull requests and issues.
Cloning the Source Repository
Before cloning the source repository to your computer, please visit the installation page of Nanoworks to install ASE, GPAW, and all other needed packages to your computer. Then, you can clone the source of the Nanoworks from the related repository:
Main Github repository by:
git clone https://github.com/sblisesivdin/nanoworks.git
cd nanoworks
Questions
We do not have any email list, IRC channel, Slack room, etc.
For general questions about the project and all other things, we will use the Discussions page of the GitHub repository.
For more technical problems, you can create an issue on the Issues page of the GitHub repository. Posting to the issues page allows community members with the required expertise to answer your question, and the information obtained remains available to other users on the issues page for future usage.
Reporting Bugs and Feature Requests
If you encounter any bugs, crashes, or quirks while using the code, please report it on the Issues page with an appropriate tag so that the developers can take care of it immediately. When reporting an issue, please be overly descriptive so we can reproduce it. Provide trackbacks, screenshots, and sample files to help us resolve the issue. Please create an issue with the “Bug report” template for reporting a bug.
Please do not hesitate to submit ideas for improvements to the Nanoworks software. To suggest an improvement, please create an Issue with the “Feature Request” template. Please use descriptive and extensive information (links, videos, possible screenshots, etc.) to help the developers implement this functionality.
Contributing New Code
If you have an idea to solve a bug or implement a new feature, please first create an issue as a bug report/feature request. We can then use that issue as a discussion thread to resolve the contribution implementation.
Licensing
All code is licensed under the MIT License. If you didn’t write the code yourself, it’s your responsibility to ensure that the existing license is compatible with and included with the contributed files.
New Release
In each new release, the following steps must be completed.
Update
__version__variable innanoworks/__init__.pyas YY.m.x. Here, YY is the year, m (or mm) is the month, and x is the step number (first step is 0) of releases for that month. There is no minor or major release.Update
RELEASE_NOTES.mdandpyproject.tomlas done in this commit.Update
releaseandversionindocs/source/conf.pyas done in this commit.On the releases page, click
Draft a new releaseand create a new tag with the version number.Give a general title, give some highlights information, write Release Notes (copy/paste from RELEASE_NOTES.md page, it can be automatized in future).
Select
Create a discussion for this releaseand then finish the release.