Requires Go 1.21+.
git clone https://github.com/lumipallolabs/diskdive.git
cd diskdive
go build .
go test ./...Build a native macOS app with DMG installer:
./scripts/build-mac-app.shVersion is read from the VERSION file in the project root. This creates:
build/DiskDive.app- Universal binary (Intel + Apple Silicon)build/DiskDive-X.Y.Z.dmg- DMG installer
For distribution, sign and notarize the app:
-
One-time setup:
# Store notarization credentials in keychain xcrun notarytool store-credentials notarytool \ --apple-id your@email.com \ --team-id YOURTEAMID # Find your signing identity security find-identity -v -p codesigning
-
Create
.envfile (gitignored):export SIGN_IDENTITY="<certificate hash>" export NOTARIZE_PROFILE="notarytool"
-
Build:
source .env && ./scripts/build-mac-app.sh
DiskDive separates core business logic from the UI:
internal/
core/ # Pure business logic (scanning, state, events)
ui/tui/ # Terminal UI (Bubble Tea)
scanner/ # Filesystem scanning
model/ # Data structures
watcher/ # Filesystem monitoring
This makes it possible to build alternative frontends (GUI, web) using the same core.
Contributions are welcome! See CLAUDE.md for code style and guidelines.