Skip to content

Whistle Wiki

This is the working knowledge base for Whistle — the practical stuff that doesn't fit in the README and doesn't belong in the source. If you're here to understand the project rather than to use the app, you're in the right place.

Start here

Page What it covers
Architecture How the codebase is laid out, what each service does, how encryption composes
Protocol Specification Wire-level reference: event kinds, payload schemas, URL schemes
Join and Invite Flow All the ways someone can be brought into a group
Release Checklist What to do when cutting a version
Testing and CI How to run the test suites locally and what CI gates on

Purpose

This wiki captures practical, high-signal project knowledge that helps contributors move quickly:

  • How the app is structured
  • How critical user flows work
  • How to run and validate tests
  • How to debug common failures
  • How to ship releases safely

Contributing to the wiki

  • Keep pages concise and operational — prefer concrete commands and code references over prose
  • Link to source files when describing behaviour (Sources/Services/MotionService.swift)
  • Update wiki pages in the same PR as code changes when the behaviour changes
  • If something in here is wrong, fix it; if something is missing, add it