# setup

> **Tool `scripts/setup.sh`** (script, Scripts). Check, and optionally install, everything GameFrame uses.

Run it as `scripts/setup.sh`. [Source on GitHub](https://github.com/tanepiper/game-frame/blob/main/scripts/setup.sh).

## Its own help

This is the help text in the tool itself, as `./gameframe tool setup` prints it.

```text
Check, and optionally install, everything GameFrame uses.

  scripts/setup.sh            check only: a table of what is present and what is missing
  scripts/setup.sh --install  install what is missing (Homebrew on macOS, apt on Debian/Ubuntu)
                              and create .venv with the Python tools
  scripts/setup.sh --rea      also show REA's own registration plan for your agent (dry run)

What gets installed, and roughly how big it is:
  Ghidra (decompiler, ~500 MB) and JDK 21 (~300 MB)   static analysis
  Python 3 + .venv: unicorn, pefile, capstone (~40 MB) emulation, PE reading, disassembly
  objdump (binutils or LLVM)                           reading instructions exactly
  Node.js (for npx)                                    REA, the reverse-engineering MCP server
  Zig (~200 MB, optional)                              builds the sample games from any host
  DOSBox-X (~50 MB, optional)                          runs DOS games for ground truth (DOS only)
  innoextract, 7-Zip (~5 MB, optional)                 extract installers (scripts/extract-installer.sh)
Nothing is installed without --install. On Linux, Ghidra is not in apt: the script prints the
download page instead of fetching a large archive itself.
```

## Named by

Skills: [re-setup](/skills/re-setup), [re-start](/skills/re-start).

Agents: [re-surveyor](/agents/re-surveyor).
