ccf4cd8c8f
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
3.7 KiB
3.7 KiB
Contributing to DocuElevate
Thank you for your interest in contributing to DocuElevate! This document provides guidelines and instructions for contributing to the project.
Code of Conduct
By participating in this project, you agree to abide by the Code of Conduct.
How to Contribute
Reporting Bugs
If you find a bug in the codebase, please submit an issue on GitHub with:
- A clear title and description
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Environment information (OS, Docker version, etc.)
Feature Requests
We welcome feature requests! Please submit an issue with:
- A clear title and description
- The problem the feature would solve
- Any ideas you have for implementing the feature
Pull Requests
- Fork the repository
- Create a new branch for your changes
- Make your changes
- Run the tests to ensure everything works
- Submit a pull request with a clear description of the changes
Development Environment
Setting Up Your Environment
# Clone the repository
git clone https://github.com/christianlouis/document-processor.git
cd document-processor
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
Running Tests
pytest
Code Style
We use:
- Black for Python code formatting
- Flake8 for linting
- isort for import sorting
# Format code
black .
# Check linting
flake8
# Sort imports
isort .
Project Structure
DocuElevate/
├── app/ # Main application code
│ ├── api/ # REST API endpoints (organized by feature)
│ ├── tasks/ # Celery background tasks
│ ├── views/ # UI routes and template rendering
│ ├── utils/ # Utility functions and helpers
│ ├── config.py # Configuration management (Pydantic)
│ ├── database.py # Database setup and session management
│ ├── models.py # SQLAlchemy models
│ ├── main.py # FastAPI app initialization
│ └── auth.py # Authentication logic
├── frontend/ # Frontend assets
│ ├── static/ # CSS, JavaScript, images
│ └── templates/ # Jinja2 HTML templates
├── tests/ # Test suite
├── docs/ # User and developer documentation
├── migrations/ # Alembic database migrations
└── docker/ # Docker configuration files
📚 Additional Resources
Documentation
- AGENTIC_CODING.md - Comprehensive guide for AI agents and developers
- README.md - Project overview and quickstart
- ROADMAP.md - Future features and long-term vision
- MILESTONES.md - Release planning and versioning
- TODO.md - Current tasks and priorities
- SECURITY.md - Security policy
- SECURITY_AUDIT.md - Security findings and improvements
Testing
- All new features must include tests
- Aim for 80% code coverage
- See AGENTIC_CODING.md#testing-strategy for detailed testing guidelines
Security
- Never commit secrets or credentials
- Follow guidelines in SECURITY_AUDIT.md
- Report security issues per SECURITY.md
🤝 Getting Help
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Questions and community support
- Documentation: Check
docs/directory for guides
Thank you for contributing to DocuElevate!