spade clean

The spade clean command removes the local data Spade accumulates as you work.

Run working directories are kept after every run (see spade run), because a run's outputs and logs are usually the reason the run happened. That makes ~/.spade grow, and this is how it shrinks. Nothing is ever pruned automatically — deleting is always something you ask for.

Usage🔗

spade clean              # run directories + content cache + downloaded assets
spade clean --blocks     # also remove installed collections
spade clean --dry-run    # show what would go, delete nothing
spade clean --yes        # skip the confirmation prompt

What it removes🔗

TargetPathRemoved by default
Run directories~/.spade/pipelines/yes
Content cache~/.spade/cache/yes
Downloaded assets~/.spade/assets/yes
Installed collections~/.spade/blocks/only with --blocks

All four are reclaimable: removing one costs a re-run, a re-fetch, or a re-install — never correctness.

Downloaded assets are the local copies of catalog assets that upload blocks resolve against. Deleting them means the next run that needs one fetches it again, or takes a --asset override.

--dry-run prints the same summary and exits:

spade clean --dry-run
  Run directories          /home/you/.spade/pipelines  282.4 MB
  Content cache            /home/you/.spade/cache  14.1 MB
  Downloaded assets        /home/you/.spade/assets (nothing to remove)

Total: 296.5 MB
Dry run — nothing was removed.

Indexes are pruned first🔗

Removing the block tree also drops the collections from the local block index, and removing the asset tree drops the asset cache rows — both before the files go.

The ordering matters. An index that under-claims is recoverable: the next install or run puts the entry back. An index that claims blocks or assets whose files are gone makes every lookup for them fail at execution time, which is a much worse place to find out.