Bring the full EditmaskwithAI application into the repo under paintplus/ (429 files) so the service is self-contained — the installer copies the vendored source to ~/docker/paintplus/src instead of cloning at runtime. Rename to PaintPlus (service + branding; app logic untouched): - services/editmaskwithai.sh -> services/paintplus.sh (register_service paintplus, install_paintplus, ~/docker/paintplus, Caddy paintplus:8000, Authelia option preserved) - container names -> paintplus across docker-compose*.yml; dev network -> paintplus-network - browser <title> -> "PaintPlus - AI Image Editor"; README heading -> PaintPlus with upstream provenance note - README utilities table: editmaskwithai -> paintplus Backend/frontend code (help strings referencing the old container name, the ai_photo_edit.db filename) is intentionally left as-is to avoid touching application logic. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Nb2vJ8W7bHKx1JXVvpCraH
87 lines
1.7 KiB
Markdown
87 lines
1.7 KiB
Markdown
# Contributing to AI Photo Edit
|
|
|
|
Thank you for your interest in contributing to AI Photo Edit!
|
|
|
|
## Development Setup
|
|
|
|
1. Fork the repository
|
|
2. Clone your fork
|
|
3. Create a feature branch
|
|
4. Make your changes
|
|
5. Test your changes
|
|
6. Submit a pull request
|
|
|
|
## Development Environment
|
|
|
|
### Using Docker (Recommended)
|
|
|
|
```bash
|
|
# Start dev environment with hot-reload
|
|
docker-compose -f docker-compose.dev.yml up
|
|
```
|
|
|
|
### Local Development
|
|
|
|
**Backend**
|
|
```bash
|
|
cd backend
|
|
python -m venv venv
|
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
pip install -r requirements.txt
|
|
uvicorn app.main:app --reload
|
|
```
|
|
|
|
**Frontend**
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Code Style
|
|
|
|
### Python (Backend)
|
|
- Follow PEP 8
|
|
- Use type hints where appropriate
|
|
- Add docstrings to functions and classes
|
|
|
|
### JavaScript/React (Frontend)
|
|
- Use functional components with hooks
|
|
- Follow React best practices
|
|
- Use meaningful variable names
|
|
|
|
## Pull Request Process
|
|
|
|
1. Update the README.md with details of changes if needed
|
|
2. Ensure all tests pass
|
|
3. Update documentation as needed
|
|
4. Get approval from maintainers
|
|
5. Squash commits if requested
|
|
|
|
## Reporting Bugs
|
|
|
|
When reporting bugs, please include:
|
|
- Description of the issue
|
|
- Steps to reproduce
|
|
- Expected behavior
|
|
- Actual behavior
|
|
- Screenshots if applicable
|
|
- Environment details (OS, Docker version, etc.)
|
|
|
|
## Feature Requests
|
|
|
|
We welcome feature requests! Please:
|
|
- Check if the feature already exists
|
|
- Explain the use case
|
|
- Describe the expected behavior
|
|
- Consider if it aligns with project goals
|
|
|
|
## Code of Conduct
|
|
|
|
- Be respectful and inclusive
|
|
- Welcome newcomers
|
|
- Focus on constructive feedback
|
|
- Respect differing opinions
|
|
|
|
Thank you for contributing!
|