openai/snap-o
Temporal Dependencies A temporal dependency occurs when developers change two or more files at the same time (i.e. they are a part of the same commit). |
Dependencies between components in same commits (primary)
The number on the lines shows the number of shared commits.
flowchart TB
n0["app-macos"]
n1["tool-sdk"]
n2["release"]
n3["tools"]
n4["ROOT"]
n5["tool-reader"]
n6["device-helper"]
n7["build-logic"]
n8["gradle"]
n9[".codex"]
n10["skills"]
n0 ---|"47"| n0
n1 ---|"11"| n2
n3 ---|"11"| n3
n3 ---|"10"| n1
n1 ---|"8"| n1
n3 ---|"7"| n2
n4 ---|"5"| n2
n1 ---|"5"| n0
n3 ---|"5"| n0
n0 ---|"4"| n2
n5 ---|"4"| n0
n5 ---|"3"| n2
n5 ---|"3"| n5
n1 ---|"3"| n5
n3 ---|"3"| n5
n6 ---|"3"| n0
n4 ---|"3"| n1
n4 ---|"3"| n3
n6 ---|"3"| n6
n7 ---|"2"| n2
n8 ---|"2"| n2
n4 ---|"2"| n4
n4 ---|"2"| n8
n4 ---|"1"| n0
n7 ---|"1"| n0
n7 ---|"1"| n4
n8 ---|"1"| n0
n8 ---|"1"| n7
n8 ---|"1"| n1
n8 ---|"1"| n3
n9 ---|"1"| n0
n9 ---|"1"| n2
n9 ---|"1"| n4
n9 ---|"1"| n7
n9 ---|"1"| n8
n7 ---|"1"| n7
n10 ---|"1"| n0
n10 ---|"1"| n2
n10 ---|"1"| n4
n10 ---|"1"| n7
n10 ---|"1"| n8
n10 ---|"1"| n9
classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
linkStyle 0 stroke:#a0a0a0FF,stroke-width:10px
linkStyle 1 stroke:#00688b70,stroke-width:2px
linkStyle 2 stroke:#a0a0a070,stroke-width:2px
linkStyle 3 stroke:#00688b70,stroke-width:2px
linkStyle 4 stroke:#a0a0a05E,stroke-width:1px
linkStyle 5 stroke:#00688b5E,stroke-width:1px
linkStyle 6 stroke:#00688b5E,stroke-width:1px
linkStyle 7 stroke:#00688b5E,stroke-width:1px
linkStyle 8 stroke:#00688b5E,stroke-width:1px
linkStyle 9 stroke:#00688b4C,stroke-width:1px
linkStyle 10 stroke:#00688b4C,stroke-width:1px
linkStyle 11 stroke:#00688b4C,stroke-width:1px
linkStyle 12 stroke:#a0a0a04C,stroke-width:1px
linkStyle 13 stroke:#00688b4C,stroke-width:1px
linkStyle 14 stroke:#00688b4C,stroke-width:1px
linkStyle 15 stroke:#00688b4C,stroke-width:1px
linkStyle 16 stroke:#00688b4C,stroke-width:1px
linkStyle 17 stroke:#00688b4C,stroke-width:1px
linkStyle 18 stroke:#a0a0a04C,stroke-width:1px
linkStyle 19 stroke:#00688b4C,stroke-width:1px
linkStyle 20 stroke:#00688b4C,stroke-width:1px
linkStyle 21 stroke:#a0a0a04C,stroke-width:1px
linkStyle 22 stroke:#00688b4C,stroke-width:1px
linkStyle 23 stroke:#00688b4C,stroke-width:1px
linkStyle 24 stroke:#00688b4C,stroke-width:1px
linkStyle 25 stroke:#00688b4C,stroke-width:1px
linkStyle 26 stroke:#00688b4C,stroke-width:1px
linkStyle 27 stroke:#00688b4C,stroke-width:1px
linkStyle 28 stroke:#00688b4C,stroke-width:1px
linkStyle 29 stroke:#00688b4C,stroke-width:1px
linkStyle 30 stroke:#00688b4C,stroke-width:1px
linkStyle 31 stroke:#00688b4C,stroke-width:1px
linkStyle 32 stroke:#00688b4C,stroke-width:1px
linkStyle 33 stroke:#00688b4C,stroke-width:1px
linkStyle 34 stroke:#00688b4C,stroke-width:1px
linkStyle 35 stroke:#a0a0a04C,stroke-width:1px
linkStyle 36 stroke:#00688b4C,stroke-width:1px
linkStyle 37 stroke:#00688b4C,stroke-width:1px
linkStyle 38 stroke:#00688b4C,stroke-width:1px
linkStyle 39 stroke:#00688b4C,stroke-width:1px
linkStyle 40 stroke:#00688b4C,stroke-width:1px
linkStyle 41 stroke:#00688b4C,stroke-width:1px
Download:
Mermaid (.mmd)
(open online Mermaid editor)
Open 2D force graph (file dependencies)... Open 3D force graph (file dependencies)...
Dependencies between files in same commits
The number on the lines shows the number of shared commits.
Files Most Frequently Changed Together (Top 50)
| Pairs | # same commits | # commits 1 | # commits 2 | latest commit |
|---|---|---|---|---|
| tool-sdk/gradle-plugin/src/main/kotlin/com/openai/snapo/gradle/ToolPackagerPlugin.kt release/validate_authoring.py |
6 | 7 (85%) | 16 (37%) | 2026-09-28 |
| tools/tweaks/android/core/build.gradle.kts tools/network/android/core/build.gradle.kts |
6 | 7 (85%) | 7 (85%) | 2026-09-16 |
| app-macos/Snap-O/App/SnapOCommands.swift app-macos/Snap-O/App/SnapOApp.swift |
5 | 17 (29%) | 8 (62%) | 2026-09-21 |
| app-macos/Snap-O/Device/ADB/ADBClient.swift app-macos/Snap-O/App/AppRuntime.swift |
5 | 18 (27%) | 10 (50%) | 2026-09-25 |
| app-macos/Snap-O/History/CaptureHistoryWindow.swift app-macos/Snap-O/History/CaptureHistoryRepository.swift |
5 | 14 (35%) | 7 (71%) | 2026-09-23 |
| app-macos/Snap-O/History/CaptureHistoryThumbnail.swift app-macos/Snap-O/History/CaptureHistoryRepository.swift |
5 | 5 (100%) | 7 (71%) | 2026-09-23 |
| app-macos/Snap-O/History/CaptureHistoryThumbnail.swift app-macos/Snap-O/History/CaptureHistoryWindow.swift |
5 | 5 (100%) | 14 (35%) | 2026-09-23 |
| app-macos/Snap-O/App/SnapOApp.swift app-macos/Snap-O/App/AppRuntime.swift |
4 | 8 (50%) | 10 (40%) | 2026-09-23 |
| app-macos/Snap-O/App/SnapOCommands.swift app-macos/Snap-O/App/AppRuntime.swift |
4 | 17 (23%) | 10 (40%) | 2026-09-30 |
| app-macos/Snap-O/Device/ADB/ADBClient.swift app-macos/Snap-O/App/SnapOApp.swift |
4 | 18 (22%) | 8 (50%) | 2026-09-23 |
| app-macos/Snap-O/Device/ADB/ADBSocketConnection.swift app-macos/Snap-O/Device/ADB/ADBClient.swift |
4 | 5 (80%) | 18 (22%) | 2026-10-02 |
| app-macos/Snap-O/Device/DeviceTracker.swift app-macos/Snap-O/App/AppRuntime.swift |
4 | 6 (66%) | 10 (40%) | 2026-10-02 |
| app-macos/Snap-O/Storage/FileStore.swift app-macos/Snap-O/App/SnapOCommands.swift |
4 | 6 (66%) | 17 (23%) | 2026-09-30 |
| app-macos/Snap-O/Tools/ToolService.swift app-macos/Snap-O/Tools/ToolHostModel.swift |
4 | 8 (50%) | 8 (50%) | 2026-09-22 |
| app-macos/Snap-O/DeviceManager/DeviceManagerWindow.swift app-macos/Snap-O/DeviceManager/DeviceManager.swift |
4 | 6 (66%) | 7 (57%) | 2026-10-02 |
| tool-sdk/host/src/index.ts release/validate_authoring.py |
4 | 7 (57%) | 16 (25%) | 2026-09-15 |
| tools/network/android/core/build.gradle.kts release/validate_authoring.py |
4 | 7 (57%) | 16 (25%) | 2026-09-15 |
| tools/network/android/core/build.gradle.kts tool-sdk/gradle-plugin/src/main/kotlin/com/openai/snapo/gradle/ToolPackagerPlugin.kt |
4 | 7 (57%) | 7 (57%) | 2026-09-16 |
| tools/tweaks/android/core/build.gradle.kts release/validate_authoring.py |
4 | 7 (57%) | 16 (25%) | 2026-09-15 |
| tools/tweaks/android/core/build.gradle.kts tool-sdk/gradle-plugin/src/main/kotlin/com/openai/snapo/gradle/ToolPackagerPlugin.kt |
4 | 7 (57%) | 7 (57%) | 2026-09-16 |
| app-macos/Snap-O/Tools/ToolMetadata.swift app-macos/Snap-O/Tools/ToolService.swift |
4 | 5 (80%) | 8 (50%) | 2026-09-15 |
| app-macos/Snap-O/Tools/ToolModels.swift release/validate_authoring.py |
4 | 6 (66%) | 16 (25%) | 2026-09-15 |
| app-macos/Snap-O/Tools/ToolModels.swift app-macos/Snap-O/Tools/ToolService.swift |
4 | 6 (66%) | 8 (50%) | 2026-09-15 |
| app-macos/Snap-O/Tools/ToolModels.swift app-macos/Snap-O/Tools/ToolMetadata.swift |
4 | 6 (66%) | 5 (80%) | 2026-09-15 |
| tool-reader/test-device.py app-macos/Snap-O/Tools/ToolService.swift |
4 | 5 (80%) | 8 (50%) | 2026-09-15 |
| tool-reader/test-device.py app-macos/Snap-O/Tools/ToolMetadata.swift |
4 | 5 (80%) | 5 (80%) | 2026-09-15 |
| tool-reader/test-device.py app-macos/Snap-O/Tools/ToolModels.swift |
4 | 5 (80%) | 6 (66%) | 2026-09-15 |
| tools/network/android/core/src/main/java/com/openai/snapo/network/NetworkToolHttp.kt release/validate_authoring.py |
4 | 5 (80%) | 16 (25%) | 2026-09-15 |
| tools/tweaks/android/core/src/main/java/com/openai/snapo/tweaks/internal/TweakHttpServer.kt release/validate_authoring.py |
4 | 5 (80%) | 16 (25%) | 2026-09-15 |
| settings.gradle.kts release/validate_authoring.py |
4 | 5 (80%) | 16 (25%) | 2026-09-14 |
| app-macos/Snap-O/App/SnapOCommandCoordinator.swift app-macos/Snap-O/App/AppRuntime.swift |
3 | 5 (60%) | 10 (30%) | 2026-10-02 |
| app-macos/Snap-O/App/SnapOCommandCoordinator.swift app-macos/Snap-O/App/SnapOApp.swift |
3 | 5 (60%) | 8 (37%) | 2026-10-02 |
| app-macos/Snap-O/App/SnapOCommands.swift app-macos/Snap-O/App/AppDelegate.swift |
3 | 17 (17%) | 5 (60%) | 2026-09-30 |
| app-macos/Snap-O/Device/ADB/ADBClient.swift app-macos/Snap-O/App/SnapOCommands.swift |
3 | 18 (16%) | 17 (17%) | 2026-09-21 |
| app-macos/Snap-O/Device/Device.swift app-macos/Snap-O/App/SnapOApp.swift |
3 | 4 (75%) | 8 (37%) | 2026-09-23 |
| app-macos/Snap-O/Device/Device.swift app-macos/Snap-O/Device/ADB/ADBClient.swift |
3 | 4 (75%) | 18 (16%) | 2026-09-23 |
| app-macos/Snap-O/Device/DeviceTracker.swift app-macos/Snap-O/Device/ADB/ADBClient.swift |
3 | 6 (50%) | 18 (16%) | 2026-09-23 |
| app-macos/Snap-O/Device/Emulators/EmulatorPreviewFrameSource.swift app-macos/Snap-O/App/AppRuntime.swift |
3 | 6 (50%) | 10 (30%) | 2026-10-02 |
| app-macos/Snap-O/DeviceManager/DeviceManager.swift app-macos/Snap-O/App/AppRuntime.swift |
3 | 7 (42%) | 10 (30%) | 2026-10-02 |
| app-macos/Snap-O/DeviceManager/DeviceManager.swift app-macos/Snap-O/App/SnapOApp.swift |
3 | 7 (42%) | 8 (37%) | 2026-10-02 |
| app-macos/Snap-O/DeviceManager/DeviceManager.swift app-macos/Snap-O/Device/ADB/ADBClient.swift |
3 | 7 (42%) | 18 (16%) | 2026-09-25 |
| app-macos/Snap-O/Storage/FileStore.swift app-macos/Snap-O/App/AppDelegate.swift |
3 | 6 (50%) | 5 (60%) | 2026-10-01 |
| app-macos/Snap-O/Storage/FileStore.swift app-macos/Snap-O/App/AppRuntime.swift |
3 | 6 (50%) | 10 (30%) | 2026-09-30 |
| app-macos/Snap-O/Storage/FileStore.swift app-macos/Snap-O/App/SnapOApp.swift |
3 | 6 (50%) | 8 (37%) | 2026-09-18 |
| app-macos/Snap-O/Tools/ToolHostModel.swift app-macos/Snap-O/Device/ToolDiscovery.swift |
3 | 8 (37%) | 5 (60%) | 2026-09-22 |
| app-macos/Snap-O/Tools/ToolHostModel.swift app-macos/Snap-O/Tools/ToolHTTPService.swift |
3 | 8 (37%) | 7 (42%) | 2026-09-15 |
| app-macos/Snap-O/Tools/ToolService.swift app-macos/Snap-O/Device/ToolDiscovery.swift |
3 | 8 (37%) | 5 (60%) | 2026-09-22 |
| app-macos/Snap-O/Tools/ToolService.swift app-macos/Snap-O/Tools/ToolHTTPService.swift |
3 | 8 (37%) | 7 (42%) | 2026-09-15 |
| app-macos/Snap-O/Tools/ToolService.swift app-macos/Snap-O/Device/ADB/ADBClient.swift |
3 | 8 (37%) | 18 (16%) | 2026-09-23 |
| app-macos/Snap-O/DeviceManager/DeviceManagerWindow.swift app-macos/Snap-O/App/SnapOApp.swift |
3 | 6 (50%) | 8 (37%) | 2026-10-02 |
Files from Different Folders Most Frequently Changed Together (Top 20)
| Pairs | # same commits | # commits 1 | # commits 2 | latest commit |
|---|---|---|---|---|
| tool-sdk/gradle-plugin/src/main/kotlin/com/openai/snapo/gradle/ToolPackagerPlugin.kt release/validate_authoring.py |
6 | 7 (85%) | 16 (37%) | 2026-09-28 |
| tools/tweaks/android/core/build.gradle.kts tools/network/android/core/build.gradle.kts |
6 | 7 (85%) | 7 (85%) | 2026-09-16 |
| app-macos/Snap-O/Device/ADB/ADBClient.swift app-macos/Snap-O/App/AppRuntime.swift |
5 | 18 (27%) | 10 (50%) | 2026-09-25 |
| app-macos/Snap-O/Device/ADB/ADBClient.swift app-macos/Snap-O/App/SnapOApp.swift |
4 | 18 (22%) | 8 (50%) | 2026-09-23 |
| app-macos/Snap-O/Device/DeviceTracker.swift app-macos/Snap-O/App/AppRuntime.swift |
4 | 6 (66%) | 10 (40%) | 2026-10-02 |
| app-macos/Snap-O/Storage/FileStore.swift app-macos/Snap-O/App/SnapOCommands.swift |
4 | 6 (66%) | 17 (23%) | 2026-09-30 |
| tool-sdk/host/src/index.ts release/validate_authoring.py |
4 | 7 (57%) | 16 (25%) | 2026-09-15 |
| tools/network/android/core/build.gradle.kts release/validate_authoring.py |
4 | 7 (57%) | 16 (25%) | 2026-09-15 |
| tools/network/android/core/build.gradle.kts tool-sdk/gradle-plugin/src/main/kotlin/com/openai/snapo/gradle/ToolPackagerPlugin.kt |
4 | 7 (57%) | 7 (57%) | 2026-09-16 |
| tools/tweaks/android/core/build.gradle.kts release/validate_authoring.py |
4 | 7 (57%) | 16 (25%) | 2026-09-15 |
| tools/tweaks/android/core/build.gradle.kts tool-sdk/gradle-plugin/src/main/kotlin/com/openai/snapo/gradle/ToolPackagerPlugin.kt |
4 | 7 (57%) | 7 (57%) | 2026-09-16 |
| app-macos/Snap-O/Tools/ToolModels.swift release/validate_authoring.py |
4 | 6 (66%) | 16 (25%) | 2026-09-15 |
| tool-reader/test-device.py app-macos/Snap-O/Tools/ToolService.swift |
4 | 5 (80%) | 8 (50%) | 2026-09-15 |
| tool-reader/test-device.py app-macos/Snap-O/Tools/ToolMetadata.swift |
4 | 5 (80%) | 5 (80%) | 2026-09-15 |
| tool-reader/test-device.py app-macos/Snap-O/Tools/ToolModels.swift |
4 | 5 (80%) | 6 (66%) | 2026-09-15 |
| tools/network/android/core/src/main/java/com/openai/snapo/network/NetworkToolHttp.kt release/validate_authoring.py |
4 | 5 (80%) | 16 (25%) | 2026-09-15 |
| tools/tweaks/android/core/src/main/java/com/openai/snapo/tweaks/internal/TweakHttpServer.kt release/validate_authoring.py |
4 | 5 (80%) | 16 (25%) | 2026-09-15 |
| app-macos/Snap-O/Device/ADB/ADBClient.swift app-macos/Snap-O/App/SnapOCommands.swift |
3 | 18 (16%) | 17 (17%) | 2026-09-21 |
| app-macos/Snap-O/Device/Device.swift app-macos/Snap-O/App/SnapOApp.swift |
3 | 4 (75%) | 8 (37%) | 2026-09-23 |
| app-macos/Snap-O/Device/Device.swift app-macos/Snap-O/Device/ADB/ADBClient.swift |
3 | 4 (75%) | 18 (16%) | 2026-09-23 |