repowiseccch1mneyyy/dsh-go

Architecture of ccch1mneyyy/dsh-go

ccch1mneyyy/dsh-go is 2,494 source files holding 44,547 symbols across 10 modules, written mainly in Dart, Kotlin, JavaScript. The largest module is app, with 1,792 files, and 26 files are entry points into the dependency graph.

How dsh-go fits together

The Flutter user interface and the Android platform code live in app/, and app/android/app/src/main/kotlin/io/github/ccch1mneyyy/dsh_app/MainActivity.kt is the Android entry point. Android services in the same kotlin tree, such as PhoneA11yService.kt, handle phone control once the user grants the required permissions. Connections to a DSH instance go through the Dart clients in packages/dsh_client/, which talks to the DSH Web API, and packages/dsh_remote/, which handles DSH Remote. The runtime/ directory packages the Linux environment that runs the DSH engine on the phone and holds the app bridge. tooling/build-apk.sh runs the APK build, and sdk/plugin-kit contains the toolkit for plugin authors.

Largest modules

  • app: 1,792 files and 389,479 lines of code
  • runtime: 151 files and 20,541 lines of code
  • packages: 129 files and 33,595 lines of code
  • sdk: 49 files and 5,422 lines of code
  • services: 39 files and 5,706 lines of code
  • examples: 32 files and 2,025 lines of code
  • market: 8 files and 1,008 lines of code
  • site: 8 files and 2,331 lines of code

Languages

By file count: Dart 1,642 files, Kotlin 245 files, JavaScript 236 files, Python 42 files, TypeScript 31 files, Shell 23 files.

Documentation

Repowise documents dsh-go in 4,604 pages generated from the source, 72 of them written explanations of the repository and its modules. Module guides include:

  • app/android/app/src/main/kotlin/io/github/ccch1mneyyy/dsh_app/phone/background: ADB Background Control
  • app/lib/ui/features: Agent Presets and Schedules
  • app/lib/ui/access: Agents and Models

More on dsh-go: summary and FAQ, codebase overview, code health.