Contributing#
We welcome contributions to ACCERT! Whether it’s reporting bugs, suggesting new features, or improving documentation, your input is valuable. Please follow the guidelines below to ensure smooth collaboration.
Getting Started#
Fork the Repository:
Navigate to the ACCERT repository on GitHub.
Click the “Fork” button in the top-right corner to create a copy of the repository in your GitHub account.
Clone the Forked Repository:
Clone your fork to your local machine:
git clone https://github.com/YOUR-USERNAME/ACCERT.git
cd ACCERT
Create a Branch:
It’s best practice to create a new branch for each feature or fix you are working on:
git checkout -b my-new-feature
Set Up Your Environment:
Ensure you have Python installed and set up your virtual environment and install the required dependencies by running:
python3 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt
Run Tests:
Before making any changes, run the existing test suite to ensure everything works as expected:
pytest
Reporting Bugs#
If you encounter a bug, please report it by following these steps:
Search Existing Issues:
Check the Issues section to see if the bug has already been reported.
Create a New Issue:
- If the bug hasn’t been reported, open a new issue. Be sure to include:
A descriptive title.
A detailed description of the problem.
Steps to reproduce the issue.
Relevant logs or error messages.
The environment you are using (e.g., OS, Python version).
Suggesting Enhancements#
If you have ideas for improving ACCERT, we encourage you to suggest enhancements.
1. Check for Existing Suggestions: - Search the Issues section for existing enhancement requests.
Propose a New Feature:
Open a new issue with the Feature Request template and provide as much detail as possible about the feature:
What problem does the enhancement solve?
How do you envision the feature being implemented?
Include any relevant examples or use cases.
Submitting Code Changes#
If you’d like to contribute code, follow these steps:
Work in a Branch:
Create a new branch for your contribution.
Make Your Changes:
Follow the style guide of the existing codebase.
Ensure that your changes don’t break existing functionality by running tests.
Add Tests:
Any new features or bug fixes should be accompanied by appropriate tests.
Run Tests:
Ensure that all tests pass:
pytest
Commit Your Changes:
Write clear, concise commit messages that explain the purpose of the change:
git commit -m "Add new feature: description"
Push to GitHub:
Push your branch to your forked repository:
git push origin my-new-feature
Open a Pull Request (PR):
Go to the original ACCERT repository and open a new pull request:
Make sure to describe the changes you’ve made in the PR description.
Include any relevant issue numbers (e.g., Fixes #123).
If applicable, provide context on why certain decisions were made.
Reviewing and Merging#
Once your PR is submitted, it will be reviewed by one of the maintainers. Here’s what you can expect:
Feedback:
You may receive feedback on your PR. Be open to making adjustments or clarifications as needed.
Revisions:
If changes are requested, push the revisions to your branch. This will automatically update your PR.
Merging:
Once approved, your PR will be merged into the main branch. You may also be asked to rebase your branch if there are conflicts.