# `mix mob.cache`
[🔗](https://github.com/genericjam/mob_dev/blob/master/lib/mix/tasks/mob.cache.ex#L1)

Inspects every cache `mix mob.*` writes to outside the project tree, and
(with `--clear`) deletes them. Distinct from `mix clean` (build artifacts
in `_build/`) and `mix deps.clean` (deps in `deps/`) — this targets caches
in your home directory that survive across projects.

By default the command is read-only — it prints a summary of what's on
disk and exits. Pass `--clear` to wipe Mob's own cache, and add
`--include-transitive` to also wipe caches owned by transitive deps
(currently `elixir_make`, used by `exqlite` for its prebuilt NIF tarball).

Caches we *do not* touch — even with `--include-transitive` — because
they're shared with the rest of your Elixir/Android/iOS work:

  * `~/.hex/`, `~/.mix/`           — Hex/Mix global state
  * `~/.gradle/`                   — Gradle wrapper + caches
  * `~/Library/Developer/Xcode/`   — Xcode DerivedData, Index
  * `~/Library/Caches/com.apple.dt.*` — Xcode-related caches

Clean those manually if you want a true scorched-earth reset.

## Usage

    mix mob.cache                                 # show what's on disk (default)
    mix mob.cache --include-transitive            # also list elixir_make cache
    mix mob.cache --clear                         # delete Mob's own cache
    mix mob.cache --clear --include-transitive    # delete Mob's + elixir_make's
    mix mob.cache --clear --yes                   # skip the confirmation prompt
    mix mob.cache --dry-run                       # explicit "list only" (alias for default)

## Where the caches live

**Mob's own cache** — pre-built OTP runtimes (iOS sim, iOS device, Android
arm64, Android arm32). One per platform/ABI; ~200–400 MB each. Reused
across every Mob project on this machine.

    $MOB_CACHE_DIR     (if set)
    ~/.mob/cache/      (default)

Override with `MOB_CACHE_DIR` in your shell or `mob.exs` if you want it
somewhere project-local or sandbox-friendly (Nix users: this is the
switch you want).

**`elixir_make` cache** — pre-built NIF tarballs that `exqlite` and other
NIF-using deps download instead of recompiling from source. The same
tarball is reused across every Elixir project on this machine.

    ~/Library/Caches/elixir_make/    (macOS)
    ~/.cache/elixir_make/            (Linux)

This belongs to `elixir_make`, not Mob — but `mix mob.deploy` is what
populated it, so we offer to clear it here.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
