Thank you for your interest in contributing to DialogWare! This document provides guidelines and instructions for contributing to this project.
- Code of Conduct
- Getting Started
- Development Environment
- Coding Standards
- Pull Request Process
- Testing
- Documentation
- Community
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful, inclusive, and considerate in all interactions.
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment
- Create a new branch for your feature or bugfix
- Make your changes
- Submit a pull request
- Python 3.8 or higher
- pip (Python package installer)
# Clone the repository
git clone https://github.com/yourusername/python.git dialogware-python
cd dialogware-python
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"We follow PEP 8 style guidelines for Python code. Additionally:
- Use type hints where appropriate
- Write docstrings for all functions, classes, and modules
- Keep functions focused and small
- Use meaningful variable and function names
- Comment complex code sections
- Place new features in appropriate modules under
src/dialogware/ - For plugins, use the plugin system in
src/dialogware/plugins/
- Ensure your code follows our coding standards
- Update documentation if necessary
- Add or update tests as appropriate
- Make sure all tests pass
- Submit a pull request with a clear description of the changes and any relevant issue numbers
Follow these guidelines for commit messages:
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests after the first line
- Write unit tests for new functionality
- Ensure all tests pass before submitting a pull request
- Run tests using pytest:
pytest- Update the README.md if you change functionality
- Document new features with examples
- Update docstrings for modified functions
- Consider adding to the wiki for complex features
- Join our Discord server for discussions
- Report bugs and request features through GitHub issues
- Subscribe to our newsletter for updates
If you're developing a new plugin for DialogWare:
- Create a new directory under
src/dialogware/plugins/ - Implement the required interfaces (see existing plugins for examples)
- Add appropriate tests in the
tests/directory - Document your plugin's functionality and usage
Thank you for contributing to DialogWare!
- Instalacja podstawowa:
pip install -r requirements.txt- Instalacja dla deweloperów:
pip install -r requirements-dev.txt- Uruchomienie testów:
tox- Instalacja pre-commit hooków:
pre-commit install- Sprawdzenie formatowania:
black .
flake8 .
mypy src/mdirtree
isort .Aktualizacja
pip install -e .