Thank you for your interest in contributing to Electronic Structure Parser! We welcome contributions from the community to help improve and enhance the project. This document outlines the guidelines, steps, and rules for contributing to the project.
To ensure a smooth and collaborative contribution process, please follow these rules:
- Be respectful and considerate towards other contributors and maintainers.
- Follow the project's code of conduct in all interactions and communications.
- Before starting work on a significant feature or change, discuss it with the maintainers through an issue or proposal to align with the project's goals and avoid duplication of efforts.
- Follow the project's coding conventions, style guidelines, and best practices. Refer to coding standards for more details
- Write clear, concise, and meaningful commit messages.
- Keep pull requests focused on a single logical change or feature.
- Provide thorough and constructive feedback when reviewing others' contributions.
- Be open to feedback and suggestions from maintainers and other contributors.
- Do not include any sensitive, confidential, or proprietary information in your contributions.
- By submitting a contribution, you agree to license your work under the project's chosen license.
If you encounter a bug or an issue while using, please follow these steps to report it:
- Check the existing issues in the issue tracker to see if the bug has already been reported.
- If the bug hasn't been reported, open a new bug [here] (https://github.com/oss-slu/esp/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) and follow the template.
- Provide a clear and descriptive title for the issue.
- Include steps to reproduce the bug, along with any relevant error messages or screenshots.
- Specify the environment (operating system, browser, etc.) where the bug occurs.
If you have an idea for a new feature or enhancement, we encourage you to propose it to the project. Here's how you can do it:
- Check the existing issues in the issue tracker to see if it already exists.
- Open a new issue here and follow the template.
- Provide a clear and descriptive title for the feature proposal.
- Explain the motivation and benefits of the proposed feature.
- Describe the proposed solution or implementation, if you have one in mind.
- Be open to discussions and feedback from the project maintainers and the community.
To contribute code changes, please follow these steps:
- Fork the repository and create a new branch for your changes.
- Make your code changes in the new branch.
- Write clear and concise commit messages for each logical change.
- Make sure your code follows the project's coding conventions and style guidelines.
- Write unit tests to cover your code changes and ensure they pass.
- Update the relevant documentation, including README files and code comments, if necessary.
- Push your changes to your forked repository.
- Open a pull request against the main repository's
main
branch. - Provide a clear and descriptive title for the pull request.
- Include a detailed description of the changes made and the problem they solve.
- Reference any related issues or feature requests in the pull request description.
- Fork this repo or
- Clone on your local machine
git clone https://github.com/oss-slu/esp.git
- Create a new Branch
git checkout -b my-new-branch
- Add your changes
git add .
- Commit your changes.
git commit -m "Relevant message"
- Then push
git push origin my-new-branch
- Create a new pull request from your forked repository
An easy way to avoid conflicts is to add an 'upstream' for your git repo, as other PR's may be merged while you're working on your branch/fork.
git remote add upstream https://github.com/oss-slu/esp.git
You can verify that the new remote has been added by typing
git remote -v
To pull any new changes from your parent repo simply run
git merge upstream/main
This will give you any eventual conflicts and allow you to easily solve them in your repo. It's a good idea to use it frequently in between your own commits to make sure that your repo is up to date with its parent.
When making changes to the codebase, it's important to keep the documentation up to date. Here are some guidelines for documenting your changes:
- Update the relevant README files, documentation, or user guides to reflect the changes made.
- Add or update code comments to explain complex or non-obvious parts of the code.
- Include any necessary configuration or setup instructions for new features or changes.
We encourage contributors to write unit tests for their code changes to ensure the stability and reliability of the project. When writing unit tests:
- Use the project's testing framework and conventions.
- Write tests that cover the various scenarios and edge cases related to your code changes.
- Ensure that the tests pass successfully before submitting a pull request.
If you have any questions, concerns, or need further assistance, you can join the following Open Source with SLU slack workspace and then join #project_esp channel:
You can refer to the Community Partners for more detailed guidance on contributing to the project.
We appreciate your contributions and look forward to collaborating with you!