# Contributing to Mood Detector
Thank you for your interest in contributing to Mood Detector! We welcome contributions from the community.
# How to Contribute
# Reporting Issues
- Use the issue tracker to report bugs or suggest features
- Describe what you were trying to do, what happened, and what you expected to happen
- Include information about your environment (OS, Python version, etc.)
- If possible, include a minimal example that reproduces the issue
# Pull Requests
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes with clear, descriptive commit messages
- Add or update tests as needed
- Update documentation if youβre changing functionality
- Submit a pull request with a clear description of your changes
# Development Setup
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/mood-detector
cd mood-detector
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install in development mode:
pip install -e .
pip install -r requirements.txt # Install dev dependencies
- Run tests:
python -m pytest tests/
# Code Style
- Follow PEP 8 style guidelines
- Use type hints where appropriate
- Write clear, descriptive names for functions and variables
- Add docstrings for public functions and classes
- Keep functions focused on a single responsibility
# Testing
- Add unit tests for new functionality
- Ensure all tests pass before submitting a PR
- Test edge cases and error conditions
- Use pytest for writing tests
# Documentation
- Update docstrings when changing function behavior
- Update README.md if changing user-facing functionality
- Add/update examples in the examples/ directory
- Update API documentation in docs/ if adding new endpoints
# Project Structure
mood_detector/- Core Python packageapi/- FastAPI applicationcli/- Command-line interfaceexamples/- Usage examplestests/- Unit testsdocs/- Documentation
# Getting Help
- Open an issue for technical questions
- Check existing issues and pull requests for similar work
- Be patient - maintainers have limited time
Thank you for contributing!