Contributing
Thank you for your interest in contributing to PuzzleSpring! This document provides guidelines and information for contributors.
Development Process
Branching Strategy
mainbranch represents the latest stable version- Create feature branches from
mainusing the format:feature/descriptionorfix/description - Keep branches focused on a single feature or fix
Making Changes
- Create a new branch for your changes
- Make your changes following our coding standards
- Write or update tests as needed
- Update documentation if required
- Commit your changes with clear, descriptive commit messages
Project Structure
config/- Configuration filespuzzlehunt/- Main Django applicationmanagement/- Management commandsmigrations/- Database migrationsstatic/- Static assetstemplates/- Django templates
scripts/- Documentation generation and utility scriptsserver/- Django project configuration fileswebsite/- Documentation and landing pagedocs/- Jekyll-based documentationpublic/- Landing page files
Coding Standards
Python Code
- Follow PEP 8 style guide
- Use meaningful variable and function names
- Add docstrings for functions and classes
- Keep functions focused and concise
Templates
- Use Bulma classes for styling
- Prefer HTMX for dynamic interactions
- Follow the established template hierarchy
- Document template blocks and context variables
Documentation
- Update documentation for new features
- Follow the existing documentation style
- Include examples where appropriate
License
By contributing to PuzzleSpring, you agree that your contributions will be licensed under the MIT License.