ShareBeacon is a macOS 26 menu-bar application for keeping SMB shares available and restoring Finder sidebar favorites after reconnects.
- Support macOS 26 and later only. Keep the deployment target at macOS 26.0.
- Preserve the MIT license and credit Ben Tindall and Valentine Ubani Mayaki.
- Never store passwords in configuration, URLs, process arguments, or logs.
- Prefer small, isolated changes with focused tests.
- Run
swift testafter core changes andgit diff --checkbefore every commit. - Use commit-often: commit one coherent change as soon as it is verified.
- Finder sidebar repair is best-effort and must never block mounting.
- Keep the product version in
VERSIONusing two numeric components. - Use
GITHUB_RUN_NUMBERas the CI build number; local builds use the commit count unlessBUILD_NUMBERis provided.
- Reconcile existing mounts safely when shares are edited, disabled, or removed.
- Make reconnect behavior deterministic across network and sleep/wake events.
- Restore configured Finder sidebar favorites after a successful mount.
- Improve diagnostics and prepare signed/notarized distribution.
swift test(this machine needs the Xcode toolchain + SDK; see below)swiftlint --strictwhen SwiftLint is installedxcodebuild -project ShareBeacon.xcodeproj -scheme ShareBeacon -configuration Debug buildgit diff --check
xcode-select points at CommandLineTools, whose toolchain has no Testing
module. Run the package tests with the Xcode toolchain and SDK instead:
SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.sdk \
DYLD_FRAMEWORK_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks \
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift test \
-Xswiftc -F -Xswiftc /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks