# Project pack: Stirling-PDF @ 5c59188 Facts about **Stirling-PDF** for an AI following the [BespokeAI handover guide](https://handoff.bespokeai.software/guide/v4.md). Pinned to one version; never changes after publication. > Stirling-PDF is a self-hosted toolbox for PDF files. It can merge, split, rotate, compress, redact, sign, add watermarks, convert to and from other formats, and read scanned pages with OCR. Files are processed on your own machine, so your documents are not uploaded to a third-party service. ## Setup path (checked 2026-11-03) - **Start here, no Docker:** Install the project's own desktop app or installer. No Docker. - Offer Docker only if the person asks or this path fails. The commands further down may use Docker; they are not the starting point. - Verdict source: https://docs.stirlingpdf.com - You may be unable to download source archives or run commands in this session. The person downloads and runs things; if you cannot fetch something, give any changed file in full in chat with its path. ## Version and source - Repository: https://github.com/Stirling-Tools/Stirling-PDF - Pinned commit: `5c59188758c14efb9c5df1bd28e1e9ed568c6e45`. Use exactly this version. - Zip the person can download in a browser: https://github.com/Stirling-Tools/Stirling-PDF/archive/5c59188758c14efb9c5df1bd28e1e9ed568c6e45.zip - Fresh checkout (only if you have a shell and git): use the commands below in an empty folder. If this exact source is already checked out, keep your branch and use the development command; do not clone again or reset local changes. - Official docs: https://docs.stirlingpdf.com - Licence: **MIT**. Free to use, change and share, even commercially. Keep the original copyright notice. The app/proprietary and app/saas folders are under a separate commercial licence. ## Commands from the pinned source - Developer commands (they may use Docker): ```sh git clone https://github.com/Stirling-Tools/Stirling-PDF bespoke-stirling-pdf cd bespoke-stirling-pdf git checkout --detach 5c59188758c14efb9c5df1bd28e1e9ed568c6e45 # Prepare development requirements and local configuration first. task dev ``` - Separate trial of the current upstream release (not your changes; sample data and a separate data directory only): ```sh docker run -d --name stirling-pdf -p 8080:8080 -v stirling-data:/usr/share/tessdata docker.stirlingpdf.com/stirlingtools/stirling-pdf # then open http://localhost:8080 ``` - Tools these commands use: Docker for a trial; JDK 21, Node 22 and the Task runner for development - Develop: `task dev` - Build: `task build` - Stack: java, typescript, python (Spring Boot, React, Gradle, Taskfile). Difficulty for a non-developer with an AI: **advanced**. A large Java back end with a React front end and an optional Python engine. Using it needs no code; adding or changing a PDF tool means touching the Java service and the React tool list. - The project's own AI instructions, in the repository: `AGENTS.md`, `CLAUDE.md`. Personal data: **yes**. Stored in: Uploaded files are processed in temporary storage and removed. Optional settings and login data live in a config folder. Secrets are entered by the person, never in chat. --- Later, only when a step needs it: [reference.md](https://handoff.bespokeai.software/p/stirling-pdf/5c59188/r3/reference.md) (customisation points, must-keep-working, data and costs, coding conventions) · [hosting.md](https://handoff.bespokeai.software/p/stirling-pdf/5c59188/r3/hosting.md) (long-term hosting; hosts are paid third parties) · [bespoke.yaml](https://handoff.bespokeai.software/p/stirling-pdf/5c59188/r3/bespoke.yaml) · [SKILL.md](https://handoff.bespokeai.software/p/stirling-pdf/5c59188/r3/SKILL.md)