TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Compare, reconcile & tidy your cloud folders on macOS — column browsing, duplicate finding, AI-assisted filing, a storage treemap, and undo-everything safety
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A native macOS app (and git-style CLI) for comparing, reconciling, and organizing the folders you keep across cloud providers — iCloud Drive, OneDrive, Dropbox, and Google Drive.
🌐 Explore the features & screenshots →README 전문 보기 ↗A native macOS app, with a git-style CLI, for comparing, organizing and editing the files you
keep across iCloud Drive, OneDrive, Dropbox and Google Drive.
SyncCloud has four workspaces:
Deletes go to the Trash, overwrites are staged and swapped in atomically, and each run is a single ⌘Z.
kind:pdf, >10mb, only:left), with live counts.One provider, six lenses:
Report (1),
Report-final), and PDFs with the same text. Picks a sensible keeper and never trashes the last
copy.Form W-2 beside Form W2,
IRS Docs - 2023 beside 2023) and turns it into a plan you review step by step. The undo is
written to disk before anything moves, so it survives a quit.Taxes/{year}") with a dry
run. SyncCloud can learn one from a file you filed by hand.Optional AI filing. Suggestions come from a fast offline engine. You can add Apple Intelligence (on-device) or Claude (cloud, opt-in, API key in the Keychain). Claude is used only when you press Refine with Claude, with a cost estimate first and monthly and lifetime budget caps ($5 lifetime by default).
Images folder, and tables tidy so their pipes line up.Lease (signed).pdf.A first-run guide reads the folder you point it at — names only, no file is opened — so it can ask about you and your household with your own folder names in front of you. Nothing is saved until you press Save. Reopen it from Help ▸ Set Up SyncCloud….
Atomic, backed-up overwrites; Trash-backed deletes; grouped Undo/Redo and Undo Last Run; From/To confirmations; collision choices (replace, keep both, skip, or merge folders); and a guard that refuses an ambiguous path rather than guessing.
Liquid Glass (Clear, Frosted or Solid), light and dark themes, 11 accent hues, and Settings ▸ Readability for text size (90–135%) and row spacing.
| Browsing one source | Guided Review | Filing loose files | Finding duplicates |
|---|---|---|---|
| Cloud-hostile names | Storage treemap | Reading a PDF | Settings |
|---|---|---|---|
Every screenshot is of the app running against a synthetic folder tree.
The Xcode project is generated from project.yml:
brew install xcodegen
xcodegen generate
open SyncCloud.xcodeproj # then Build & Run (⌘R)
synccloud)Scan and sync without opening the app. Full docs: SyncCloudCLI/README.md.
cd SyncCloudCLI
swift run synccloud providers # list cloud providers
swift run synccloud scan -L iCloud/Documents -R OneDrive/Documents
swift run synccloud scan -L ~/A -R ~/B --json # machine-readable
swift run synccloud sync -L ~/A -R ~/B --direction to-right --strategy keep-both --yes
swift run synccloud restructure # read-only tree report
Key flags: --direction auto|to-right|to-left, --strategy replace|skip|keep-both, --verify,
--fail-fast, --show-hidden, --ignore <path>, --json, --yes. Exit codes: 0 success,
1 partial sync failure, 64 usage error.
Without a key, Organize runs on its offline engine.
SyncCloud/
├── MacApp/ # SwiftUI app target
├── Modules/ # Swift packages
│ ├── Sync/ # diff engine, file operations, filing, duplicates, storage
│ ├── FileExplorer/ # panes, Compare, Organize lenses, Edit (text and PDF)
│ ├── Dashboard/ # folder sidebar, activity log, details, history
│ ├── Settings/ # settings UI and persistence
│ ├── Design/ # Liquid Glass design system
│ └── Events/ # logging and sync history
├── SyncCloudCLI/ # the synccloud command-line tool
├── SyncCloudTests/ # app-target tests
├── docs/ # feature site (GitHub Pages) and engineering notes
└── project.yml # XcodeGen project definition
Tests run on every push via a self-hosted GitHub Actions runner (docs/ci.md).
What's planned is in ROADMAP.md.
Provided as-is for educational and personal use.