ScreenStream
AGENTS.md2.6k starsChanged 7 months agoMITView on GitHub
When debugging crashes/ANRs, always use the Firebase Crashlytics MCP tools to fetch the latest issues and details before proposing code changes. Prefer Android CLI for Android-specific tasks, use Android Studio MCP/Agent tooling when IDE integration helps, and fall back to raw terminal or Gradle commands only for unsupported operations, verification, or debugging. Use a connected physical Android device for app run/test when available. If none is connected, ask before launching an emulator.
Trending
Quiet since December.thin dataabout the whole repository
Who's talking about dkrivoruchko/ScreenStream
- bitwarden/android“[PM-29114] VC 20967 is not enumerated by …”GitHub · Dec 2, 2025 · 1 reactions
- Trinhan87/https-tfs.example.com“A”GitHub · Jan 5, 2023 · 1 reactions
- alefvanoon/repo“app releases 1”GitHub · Jun 9, 2021 · 1 reactions
- patriciakid/patriciakid“Good”GitHub · Aug 31, 2024
- patriciakid/patriciakid“Me”GitHub · Aug 31, 2024
The biggest 5 of 7 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 7
Talked about on GitHub and Stack Overflow (7 times).
On GitHub · 6
- Dec 2, 2025[PM-29114] VC 20967 is not enumerated by `com.google.android.gms.fido.fido2.ui.hybrid.HybridAuthenticateActivity`, at least when logging-in to `NNGCECKBAPEBFIMNLNIIIAHKANDCLBLB_2025_11_1_0.crx`'s `popup/index.html?uilocation=popout#/login`. — bitwarden/android1 reaction · 13 comments
- Jan 5, 2023A — Trinhan87/https-tfs.example.com1 reaction
- Jun 9, 2021app releases 1 — alefvanoon/repo1 reaction
- Aug 31, 2024Good — patriciakid/patriciakid0 reactions
- Aug 31, 2024Me — patriciakid/patriciakid0 reactions
1 more on GitHub
- Jul 6, 2023C — C33rrrtt/codespaces-blank0 reactions
On Stack Overflow · 1
- Oct 21, 2019PC to Android USB streaming data using OTG USB - How?0 votes
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
We split this AGENTS.md into the rules it gives an agent
7 rules. About 1 is common, 4 are distinctive, and 2 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Prefer 4-space indentation and Android Studio formatting.
- Very specific: line 28
Every locale file must mirror English key order and blank-line placement between <string> tags exactly.
- Distinctive: line 30
Use compact AOSP‑style UI terms.
- Common: line 36
Keep WebRTC signaling endpoints configurable.
- Distinctive: line 38
When debugging crashes/ANRs, always use the Firebase Crashlytics MCP tools to fetch the latest issues and details before proposing code …
- Distinctive: line 40
Prefer Android CLI for Android-specific tasks, use Android Studio MCP/Agent tooling when IDE integration helps, and fall back to raw …
- Distinctive: line 42
Use a connected physical Android device for app run/test when available.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Repository Guidelines
Purpose & Modes
ScreenStream streams Android screen + audio. Modes: Local (MJPEG), Global (WebRTC), and RTSP. RTSP has two sub‑modes: server (default) hosts this device; client connects to an external RTSP media server. F‑Droid builds are ad‑free and exclude WebRTC; PlayStore builds include ads + WebRTC.
Project Structure & Modules
app: Compose UI shell, DI wiring, and flavors (app/src/PlayStoreadds ads/WebRTC;app/src/FDroidstrips them).common: shared UI, preferences helpers, logging, utilities.mjpeg: embedded Ktor HTTP server for local MJPEG streaming.rtsp: RTSP server/client implementation and settings.webrtc: WebRTC streaming (PlayStore flavor only).
Build & SDK Baseline
- Kotlin
explicitApi()with JVM toolchain 17. - SDKs: min 23, target/compile 36; build tools 36.0.0; NDK 28.2.13676358.
./gradlew :app:assembleFDroidDebug— build the F-Droid debug APK../gradlew :app:assemblePlayStoreDebug— build the Play Store debug APK.- Build types: release enables minify/shrink + Crashlytics mapping upload.
- Flavors:
FDroid,PlayStore. PlayStore reads ads fromlocal.properties(ad.pubId,ad.unitIds).
Coding Style & Naming Conventions
Kotlin follows the official style (kotlin.code.style=official) and uses explicit API mode in the app module; keep public APIs explicit and well-typed.
Prefer 4-space indentation and Android Studio formatting.
Product flavors are PascalCase (FDroid, PlayStore), and module names are lowercase (common, mjpeg, rtsp, webrtc).
Localization Rules (Strings)
- English
values/strings.xmlis the source of truth for key order and blank lines. - Every locale file must mirror English key order and blank-line placement between
<string>tags exactly. - Strings live in module
res/values(app, mjpeg, rtsp, webrtc). Avoid hardcoded literals. - Use compact AOSP‑style UI terms; prefer “stream”/“device”. Use loanwords when standard, otherwise localize.
Security & Configuration Tips
local.properties is read for Play Store ad identifiers; keep it uncommitted.
The debug keystore is checked in for convenience; do not use it for release builds.
Keep WebRTC signaling endpoints configurable; never hardcode credentials.
When debugging crashes/ANRs, always use the Firebase Crashlytics MCP tools to fetch the latest issues and details before proposing code changes.
Prefer Android CLI for Android-specific tasks, use Android Studio MCP/Agent tooling when IDE integration helps, and fall back to raw terminal or Gradle commands only for unsupported operations, verification, or debugging.
Use a connected physical Android device for app run/test when available. If none is connected, ask before launching an emulator.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

