Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apple Cider

A native macOS desktop app for transparent APFS/HFS+ file compression, built on the unmodified applesauce crates. Pick the folders that matter, see exactly what is and isn't compressed, and let a scheduled background agent keep new files compressed.

Design document: docs/DESIGN.md.

Layout

crates/
  ipc/       cider-ipc: protocol types (serde) + JSON-RPC 2.0 framing
  engine/    cider-engine: catalog, rules, scanner, planner, executor, scheduler
  agent/     ciderd: headless agent hosting the engine + unix-socket IPC server
  cli/       cider: debug CLI speaking the same protocol as the app
mac/         SwiftUI app + IPCKit (Swift package)

All disk mutation flows through the agent, which drives applesauce through its public API only — no forks, no patches.

Build

cargo build --workspace          # engine, agent, CLI
cargo test --workspace
cd mac && swift build            # SwiftUI app + IPCKit (dev build)
./mac/bundle.sh                  # assemble mac/build/AppleCider.app (embeds ciderd)
./mac/dmg.sh                     # build mac/build/AppleCider.dmg

The .app is self-contained: it embeds ciderd, registers it as a login item (SMAppService), and starts it as a child process as fallback — scheduled sweeps run with the window closed and survive reboots.

Features

  • Managed locations with per-file include/exclude, glob rules, and presets
  • Fast-pass status catalog + FSEvents incremental rescans of changed subtrees
  • Schedules: interval / daily / continuous (sweep after changes go quiet), gated on AC power, Low Power Mode, thermal pressure, and free disk
  • Volume-wide measurement with live progress and savings history charts
  • Algorithm migration (decompress → recompress, batch-wise, space-checked)
  • Engine-enforced safety: iCloud Drive, File Provider mounts (Google Drive, Dropbox, …), legacy/Maestral ~/Dropbox* folders, Trash, and photo libraries are never touched
  • Notifications for background sweeps; full run history with per-file errors

Distribution

mac/dmg.sh produces an ad-hoc-signed DMG that runs locally. Shipping to other machines additionally requires a Developer ID certificate, notarization (notarytool), and — for in-app updates — Sparkle with hosted appcast; the steps are documented in mac/dmg.sh.

Try it

cargo run -p ciderd &            # start the agent (socket in ~/Library/Application Support/AppleCider)
cargo run -p cider -- hello
cargo run -p cider -- roots add ~/some/folder
cargo run -p cider -- compress 1 --wait
cargo run -p cider -- status

License

GPL-3.0-or-later (inherited from the applesauce crates).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages