Regenerable build cache is the cheapest win
lector .cache, lector-audit .cache, the home .cache and .npm/_npx are all reproducible from source. Nothing to lose. Run this first, it is the whole first hour of work.
| # | Size | Path | What it is |
|---|---|---|---|
| 01 | 52 G | projects/active/lector/.claude | agent session store living inside a git repo. Largest single blob on the box, and it is not code. |
| 02 | 23 G | projects/active/lector/.cache | build cache. Fully regenerable, nothing to lose. |
| 03 | 16 G | worktrees/lector-audit/.cache | 16 G of it is .cache. An audit worktree last touched 30 Aug. |
| 04 | 14 G | .platformio | PlatformIO package cache, global to the box. |
| 05 | 5.3 G | tools | ray, testkit-www, whisper-env, zig, hermes-webui. |
| 06 | 3.7 G | .hermes | Hermes runtime plus its node_modules. |
| 07 | 2.9 G | .cache | pip, npx, misc. Safe to purge wholesale. |
| 08 | 2.5 G | projects/archive | see the structure sheet for detail. |
| 09 | 2.3 G | .local | bins and tool installs. |
| 10 | 2.2 G | tools/testkit-www | ray, testkit-www, whisper-env, zig, hermes-webui. |
| 11 | 2.1 G | projects/active/lector-return/.cache | second checkout of lector, 2.6 G sibling at lector-batt. |
| 12 | 2.0 G | .npm | see the structure sheet for detail. |
| 13 | 1.9 G | .claude | Claude Code runtime and session history. |
| 14 | 1.9 G | .rustup | with .claude 2.0 G, .npm 1.7 G and .npm-global 1.1 G. |
| 15 | 1.8 G | projects/active/lector-batt/.cache | third checkout of lector. Likely a dead fork. |
| 16 | 1.4 G | tools/ray/squashfs-root | ray, testkit-www, whisper-env, zig, hermes-webui. |
| 17 | 1.3 G | projects/active/lector/.git | see the structure sheet for detail. |
| 18 | 1.1 G | projects/active/lector/.pio | see the structure sheet for detail. |
| 19 | 1.1 G | .npm-global | see the structure sheet for detail. |
| 20 | 976 M | go | Go module and build cache. |
| 21 | 853 M | projects/h4rg0s-motion/out | rendered animation output. |
| 22 | 673 M | apps | google-cloud-sdk, node_modules, and a gcloud.tar.gz already extracted. |
| 23 | 671 M | projects/archive/lector-wallpapers/gallery | see the structure sheet for detail. |
| 24 | 646 M | worktrees/lector-audit/.pio/build | 16 G of it is .cache. An audit worktree last touched 30 Aug. |
~/ 147 G (220G used on / · 213G free · 51%) ── WORK ────────────────────────────── projects/ 89 G active/ 85 G archive/ 2.5 G h4rg0s-motion/ 911 M herdr-mobile-relay/ 58 M h4rg0s-style/ 16 M worktrees/ 17 G lector-audit/ 17 G arch-reader/ 207 M lector-touch/ 78 M kioko-dark-loom/ 37 M kioko-things-parity/ 19 M kioko-gcal-signin/ 18 M kioko-things3-clone/ 18 M kioko-things-dests/ 18 M naki-audit/ 18 M gh-work/ 456 M chrome-testing/ 390 M learning/ 226 M videos/ 189 M showreel/ 143 M vaults/ 105 M nue/ 104 M my-agent/ 26 M hub/ 22 M backups/ 15 M ktf-tmp/ 5.0 M code/ 1.8 M fonts-delivery/ 96 K ── TOOLS & RUNTIMES ────────────────── .platformio/ 14 G tools/ 5.3 G testkit-www/ 2.2 G ray/ 1.9 G whisper-env/ 441 M zig-x86_64-linux-0.15.2/ 380 M hermes-webui/ 243 M testkit-tools/ 13 M .hermes/ 3.7 G .cache/ 2.9 G .local/ 2.3 G .npm/ 2.0 G .claude/ 1.9 G .rustup/ 1.9 G .npm-global/ 1.1 G .grok/ 612 M .t3/ 436 M .cargo/ 433 M .config/ 387 M .codex/ 355 M .cua-driver/ 252 M .opencode/ 239 M .fonts/ 89 M .bun/ 86 M .agent-reach-venv/ 81 M .gemini/ 64 M .wrangler/ 26 M .agent/ 3.8 M .agents/ 568 K .readwise/ 156 K .helmrig/ 136 K .ssh/ 52 K .superpowers/ 48 K .pytest_cache/ 28 K .claude-monitor/ 20 K .skillclaw/ 20 K .supabase/ 16 K .gnupg/ 12 K .vscode/ 8.0 K .mcporter/ 8.0 K .calibre-web/ 4.0 K .xurl/ 4.0 K ── DRAFTS / SCRATCH ────────────────── backups/ 452 K incoming/ 412 K workspace/ 384 K bin/ 152 K tmp/ 116 K asahi-watch-archive/ 84 K reports/ 76 K scripts/ 20 K '/ 16 K Library/ 12 K jfaudit/ 8.0 K records/ 4.0 K ── LOOSE FILES AT ROOT: 60 ──────────────────── AGENTS.md · HERDR_TELEGRAM_GUIDE.md · PROJECTS.md · asahi-watch-out.md · asahi-watch-prompt.txt · asahi-watch-supervise.sh · asahi-watch-tmp-asahi.xml · asahi-watch-tmp-lina.xml · check_380.py · check_asahi_and_iso.py · check_asahi_gh.py · check_asahi_prs.py · check_asahi_prs_detail.py · check_batch.py · check_commit.py · check_details.py · check_external.py · check_github.py · check_iso.py · check_issues.py · check_omacom.py · check_repo.py · claude-vps-task.md · claude-vps-task2.md · dualboot-omarchy-gaming.md · framework-ai-laptop-report.md · gemini-approver-run.py · imgme.command · orchestrator-models.md · probe_ladder.py · reader_duplication_map.txt · run-claude-task.sh · run-claude-task2.sh · skills-lock.json · .bash_history · .bash_logout · .bashrc · .bashrc.bak.1789930978 · .claude.json · .claude.json.bak · .claude.json.bak-1779270260 · .claude.json.tmp.1310454.11ede2235a9c · .claude.json.tmp.3425241.af1d4ec67e39 · .cloud-locale-test.skip · .cwa_watchdog_fails · .gitconfig · .gitconfig.pre-emailfix · .gitignore_global · .hanja_posted · .kualia_oauth.json · .lesshst · .npmrc · .patreon_session · .patreon_token · .profile · .readwise-cli.json · .substack_sid · .sudo_as_admin_successful · .tmux.conf · .zshrc
lector .cache, lector-audit .cache, the home .cache and .npm/_npx are all reproducible from source. Nothing to lose. Run this first, it is the whole first hour of work.
An agent session store living inside a git repo, and it is now bigger than the source it sits next to. Either it belongs under ~/.claude with a retention policy, or it is stale. Biggest single win on the sheet, and the one I want to read inside before touching.
A worktree whose audit completed weeks ago, still holding a full build cache. Check the branch is merged, then remove the worktree.
lector, lector-return, lector-batt, lector-koreader, lector-fonts-dist, plus the lector-audit and lector-touch worktrees. Two are likely dead forks. The real cost is not the bytes, it is not knowing which one is truth.
A pile of one-shot check_*.py probes from a single audit run, superseded, plus task notes and rotating config backups. A home directory should hold directories. These belong in hub/audits/<date>/.
incoming, records, reports, tmp, workspace, jfaudit, backups. All near-empty, all meaning something different to whoever made them. Collapse to one scratch/ plus a real archive/.
The canon says two agents are live. The home directory carries config for six. Worth deciding which are actually in service, for the bytes and for the honesty of the rules.
~/' exists and contains /home/claude/. A script ran a mkdir with a stray quote. Sixteen kilobytes, harmless, and it poisons every future glob. Delete on sight, then find the script.
Multiple .claude.json.bak and .claude.json.tmp files, a timestamped .bashrc.bak, a .gitconfig.pre-emailfix. The bytes are nothing. The risk is restoring a stale credential store by accident.
A gcloud tarball beside the extracted SDK, a zig tarball beside the extracted toolchain. Already unpacked, so the archive is pure weight.
Dead forks, finished side-projects and a gigabyte of wallpapers with nothing stating what archive means or when a project gets deleted. One paragraph in AGENTS.md, then act on it once.
~/ projects/ the only place code lives. active/ · archive/ (with a stated expiry rule) vaults/ notes. nue · h4rg0s-brain tools/ what this box runs, not what it builds hub/ HANDOFF.md, JEV.md, audits/<date>/, one-off probes under audits/<date>/ media/ videos + showreel + Pictures, currently three folders for one thing scratch/ incoming · tmp · records · reports · workspace · jfaudit collapse into this bin/ scripts/ entry points and helpers, currently a small amount of signal spread over seven dirs code/ either promote soundtap into projects/, or delete this dir as a mistake ── everything else is a dotfile and belongs there ── .hermes .claude .config .local .cache .npm … Two rules that would stop most of this coming back: 1. no loose files in ~ — anything ad-hoc goes in scratch/ or hub/audits/<date>/ 2. code only lives in projects/ — a second checkout is a worktree under worktrees/, never a sibling folder