Contributing
Thank you for your interest in contributing to StructKit!
Quick Start
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch from
main - Make your changes and commit them
- Push to your fork and submit a pull request
Development Setup
Terminalbash
git clone https://github.com/httpdss/structkit.git
cd struct
python -m venv venv
source venv/bin/activate
pip install -e .
pip install -r requirements.dev.txt
pytestCode Style
- Follow PEP 8 guidelines
- 2 spaces for YAML indentation, 4 spaces for Python
- Write clear, descriptive commit messages
- Add docstrings to new functions and classes
Pull Request Guidelines
- Create descriptive PR titles
- Fill out the PR template completely
- Link to related issues when applicable
- Keep PRs focused — one feature/fix per PR
- Update documentation if your changes affect user-facing functionality
Contributing Structures
To add a new structure to structkit/contribs/:
- Create a new YAML file in the appropriate subdirectory
- Follow naming conventions (lowercase with hyphens)
- Test with various scenarios
- Add documentation explaining the structure
- Include examples in your PR description
Reporting Issues
When reporting bugs, include: OS and Python version, StructKit version, complete error message, steps to reproduce, and a sample configuration.