Developer guide
Developer guide
Section titled “Developer guide”properpcloud is a Gradle multi-project build with a source-neutral Kotlin/JVM core, portable provider and metadata adapters, and platform shells for Android and Linux.
Repository map
Section titled “Repository map”app/ Android application and platform adaptersdesktop-app/ Compose Desktop, mpv, SQLite, Secret Service, MPRIScore-model/ source-neutral domain records and policiessource-pcloud/ portable pCloud Java SDK adaptersource-webdav/ portable WebDAV boundarymetadata-tags/ embedded metadata toolkitmetadata-online/ online metadata provider boundarydocs/ canonical Markdown manual and API documentationwebsite/ Astro Starlight static documentation rendererspec/ machine-readable product, architecture, and test contractsscripts/ reproducible build and verification helpersSupported workflow
Section titled “Supported workflow”make doctormake testmake lintmake buildmake docs-buildmake desktop-smokeThe Android and JVM compilation environment is containerized. The host smoke test deliberately runs the desktop distribution against the host’s real mpv and Unix socket implementation.
Design constraints
Section titled “Design constraints”- Domain and application code must not import Android classes.
- Provider identity is
(SourceId, NodeId), never a URL or filename. - Source adapters resolve stream capabilities at the last responsible moment.
- Queue construction must be deterministic, cancellable, and explicit about omissions.
- Metadata writes require revision and content verification.
- Platform credential stores own long-lived secrets.
- New behavior updates code, tests, Markdown documentation, and the relevant
spec/*.ymlcontract.
