First off, thanks for taking the time to contribute! 🎉
This project and everyone participating in it is governed by our commitment to providing a welcoming and inclusive environment. Please be respectful and constructive in all interactions.
Before creating bug reports, please check existing issues to avoid duplicates.
When reporting a bug, include:
- Your operating system and version
- PingDiff version (shown in the app)
- Your ISP and region
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Screenshots if applicable
Feature suggestions are welcome! Please:
- Check if the feature has already been suggested
- Provide a clear description of the feature
- Explain why this feature would be useful
- Consider how it fits with the existing functionality
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Commit with clear messages (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone the repo
git clone https://github.com/bokiko/pingdiff.git
cd pingdiff/web
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your Supabase credentials to .env.local
# Start development server
npm run devcd pingdiff/desktop
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the app
python src/main.py
# Build installer (Windows only, requires Inno Setup)
python build.py- Follow PEP 8 guidelines
- Use meaningful variable names
- Add docstrings to functions
- Keep functions focused and small
- Use functional components with hooks
- Follow the existing code style
- Use TypeScript types properly
- Keep components focused
- Use present tense ("Add feature" not "Added feature")
- Keep the first line under 50 characters
- Reference issues when applicable (
Fix #123)
Feel free to open an issue with the question label or reach out through GitHub Discussions.
Thank you for contributing! 🙏