Skip to content

Latest commit

 

History

104 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installory

See what is installed on your Mac—and clean it up without the fear.

Mac App Store · installory.app · Free · MIT · macOS 14+

Installory is a native macOS inventory for Homebrew formulae and casks, pip, pipx, persistent uv tools, npm, Cargo, RubyGems, receipt-bearing Mac App Store apps, and your AI agent stack — Claude Code and opencode skills, agent CLIs, and VS Code & Cursor extensions. It combines on-disk metadata into one explained, searchable view without modifying the system or contacting a server.

Installory inventory

Capabilities

  • Home dashboard of what matters: packages tracked, measured payload, safe to free up, AI installs this week, review candidates, duplicates, and broken skills.
  • Removal-safety verdicts (safe / caution / leave-alone) per package, driven by reverse-dependency analysis, orphan detection, read-only and denylist status.
  • Restore points and Move-to-Trash: bulk cleanup captures a snapshot first and offers a one-tap restore script; file-backed items can be moved to Trash instead of removed.
  • Free-up-space bundle surfacing the highest-value, safe-to-remove packages with their reclaimable bytes.
  • Project workspaces: stale local projects detected from granted folders, sized and sorted by last activity — never modified.
  • Unified List and sortable Table views with search by name, scope, or path.
  • Plain-English descriptions for every package, with per-manager fallbacks, plus install timing, dependencies, reverse-dependency tree, and bounded payload sizes when available.
  • Cross-manager duplicate analysis, review candidates, cleanup scoring, and a measured-payload Disk Usage view.
  • Optional local provenance from matching shell history and Claude Code, Codex, and opencode session records, enabled explicitly in Settings → Privacy.
  • Hide, pin, and annotate packages to keep your inventory organized.
  • Snapshots, baseline compare with change detection and reinstall scripts, and CSV, Markdown, JSON, and environment-report exports.
  • Exact single or bulk cleanup scripts for the user to review and run manually. Bulk cleanup snapshots first; single-package generation follows the selected Always, Ask, or Never snapshot preference.

Generated cleanup script

Safety guarantees

  • Read-only scanning: Installory never installs, removes, or changes software.
  • No command execution: production code contains no subprocess calls.
  • No runtime network: package descriptions are bundled with the app.
  • Sandboxed access: external folders require user-granted, read-only, security-scoped bookmarks. Read-write access applies only to a destination the user selects in a Save panel.
  • Local privacy: provenance is off by default, redacted before persistence, and never leaves the Mac.

CI enforces these boundaries with scripts/check-invariants.sh.

Build and test

Installory runs on macOS 14 or newer. Building requires Xcode 16.3 or newer on a macOS release supported by that Xcode, plus XcodeGen:

brew install xcodegen
./scripts/regenerate-xcode.sh
open Installory.xcodeproj

Select a Development Team in Xcode before running the app. The generated Installory.xcodeproj is intentionally ignored; project.yml is the source of truth and must be regenerated after app-target files are added, moved, or renamed.

Run the Core suite without Xcode:

cd Installory
swift test

Run the app suite without signing:

./scripts/regenerate-xcode.sh
xcodebuild \
  -project Installory.xcodeproj \
  -scheme Installory \
  -destination 'platform=macOS' \
  CODE_SIGNING_ALLOWED=NO \
  CODE_SIGNING_REQUIRED=NO \
  test

The offline description corpus has its own maintenance runbook.

Structure

  • Installory/ — standalone Swift package containing scanners, models, persistence, provenance, snapshots, exports, and script generation.
  • App/Sources/ — SwiftUI shell and AppCoordinator integration layer.
  • App/Resources/ — app assets, privacy manifest, legal notices, and bundled descriptions.
  • project.yml — XcodeGen source of truth.
  • .github/workflows/test.yml — Core, app, Release-build, and invariant gates.

The only package dependency is GRDB, pinned to the 7.10 minor series. New scanners must remain filesystem-only; managers that require executing a command are deliberate gaps.

Release

The current 1.5.0 submission notes and archive checklist are in RELEASE.md. Historical audits and implementation plans live in Git history rather than the working tree.

License

Installory is available under the MIT License. Bundled dependency and asset notices are in App/Resources/ThirdPartyNotices.txt.

About

Read-only macOS app that inventories every developer package on your Mac — Homebrew, pip, pipx, npm, Cargo, RubyGems, and Mac App Store — and generates cleanup scripts you run yourself. No network, no tracking.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages