# 02 — Base packages Minimum set of packages needed by Claude Code and the helper scripts in this repo. Everything here is idempotent — re-running is safe. ## Required (Claude Code itself) ```bash pkg install -y \ nodejs \ python \ git \ proot \ ripgrep ``` | Package | Why | |---------|-----| | `nodejs` | Claude Code runs on Node.js | | `python` | `mdns-resolve`, `mdns-publish.py` | | `git` | Cloning this repo, version control inside Claude | | `proot` | Provides `termux-chroot` used by `clauded` (fixes `/tmp`) | | `ripgrep` | Faster search inside Claude (the bundled one may not run on aarch64) | ## Recommended (SSH + mDNS) ```bash pkg install -y openssh termux-api pip install zeroconf ``` | Package | Why | |---------|-----| | `openssh` | SSH server (`sshd`) and client | | `termux-api` | Backs the `termux-*` Android-bridge commands | | `zeroconf` (pip) | Required by `mdns-publish.py`; **does not survive a `tar` backup** of `$HOME`, reinstall after restore | ## Optional (file sharing) ```bash pkg install -y samba ``` See `04-samba.md` for the rest of the setup (custom port 4450, share definitions). ## Optional (image support in Claude) ```bash npm install -g @img/sharp-wasm32 sharp --force ``` Enables image input (screenshots, diagrams). Sometimes flaky on aarch64; safe to skip. ## Verifying ```bash node --version # >= 22 LTS recommended python --version # 3.11+ proot --version ssh -V ``` If any of these fail, re-run the relevant `pkg install`. ## What's next `03-ssh-mdns-tailscale.md` — set up dynamic hostname resolution so you never hardcode IPs.