Thanks for contributing. Simple PDF is a self-hosted PDF merge / clean / edit / OCR tool (MIT).
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
gunicorn -w 2 -b 127.0.0.1:8000 --timeout 600 wsgi:appDocker:
cp .env.example .env
docker compose up --build
# http://localhost:8080Optional system packages (OCR / office conversion): see docs/INSTALL.md or deploy/install-ocr-apt.sh and deploy/install-libreoffice.sh.
- Prefer minimal, focused changes. Do not refactor unrelated code.
- Do not break critical features listed in
.cursorrules(stableSECRET_KEY, session-on-disk, upload validation, combine defaults, OCR hook). - Keep fixed versions in
requirements.txt. - Never commit
.env,.secret_key, tokens, or files underuploads/. - Public docs are in English; Spanish user docs live under
docs/(MANUAL_USUARIO.md). - UI i18n (when present): keep
en/esin sync.
Smoke-test at least:
- Upload a PDF
- Combine with default options
- One editor action (e.g. rotate or crop)
/api/healthreturns OK
- Describe why the change is needed.
- Note any env / deploy / UI impact.
- Keep PRs reviewable (prefer small scoped PRs).
See CODE_OF_CONDUCT.md.
Report vulnerabilities privately (see SECURITY.md). Do not open public issues with exploit details for unreleased flaws.
By contributing, you agree your contributions are licensed under the MIT License.