Contributing¶
We welcome contributions to TwinWeaver! Please follow these steps to contribute.
Development Setup¶
-
Clone the repository and install dependencies:
-
Install pre-commit hooks:
We use
pre-committo ensure code formatting and quality checks run before you commit.
Running Tests¶
We use pytest for testing. To run the full test suite:
With coverage reporting:
Building Documentation¶
The documentation is built with mkdocs. To preview it locally:
Then open http://127.0.0.1:8000 in your browser.
Contribution Workflow¶
-
Create a New Branch: Always create a new branch for your feature or fix.
-
Make Changes: Implement your feature or fix.
-
Run Tests & Linting: Ensure your code passes all tests and pre-commit hooks.
-
Submit a Merge Request:
- Push your branch to the repository.
- Open a Merge Request (Pull Request) against the
mainbranch. - Describe your changes clearly in the MR description.
Code Style¶
- We follow PEP 8 for Python code style
- Use type hints where appropriate
- Write docstrings in NumPy format
- Add tests for new functionality
Reporting Issues¶
If you find a bug or have a feature request, please open an issue on GitHub.