You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository is an Electron app. Main-process code lives in `src/main`, with ADB lifecycle code in `src/main/adb` and local proxy code in `src/main/proxy`. The preload bridge is `src/preload/index.js`. Renderer HTML, JS, CSS, and bundled browser-side libraries live in `src/renderer`. Build assets and icons are in `assets/` and `img/`. Packaging-only ADB binaries are staged in `bundled-tools/platform-tools`. Utility and manual verification scripts live in `scripts/`.
5
+
6
+
## Build, Test, and Development Commands
7
+
-`npm start`: run the Electron app locally.
8
+
-`npm run prepare:platform-tools`: download platform-tools into `bundled-tools/platform-tools` for packaging.
9
+
-`npm run build`: build with `electron-builder.yml`.
10
+
-`npm run build:win`, `npm run build:mac`, `npm run build:linux`: platform-specific builds.
11
+
-`npm run debug:auto` or `npm run debug:screenshot`: quick UI/debug helpers.
12
+
-`node scripts/test-browser-features.js` or other `scripts/test-*.js`: ad hoc verification scripts. There is no formal unit test suite yet.
13
+
14
+
## Coding Style & Naming Conventions
15
+
Use plain JavaScript with CommonJS modules, 2-space indentation, semicolons, and single quotes. Prefer descriptive names over abbreviations. Use `camelCase` for variables/functions, `PascalCase` for classes, and lowercase filenames unless existing files establish a pattern such as `README.md`. Keep renderer logic in `src/renderer/app.js`; keep ADB-specific logic under `src/main/adb`.
16
+
17
+
## Testing Guidelines
18
+
Testing is script-driven. Add focused validation scripts in `scripts/` when fixing nontrivial behavior, especially around ADB startup, window events, and SSH/terminal flows. Name them by behavior, for example `test-ssh-connection.js`. Before release work, verify the relevant path locally and check application logs under `%APPDATA%/adb-proxy-browser/logs/app.log`.
19
+
20
+
## Commit & Pull Request Guidelines
21
+
Follow the existing commit style: `fix: ...`, `feat: ...`, `chore: ...`, `ci: ...`. Keep subjects short and imperative. For releases, use a separate version bump commit such as `chore: bump version to 0.7.49`. PRs should state user-visible impact, platform scope, and validation performed. Include screenshots for renderer changes and call out any packaging or workflow changes that affect release artifacts.
22
+
23
+
## Packaging Notes
24
+
Release builds must use `electron-builder.yml`. The embedded ADB flow depends on `extraResources` copying `bundled-tools/platform-tools` into `resources/platform-tools`, so avoid splitting build config across multiple sources without updating both the workflow and packaging commands.
0 commit comments