paintplus: vendor the app source and rename from EditmaskwithAI
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
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# 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!
|
||||
Reference in New Issue
Block a user