Contributing#
We welcome contributions to AccelForge! This guide outlines the standards and practices for contributing to the project.
Formatting: All Python code should be formatted using Black with a line length of 88 characters (Black’s default).
Type Hints: All functions and methods should include type hints for parameters and return values.
Documentation: All public functions, classes, and modules should include docstrings that clearly explain their purpose, parameters, and return values. We use Google-style docstrings.
Building the Documentation#
Before submitting a pull request, ensure that the documentation builds without errors.
To build the documentation:
make generate-docs
Your terminal will output a link that can be used to view the generated documentation site. The build should complete with zero errors. Warnings should also be minimized where possible. If you add new modules or modify docstrings, verify that:
All cross-references resolve correctly
Code examples render properly
API documentation is complete
No broken links exist
Testing#
Before submitting changes, run the test suite to ensure your modifications don’t break existing functionality:
python3 -m unittest discover -s tests -p "*.py" -v
Add tests for any new functionality you introduce. Tests should cover both valid inputs and error cases with appropriate error messages.
Pull Request Process#
Fork the repository and create a new branch for your changes
Make your changes following the guidelines above
Format your code with Black
Build the documentation and verify it’s error-free
Run the test suite
Submit a pull request with a clear description of your changes