Thank you for your interest in contributing to LanaLyzer! This document provides guidelines and instructions for contributing to this project.
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and considerate of others.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/mxcrafts/lanalyzer.git cd lanalyzer - Set up your development environment:
# Using Poetry (recommended) poetry install # Activate the virtual environment poetry shell
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
-
Make your changes, following our coding standards
-
Add tests for your changes
-
Run the tests to ensure everything works:
pytest
-
Format your code:
black . isort .
-
Run static type checking:
mypy lanalyzer
-
Commit your changes:
git commit -m "Add your meaningful commit message here" -
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request from your fork to the main repository
- Follow PEP 8 style guidelines
- Use type annotations for all function parameters and return values
- Write docstrings for all modules, classes, and functions
- Keep functions small and focused on a single responsibility
- Write unit tests for all new functionality
- Ensure your code passes all tests and linting checks
- Update the documentation if necessary
- Include a clear description of the changes in your PR
- Link any related issues in your PR description
- Be responsive to feedback and be willing to make changes if requested
When adding new features:
- First discuss the feature by creating an issue
- Design the feature with extensibility in mind
- Implement the feature with appropriate tests
- Update documentation to reflect the new feature
When reporting bugs:
- Use the bug report template
- Include detailed steps to reproduce the bug
- Describe the expected behavior and what actually happened
- Include relevant logs, error messages, and screenshots
- Mention your operating system and Python version
When requesting features:
- Use the feature request template
- Clearly describe the problem the feature would solve
- Suggest a possible implementation if you have ideas
If you have any questions about contributing, please open an issue with the "question" label.
Thank you for contributing to LanaLyzer!