Contributing to Docokids
Thank you for your interest in contributing to the Docokids project! This document provides guidelines and instructions for contributing.
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. Please read it before contributing.
How to Contribute
1. Fork and Clone
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/your-username/Fever-module-chatbot.git cd Fever-module-chatbot
2. Set Up Development Environment
- Create a virtual environment:
python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows - Install development dependencies:
pip install -r requirements-dev.txt
3. Create a Branch
Create a feature branch for your changes:
git checkout -b feature/your-feature-name
4. Make Changes
- Make your changes following our coding standards
- Write or update tests as needed
- Update documentation if necessary
5. Run Tests
pytest
flake8
mypy .
black . --check
6. Commit Changes
Follow our commit message format:
type(scope): description
[optional body]
[optional footer]
Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style changes
- refactor: Code refactoring
- test: Adding or updating tests
- chore: Maintenance tasks
7. Push and Create Pull Request
- Push your changes:
git push origin feature/your-feature-name - Create a Pull Request on GitHub
Development Guidelines
Code Style
- Follow PEP 8 guidelines
- Use type hints
- Write docstrings for all functions and classes
- Keep functions small and focused
- Use meaningful variable names
Testing
- Write unit tests for new features
- Maintain test coverage above 80%
- Include integration tests for API endpoints
- Test edge cases and error conditions
Documentation
- Update README.md if needed
- Add or update API documentation
- Include docstrings for new functions
- Update CHANGELOG.md for significant changes
Review Process
- All PRs require at least one review
- CI checks must pass
- Code coverage must not decrease
- Documentation must be updated
- Tests must be included
Getting Help
- Open an issue for bugs or feature requests
- Join our community chat
- Contact the maintainers at agomez@docokids.com
License
By contributing, you agree that your contributions will be licensed under the project’s GNU GPL v3.0 License.
Issues & Feature Requests
If you find a bug or want to suggest an improvement, please use our issue templates:
- Report a Bug: For reporting errors or unexpected behavior in the pediatric fever chatbot. Please provide as much detail as possible.
- Request a Feature: For suggesting new features or improvements. Tell us how your idea could help users or improve the project.
This helps us keep the project organized and ensures your feedback is addressed efficiently.