Project plan v1 is shipping now, later ideas follow, Bluetooth-to-iPhone and cloud stay out of scope. 1 v1 now files, gallery, Bonjour Safari + iPhone app 2 Later PIN / HTTPS installer firewall � Non-goals no BT file send no cloud relay
This repo is v1. Later ideas are optional. Bluetooth file-send and cloud relay are out of scope.

Project plan

v1 (this repo)

Docs and markup

Source of truth is markdown. Paired HTML is generated and copied onto the public site.

Piece Role
scripts/distribution-docs.txt Markdown files that must have a sibling .html
scripts/markdown-to-html.ps1 Converts those files (and optionally the rest of the tree)
scripts/build-site.ps1 Converts distribution docs, copies HTML into site/, rewrites .md links, embeds SVG figures
.github/workflows/ci.yml → Markdown Docs Sync Fails if generated HTML is stale (git diff --exit-code)

After you edit a listed .md file, run:

pwsh -File scripts/build-site.ps1

Commit both the markdown and the generated HTML (docs/*.html, README.html, site/*.html, iOS/Android README.html).

Public / DEV pages today: README, Architecture, this plan, Support, Privacy, TestFlight, App Store, Play Store, iOS setup, Android setup, Testing, Progress, and Charging.

Unit testing

Started. CI must keep these green.

Suite Where CI
Windows src/DropToPhone.Windows.Tests (xUnit) — file kinds, version labels, brand URLs dotnet test DropToPhone.sln in Build Windows app
Android src/DropToPhone.Android/app/src/test (JUnit) — Brand URLs / email / zip ./gradlew testDebugUnitTest in Build Android app

Still to add: iOS XCTest (version / Brand URLs), more Windows coverage (LAN address picking, token format), and a PowerShell test for scripts/bump-version-on-commit.ps1. Details: TESTING.md.

Later

Foreground-only receive on phones is kept. Do not add a background HTTP server.

Non-goals