chore: initial project scaffold

Sets up monorepo with Wails desktop shell, Go backend, React/TS frontend, and Kotlin Android SDK skeleton.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
achmad
2026-05-06 13:13:21 +07:00
commit 6a53f87e03
53 changed files with 5095 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
plugins {
id("com.android.library") version "8.7.0" apply false
id("org.jetbrains.kotlin.android") version "2.1.0" apply false
}
+35
View File
@@ -0,0 +1,35 @@
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "dev.achmad.droidscope"
compileSdk = 35
defaultConfig {
minSdk = 24
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
implementation("androidx.core:core-ktx:1.13.1")
testImplementation("junit:junit:4.13.2")
}
@@ -0,0 +1,3 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
@@ -0,0 +1,15 @@
package dev.achmad.droidscope
object DroidScope {
private var initialized = false
fun init(config: DroidScopeConfig = DroidScopeConfig()) {
if (!config.enabled || initialized) return
initialized = true
// TODO: start WebSocket transport, register collectors
}
fun shutdown() {
initialized = false
}
}
@@ -0,0 +1,7 @@
package dev.achmad.droidscope
data class DroidScopeConfig(
val host: String = "localhost",
val port: Int = 9000,
val enabled: Boolean = true,
)
+18
View File
@@ -0,0 +1,18 @@
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "DroidScope-SDK"
include(":sdk")