Thank you for your interest in contributing to the PDF Q&A System! This document provides guidelines for contributing to the project.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/pdf-qa-system.git cd pdf-qa-system - Set up the development environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
- Copy environment variables:
cp .env.example .env # Edit .env and add your API keys
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes in the appropriate directories:
src/- Core application codescripts/- Utility scriptsdocs/- Documentation
- Test your changes:
python src/web_app.py # Test locally docker-compose up # Test with Docker
- Commit your changes:
git add . git commit -m "Add: brief description of your changes"
- Push and create a pull request:
git push origin feature/your-feature-name
- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
- Test your changes locally before submitting
- Ensure Docker build works:
docker build -t test-image . - Verify the web interface loads correctly
- Test PDF upload and Q&A functionality
- Title: Use a clear, descriptive title
- Description: Explain what your PR does and why
- Testing: Describe how you tested your changes
- Screenshots: Include screenshots for UI changes
- Fix issues with PDF processing
- Improve error handling
- Fix UI/UX problems
- Add new AI model support
- Improve document processing
- Enhance user interface
- Add new deployment options (Docker, cloud platforms)
- Improve setup instructions
- Add troubleshooting guides
- Update API documentation
- Improve Docker configuration
- Add CI/CD workflows
- Optimize deployment scripts
When reporting bugs, please include:
- Environment details: OS, Python version, browser
- Steps to reproduce: Clear, step-by-step instructions
- Expected behavior: What should happen
- Actual behavior: What actually happens
- Screenshots: If applicable
- Logs: Any error messages or console output
Feel free to open an issue for:
- Questions about the codebase
- Suggestions for improvements
- Discussion about new features
By contributing, you agree that your contributions will be licensed under the same license as the project (MIT License).
Thank you for your interest in contributing to the PDF Q&A System! This document provides guidelines for contributing to the project.
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/pdf-qa-system.git cd pdf-qa-system -
Set up the development environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Copy environment variables:
cp .env.example .env # Edit .env and add your API keys
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes in the appropriate directories:
src/- Core application codescripts/- Utility scriptsdocs/- Documentation
-
Test your changes:
python src/web_app.py # Test locally docker-compose up # Test with Docker
-
Commit your changes:
git add . git commit -m "Add: brief description of your changes"
-
Push and create a pull request:
git push origin feature/your-feature-name
- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
- Test your changes locally before submitting
- Ensure Docker build works:
docker build -t test-image . - Verify the web interface loads correctly
- Test PDF upload and Q&A functionality
- Title: Use a clear, descriptive title
- Description: Explain what your PR does and why
- Testing: Describe how you tested your changes
- Screenshots: Include screenshots for UI changes
- Fix issues with PDF processing
- Improve error handling
- Fix UI/UX problems
- Add new AI model support
- Improve document processing
- Enhance user interface
- Add new deployment options (Docker, cloud platforms)
- Improve setup instructions
- Add troubleshooting guides
- Update API documentation
- Improve Docker configuration
- Add CI/CD workflows
- Optimize deployment scripts
When reporting bugs, please include:
- Environment details: OS, Python version, browser
- Steps to reproduce: Clear, step-by-step instructions
- Expected behavior: What should happen
- Actual behavior: What actually happens
- Screenshots: If applicable
- Logs: Any error messages or console output
Feel free to open an issue for:
- Questions about the codebase
- Suggestions for improvements
- Discussion about new features
By contributing, you agree that your contributions will be licensed under the same license as the project (MIT License).