← Projects

macOS menu bar app · Stardate 2026.10

Picard

Your disk has been assimilated. Picard takes it back.

Your coding agents are a collective: tireless, efficient, and utterly indifferent to how much disk they consume. Picard watches free space on your drives and, when one runs low, clears out what they leave behind: stale node_modules, Cargo target/ folders, Python virtualenvs, ignored build folders, and merged git worktrees. Nothing you still need.

Version 0.2.0 · Apple Silicon · Free and open source (MIT)

Picard app icon: a free-space gauge above a drive

Stale node_modules

From projects you haven't touched in a while. Optionally prunes the npm and pnpm caches too.

Cargo targets

The target/ folder next to a Cargo.toml, often the biggest folder on a Rust developer's disk.

Python virtualenvs

.venv and venv folders in idle Python projects.

Build output

dist, build, .next and others, but only when git ignores the folder and tracks nothing in it.

Merged git worktrees

Clean, unlocked worktrees whose commits are already in main or pushed. Branches are never deleted.

Tool caches and your scripts

Ask uv, Homebrew, bun and the iOS Simulator to prune their own caches, or run any cleanup script you add, like a Docker prune.

Built for agentic coding

The agents have been busy. Picard cleans up after the collective.

Captain's log, supplemental. Free space on the startup disk has fallen to two percent. Fourteen abandoned worktrees detected. Most have already merged.

Coding agents spin up a worktree per task, each with its own dependencies and build output, and move on to the next one without looking back. They pile up fast. Picard removes the ones that are merged and finished, and leaves alone any that a running process, such as an open Claude Code session, is still using.

Tools that sync agent config, like Automatic, rewrite files such as AGENTS.md, CLAUDE.md and .mcp.json on every sync. Picard doesn't count those changes as work, so an idle project still looks idle.

    Nothing outside your chosen folders, and symlinks are never followed out of them No worktree with uncommitted or untracked changes, or unpushed commits No worktree that holds another checkout, such as a Claude Code worktree Git branches are never deleted Any folder you mark as ignored, in any mode Every item is checked again just before it is removed Every removal is logged, and only one cleanup runs at a time No telemetry: the only network call is an update check you start

Ask (default)

Picard reports to the bridge when a drive is low and how much it can free. Review the list, untick anything you want to keep, then give the order.

Auto

Make it so. Picard cleans straight away and tells you how much space it freed.

Off

Hold position. Picard just shows free space for each drive.

Daily long-range scan: optionally scan once a day at a set time, even when space is fine. Picard watches every drive that holds one of your folders, external drives included, and each drive can have its own threshold.

Bring Picard aboard

Requires a Mac with Apple Silicon.

Download .dmg
  1. 1

    Open the .dmg and drag Picard to Applications.

  2. 2

    Open Picard. When macOS asks whether it may send notifications, allow it, or the low-space alerts won't appear.

  3. 3

    Choose Settings… from the menu bar icon, add the folders you keep projects in, and turn on start at login.

Prefer the terminal?

The app binary also works as a command-line tool. scan lists what would be removed and changes nothing.

/Applications/Picard.app/Contents/MacOS/picard scan
/Applications/Picard.app/Contents/MacOS/picard run --yes

Resistance is not futile.

Take your disk back. Free and open source, from Velvet Tiger.

Make it so