First off, thank you for considering contributing to Gemini PDF Chatbot! It's people like you that make this project better for everyone.
- Code of Conduct
- Getting Started
- How Can I Contribute?
- Development Setup
- Pull Request Process
- Style Guidelines
- Community
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
- Make sure you have a GitHub account
- Submit an issue for your proposed change if one doesn't already exist
- Fork the repository on GitHub
This section guides you through submitting a bug report. Following these guidelines helps maintainers understand your report and reproduce the behavior.
Before Submitting A Bug Report
- Check the existing issues to avoid duplicates
- Determine which part of the application the problem relates to
How Do I Submit A (Good) Bug Report?
Bugs are tracked as GitHub issues. Create an issue and provide the following information:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples and screenshots if applicable
- Describe the behavior you observed and what behavior you expected
- Include your environment details (OS, Python version, etc.)
Enhancement suggestions are also tracked as GitHub issues. When creating an enhancement suggestion, please provide:
- A clear and descriptive title
- A detailed description of the proposed enhancement
- Explain why this enhancement would be useful
- Include mockups or examples if applicable
Unsure where to begin contributing? You can start by looking through these beginner-friendly issues:
- Issues labeled
good first issue- these should only require a few lines of code - Issues labeled
help wanted- these are more involved but still accessible
- Fill in the required template
- Do not include issue numbers in the PR title
- Include screenshots and animated GIFs in your pull request whenever possible
- Follow the Python style guidelines
- Include tests if applicable
- Document new code
-
Fork and Clone the Repository
git clone https://github.com/your-username/gemini_multipdf_chat.git cd gemini_multipdf_chat -
Set up Python Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Set up Environment Variables
cp .env.example .env # Add your GOOGLE_API_KEY to the .env file -
Run the Application
streamlit run app.py
-
Using Docker (Alternative)
docker compose up --build
- Ensure any install or build dependencies are documented
- Update the README.md if needed with details of changes to the interface
- Test your changes thoroughly
- Make sure your code follows the existing style and conventions
- Write clear commit messages
- Submit your pull request with a clear description of what you've changed and why
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
- Follow PEP 8
- Use meaningful variable and function names
- Add docstrings for functions and classes
- Keep lines under 80-100 characters when possible
- Use type hints where appropriate
- Use Markdown
- Reference functions and classes using backticks
- Include code examples where helpful
- Join our discussions in the Issues section
- Follow the project on GitHub for updates
- Star the repository if you find it useful!
If you have questions about contributing, feel free to:
- Open an issue with the
questionlabel - Reach out to the maintainers directly
Thank you for your interest in contributing to Gemini PDF Chatbot! 🚀