Contributing

    Thank you for your interest in contributing to StructKit!

    Quick Start

    1. Fork the repository on GitHub
    2. Clone your fork locally
    3. Create a feature branch from main
    4. Make your changes and commit them
    5. 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
    pytest

    Code 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

    1. Create descriptive PR titles
    2. Fill out the PR template completely
    3. Link to related issues when applicable
    4. Keep PRs focused — one feature/fix per PR
    5. Update documentation if your changes affect user-facing functionality

    Contributing Structures

    To add a new structure to structkit/contribs/:

    1. Create a new YAML file in the appropriate subdirectory
    2. Follow naming conventions (lowercase with hyphens)
    3. Test with various scenarios
    4. Add documentation explaining the structure
    5. 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.

    Open an issue on GitHub →