Thank you for your interest in contributing! This guide will help you get started.
- Be respectful and inclusive
- Accept constructive criticism gracefully
- Focus on what's best for the community
Prerequisites: Python 3.8+, Git, GitHub account
Setup:
# Fork and clone the repository
git clone https://github.com/yourusername/productivity-tracker.git
cd productivity-tracker
# Add upstream remote
git remote add upstream https://github.com/debugfest/productivity-tracker.git
# Create virtual environment
python -m venv venv
# Windows: venv\Scripts\activate
# macOS/Linux: source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
pip install pytest pytest-cov black flake8 mypy
# Verify installation
python main.py
python demo.py
pytestmain.py: CLI interface and user interactiontracker.py: Task data model and database operationsreport.py: Report generation and visualizationsutils.py: Validation and utility functionsdemo.py: Demo script with sample data
We welcome:
- 🐛 Bug fixes
- ✨ New features
- 📚 Documentation improvements
- 🧪 Tests and test coverage
- ⚡ Performance optimizations
- 🔧 Code refactoring
Before starting:
- Check existing issues
- Create an issue for significant changes
- Follow coding standards below
High Priority:
- Add unit tests:
test_utils.py,test_tracker.py,test_report.py(4-8 hours each) - Integrate Rich library for colored CLI output (4-6 hours)
- Add export reports to Excel/PDF feature (6-8 hours)
Medium Priority:
- Pomodoro timer integration (8-10 hours)
- Tkinter GUI interface (12-15 hours)
- Data backup and restore (6-8 hours)
- Goal setting and tracking (8-10 hours)
Lower Priority:
- Habit tracking, cloud sync, team collaboration features
General:
- Follow PEP 8 style guidelines
- Use type hints for all functions
- Write docstrings for all functions, classes, and modules
- Keep line length under 88 characters
Steps:
- Create feature branch:
git checkout -b feature/your-feature-name - Make changes following coding standards
- Add tests for new functionality
- Run tests and linting:
pytest flake8 productivity_tracker/ black --check productivity_tracker/ mypy productivity_tracker/
- Commit and push:
git push origin feature/your-feature-name
PR Checklist:
- Code follows coding standards
- Tests added/updated
- Documentation updated
- All tests pass
- No linting errors
Bug Reports:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Python version)
- Error messages and stack traces
Feature Requests:
- Clear description and use case
- Proposed solution
- Alternatives considered
Labels: bug, enhancement, documentation, good first issue, help wanted
- Check existing issues
- Read documentation and code comments
- Create a new issue with details
- Join GitHub Discussions
Thank you for contributing! ⏰📊