Thank you for your interest in contributing to taskprovision! We appreciate your time and effort in helping us improve this project.
- Code of Conduct
- Getting Started
- Development Setup
- Making Changes
- Pull Request Process
- Code Style
- Testing
- Documentation
- Reporting Issues
- Feature Requests
- License
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
- Fork the repository on GitHub
- Clone your fork locally
- Create a new branch for your changes
- Make your changes and commit them
- Push your changes to your fork
- Open a Pull Request
- Python 3.8+
- Poetry for dependency management
- Pre-commit for git hooks
- Ollama with Mistral:7b model
-
Clone the repository:
git clone https://github.com/yourusername/python.git cd python -
Install dependencies:
poetry install
-
Install pre-commit hooks:
pre-commit install
-
Run tests:
poetry run pytest
-
Create a new branch:
git checkout -b feature/your-feature-name # or git checkout -b bugfix/description-of-fix -
Make your changes following the code style guidelines
-
Run tests and linters:
poetry run pre-commit run --all-files poetry run pytest
-
Commit your changes with a descriptive message:
git commit -m "feat: add new feature" # or git commit -m "fix: resolve issue with xyz"
- Ensure your fork is up to date with the main branch
- Rebase your feature branch on top of the main branch
- Push your changes to your fork
- Open a Pull Request with a clear title and description
- Reference any related issues
- Ensure all CI checks pass
- Request reviews from maintainers
- Follow PEP 8
- Use type hints for all function signatures
- Keep functions small and focused
- Write docstrings for all public functions and classes
- Use meaningful variable and function names
- Write tests for all new features and bug fixes
- Maintain at least 80% test coverage
- Use descriptive test function names
- Test edge cases and error conditions
# Run all tests
poetry run pytest
# Run tests with coverage report
poetry run pytest --cov=taskprovision --cov-report=term-missing
# Run a specific test file
poetry run pytest tests/test_module.py- Update documentation for all new features
- Follow the existing documentation style
- Add examples where helpful
- Ensure all public APIs are documented
# Install documentation dependencies
poetry install --with docs
# Build documentation
poetry run mkdocs build
# Serve documentation locally
poetry run mkdocs serveWhen reporting issues, please include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Environment details (OS, Python version, etc.)
- Any relevant error messages or logs
We welcome feature requests! Please:
- Check if a similar feature already exists
- Explain why this feature would be valuable
- Provide examples of how it would be used
- Consider contributing a pull request
By contributing, you agree that your contributions will be licensed under the MIT License.
Your contributions help make taskprovision better for everyone. Thank you for being part of our community!