|
2 | 2 |
|
3 | 3 | ## Choose a Release |
4 | 4 |
|
5 | | -USB Mirror Sync ships in two Windows-friendly forms: |
| 5 | +USB Mirror Sync ships in platform-specific forms: |
6 | 6 |
|
7 | | -- Portable zip: unzip and run `usb_mirror_sync.exe` |
8 | | -- Installer: installs the app, Start Menu entry, optional desktop shortcut, and optional startup registration |
| 7 | +- Windows: portable zip or installer |
| 8 | +- macOS: `.dmg` plus a `.tar.gz` fallback |
| 9 | +- Linux: per-architecture `.tar.gz` |
9 | 10 |
|
10 | | -Startup is disabled by default in the installer. |
| 11 | +Startup is disabled by default in the Windows installer. |
11 | 12 |
|
12 | 13 | ## First Launch |
13 | 14 |
|
14 | | -On first launch the app creates: |
| 15 | +1. Launch the app. |
| 16 | +2. Open `Setup Wizard` from the tray/menu bar icon. |
| 17 | +3. Point the app at the USB source: |
| 18 | + - Windows: set `drive.letter` |
| 19 | + - macOS/Linux: set `drive.path` |
| 20 | +4. Add at least one job mapping a USB-relative `source` to an absolute local `target`. |
| 21 | +5. Save the config and leave the app running in the tray. |
15 | 22 |
|
16 | | -- `%LOCALAPPDATA%\UsbMirrorSync\config.json` |
17 | | -- `%LOCALAPPDATA%\UsbMirrorSync\manifest.json` |
18 | | -- `%LOCALAPPDATA%\UsbMirrorSync\shadow\` |
19 | | -- `%LOCALAPPDATA%\UsbMirrorSync\sync.log` |
| 23 | +On first launch the app creates a per-user data directory with: |
| 24 | + |
| 25 | +- `config.json` |
| 26 | +- `manifest.json` |
| 27 | +- `shadow/` |
| 28 | +- `sync.log` |
20 | 29 |
|
21 | 30 | If the config is missing or invalid, the app can open the Setup Wizard automatically and recover to a safe default config. |
22 | 31 |
|
@@ -69,8 +78,20 @@ Tray actions include: |
69 | 78 | - `Sync to USB now` |
70 | 79 | - `Eject drive` |
71 | 80 | - `Setup Wizard` |
| 81 | +- `Open mounted drive` |
| 82 | +- `Open shadow cache` |
72 | 83 | - `Open raw config` |
73 | 84 | - `Open log` |
74 | 85 | - `Open app folder` |
75 | 86 |
|
76 | 87 | If a second copy of the app is launched, the single-instance guard shows a warning and lets you cancel or retry startup. |
| 88 | + |
| 89 | +## Clean Reset |
| 90 | + |
| 91 | +If you want to wipe local app state and start fresh, use the scripts in `tools/reset/`: |
| 92 | + |
| 93 | +- `tools/reset/reset-windows.bat` |
| 94 | +- `tools/reset/reset-macos.sh` |
| 95 | +- `tools/reset/reset-linux.sh` |
| 96 | + |
| 97 | +These are intended to remove the app's per-user config, manifest, logs, and shadow cache. They are for local state cleanup, not for uninstalling release artifacts. |
0 commit comments