devdrop / docs

Set up workspace sync for development machines

devdrop.johari-dev.com
installreleasedownload the signed binary from GitHub Releases
authorizeclerkapprove each machine from the browser
daemonautowatch and reconcile allowed files
scopeownermachines only receive tokens for their owner

Windows Install

Start from a PowerShell session where GitHub CLI is already signed in and can access the private Devdrop release.

$tmp = Join-Path $env:TEMP "devdrop-install"
$archive = Join-Path $tmp "devdrop-windows-amd64.zip"
$installDir = Join-Path $HOME ".local\bin"
New-Item -ItemType Directory -Force -Path $tmp, $installDir | Out-Null
gh release download --repo AadiJo/devdrop --pattern devdrop-windows-amd64.zip --dir $tmp --clobber
Expand-Archive -Path $archive -DestinationPath $tmp -Force
Copy-Item -Force (Join-Path $tmp "devdrop.exe") (Join-Path $installDir "devdrop.exe")
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
if (($userPath -split ";") -notcontains $installDir) { [Environment]::SetEnvironmentVariable("Path", "$userPath;$installDir", "User") }
$env:Path = "$installDir;$env:Path"
devdrop version

First Machine Setup

Run this on each Windows computer, using a different machine name for each device.

devdrop login --root D:\Aadi\W-Projects\devdrop_sync --open
devdrop pull https://devdrop.johari-dev.com/johari/code D:\Aadi\W-Projects\devdrop_sync
devdrop machine register --root D:\Aadi\W-Projects\devdrop_sync --name "$env:COMPUTERNAME-windows"
devdrop daemon install --root D:\Aadi\W-Projects\devdrop_sync
devdrop daemon start --root D:\Aadi\W-Projects\devdrop_sync

Sync Test

mkdir D:\Aadi\W-Projects\devdrop_sync\smoke -Force
"hello $(Get-Date -Format o)" | Out-File D:\Aadi\W-Projects\devdrop_sync\smoke\pc-test.txt -Encoding utf8
devdrop daemon status --root D:\Aadi\W-Projects\devdrop_sync

Expected Behavior

New regular files sync while both daemons run.
Private operational state is only visible after sign-in.
Conflicting edits are reported instead of auto-merged.
Secrets, `.git`, `.devdrop`, and pruned dependency folders are not synced as normal files.
Dashboard data is private.Sign in to inspect machines, workspaces, conflicts, commands, and agent sessions for your account.
open dashboard