docs(website): add a step-by-step setup guide for first-time users

People who have only used AI chat in a web browser found the existing
setup page hard to follow. The new guides/setup page walks through each
step with plain wording and pictures of what the terminal shows:

- getting a desktop AI app (Claude Desktop, Codex or an existing agent)
- installing Node.js and checking it with node -v
- opening the terminal on Mac, Windows (Command Prompt) and Linux
- running setup, ticking an app, reviewing the plan and restarting
- asking a first question about the supplied Notes example
- fixes for the common first-run errors

The setup screens were recorded from rea-agents 6.3.0 in a throwaway
home folder and are kept as selectable HTML. The guide hub now starts
with this page, and Get started links to it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Kaoru0822
2026-10-11 02:23:18 +00:00
co-authored by Claude Opus 5.5
parent 83e52559b8
commit 0ac6832aa6
5 changed files with 930 additions and 10 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ describe its recorded investigation; update them only when repeating that work.
- `public/showcase/ctf/index.html`: DownUnderCTF's masked-squares flag checker, extracted equations and real process captures.
- `public/get-started/index.html`: agent setup, first CLI result and provider guides.
- `public/faq/index.html`: concise answers about setup, updates, analysis and troubleshooting.
- `public/guides/`: a guide hub and native, JavaScript/Electron and browser examples.
- `public/guides/`: a guide hub, a step-by-step setup with recorded setup screens for first-time users, and native, JavaScript/Electron and browser examples.
- `public/examples/`: downloadable Electron source and an interactive Notes browser app.
- `public/assets/`: shared styles, interactions, favicon and explanatory figures.
+125
View File
@@ -1454,6 +1454,121 @@ pre code {
.example-files li + li {
margin: 0;
}
.step-label {
margin: 0 0 0.4rem;
color: var(--accent);
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.choice-list,
.numbered-steps {
margin-block: 0 1.4rem;
}
.choice-list li + li,
.numbered-steps li + li {
margin-top: 0.55rem;
}
.numbered-steps ul {
margin-top: 0.45rem;
}
kbd {
display: inline-block;
padding: 0 0.4em;
border: 1px solid #c9d2db;
border-bottom-width: 2px;
border-radius: 4px;
background: var(--soft);
font-family: inherit;
font-size: 0.85em;
line-height: 1.5;
white-space: nowrap;
}
.word-list {
display: grid;
grid-template-columns: max-content minmax(0, 1fr);
gap: 0.6rem 1.2rem;
margin: 0;
}
.word-list dt {
font-weight: 600;
}
.word-list dd {
margin: 0;
color: var(--muted);
}
.screen-figure {
margin: 1.5rem 0 1.8rem;
}
.screen {
overflow: hidden;
border: 1px solid #303d4a;
border-radius: 8px;
background: #202933;
color: #f1f4f8;
}
.screen-bar {
display: flex;
align-items: center;
gap: 0.7rem;
padding: 0.55rem 1rem;
border-bottom: 1px solid #384551;
color: #bdc8d4;
font-size: 0.8rem;
}
.screen-body {
padding: 1.1rem 1.2rem;
font-size: 0.8rem;
line-height: 1.6;
}
.screen mark {
padding: 0.05em 0.25em;
border-radius: 3px;
background: #3f6593;
color: #ffffff;
}
.chat-screen {
border-color: var(--line);
background: #fafbfc;
color: var(--ink);
}
.chat-screen .screen-bar {
border-color: var(--line);
color: var(--muted);
}
.chat-screen .terminal-dots i {
background: #b8c2cc;
}
.chat-screen mark {
background: #dce8f6;
color: var(--ink);
}
.chat-body {
display: grid;
gap: 0.9rem;
padding: 1.2rem;
font-size: 0.9rem;
}
.chat-message {
max-width: 85%;
margin: 0;
padding: 0.75rem 1rem;
border-radius: 10px;
}
.chat-you {
justify-self: end;
background: #e8eef5;
}
.chat-ai {
border: 1px solid var(--line);
background: var(--page);
}
.screen-figure figcaption {
margin-top: 0.7rem;
color: var(--muted);
font-size: 0.8rem;
}
.example-app {
max-width: 720px;
padding-block: 3.5rem;
@@ -2289,6 +2404,16 @@ pre code {
}
@media (max-width: 640px) {
.word-list {
grid-template-columns: minmax(0, 1fr);
gap: 0.2rem;
}
.word-list dd + dt {
margin-top: 0.6rem;
}
.chat-message {
max-width: 100%;
}
.home-definition {
grid-template-columns: 1fr;
gap: 0.8rem;
+3 -1
View File
@@ -142,7 +142,9 @@
terminal.
</p>
<p class="requirements">
You'll need Node.js 22 (22.19+), 24 (24.11+) or 26+, and npm.
You'll need Node.js 22 (22.19+), 24 (24.11+) or 26+, and npm. New to
the terminal or AI apps?
<a href="../guides/setup/">Follow the step-by-step setup</a>.
</p>
</div>
<div class="article-layout">
+22 -8
View File
@@ -143,6 +143,28 @@
</p>
</div>
<div class="guide-index">
<section class="guide-entry">
<p class="eyebrow">Start here</p>
<div>
<h2>Set up REA, step by step</h2>
<p>
Only used AI in a web browser? Install an AI app and Node.js, run
one command and ask your first question. Each step shows what you
should see.
</p>
<div class="guide-route">
<span>AI app</span> <b aria-hidden="true">→</b>
<span>Node.js</span> <b aria-hidden="true">→</b>
<span>REA setup</span> <b aria-hidden="true">→</b>
<span>First question</span>
</div>
<a class="text-link" href="setup/">Step-by-step setup</a>
<p>
Already use a coding agent? Follow the
<a href="../get-started/">short setup</a>.
</p>
</div>
</section>
<section class="guide-entry">
<p class="eyebrow">Native binaries</p>
<div>
@@ -199,14 +221,6 @@
<a class="text-link" href="browser/">Browser observation guide</a>
</div>
</section>
<section class="guide-entry">
<p class="eyebrow">First investigation</p>
<div>
<h2>Set up REA</h2>
<p>Connect your coding agent or use REA from the terminal.</p>
<a class="text-link" href="../get-started/">Get started with REA</a>
</div>
</section>
</div>
</main>
<!-- website:footer:start -->
+779
View File
@@ -0,0 +1,779 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Set Up REA Step by Step — REA</title>
<meta
name="description"
content="Set up REA with pictures, starting from a web-browser AI chat: install an AI app and Node.js, run one command and ask your first question."
/>
<!-- website:sharing:start -->
<!-- prettier-ignore -->
<link rel="canonical" href="https://rea.tools/guides/setup/" />
<!-- prettier-ignore -->
<meta property="og:type" content="website" />
<!-- prettier-ignore -->
<meta property="og:site_name" content="REA" />
<!-- prettier-ignore -->
<meta property="og:title" content="Set Up REA Step by Step — REA" />
<!-- prettier-ignore -->
<meta property="og:description" content="Set up REA with pictures, starting from a web-browser AI chat: install an AI app and Node.js, run one command and ask your first question." />
<!-- prettier-ignore -->
<meta property="og:url" content="https://rea.tools/guides/setup/" />
<!-- prettier-ignore -->
<meta property="og:image" content="https://rea.tools/assets/social-card.png" />
<!-- prettier-ignore -->
<meta property="og:image:type" content="image/png" />
<!-- prettier-ignore -->
<meta property="og:image:width" content="1200" />
<!-- prettier-ignore -->
<meta property="og:image:height" content="630" />
<!-- prettier-ignore -->
<meta
property="og:image:alt"
content="REA — Find out how software works. Reverse engineering with your coding agent."
/>
<!-- prettier-ignore -->
<meta name="twitter:card" content="summary_large_image" />
<!-- prettier-ignore -->
<meta name="twitter:title" content="Set Up REA Step by Step — REA" />
<!-- prettier-ignore -->
<meta name="twitter:description" content="Set up REA with pictures, starting from a web-browser AI chat: install an AI app and Node.js, run one command and ask your first question." />
<!-- prettier-ignore -->
<meta name="twitter:image" content="https://rea.tools/assets/social-card.png" />
<!-- prettier-ignore -->
<meta
name="twitter:image:alt"
content="REA — Find out how software works. Reverse engineering with your coding agent."
/>
<!-- website:sharing:end -->
<meta name="theme-color" content="#ffffff" />
<link rel="icon" href="../../assets/favicon.svg" type="image/svg+xml" />
<link rel="stylesheet" href="../../assets/styles.css" />
<script src="../../assets/main.js" defer></script>
</head>
<body id="top">
<a class="skip-link" href="#main">Skip to content</a>
<!-- website:header:start -->
<!-- prettier-ignore -->
<header class="site-header">
<div class="container header-inner">
<a class="brand" href="../../" aria-label="REA home"
><span class="brand-name">REA</span
><span class="brand-caption">Reverse Engineer Anything</span></a
>
<nav class="navigation" aria-label="Main navigation">
<a href="../../showcase/">Showcases</a>
<a href="../../blog/">Blog</a>
<a href="../../get-started/" class="nav-start">Get started</a>
<a href="../../guides/" aria-current="page">Guides</a>
<a href="../../faq/">FAQ</a>
</nav>
<div class="header-social">
<a
class="nav-github"
href="https://github.com/morluto/rea"
aria-label="REA on GitHub"
title="REA on GitHub"
>
<svg
width="22"
height="22"
viewBox="0 0 16 16"
aria-hidden="true"
focusable="false"
>
<path
fill="currentColor"
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.65 7.65 0 0 1 2-.27c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"
/>
</svg>
<span class="nav-github-count" hidden aria-hidden="true"></span>
</a>
<a
class="nav-discord"
href="https://discord.gg/GkcryMnJDM"
aria-label="Join REA on Discord"
title="Join REA on Discord"
>
<svg
width="22"
height="22"
viewBox="0 0 24 24"
aria-hidden="true"
focusable="false"
>
<path
fill="currentColor"
d="M20.317 4.3698a19.7913 19.7913 0 0 0-4.8851-1.5152.0741.0741 0 0 0-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 0 0-.0785-.037 19.7363 19.7363 0 0 0-4.8852 1.515.0699.0699 0 0 0-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 0 0 .0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 0 0 .0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 0 0-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 0 1-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 0 1 .0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 0 1 .0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 0 1-.0066.1276 12.2986 12.2986 0 0 1-1.873.8914.0766.0766 0 0 0-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 0 0 .0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 0 0 .0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 0 0-.0312-.0286ZM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189Zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"
/>
</svg>
</a>
<a
class="nav-x"
href="https://x.com/reatools"
aria-label="Follow REA on X"
title="Follow REA on X"
>
<svg
width="18"
height="18"
viewBox="0 0 24 24"
aria-hidden="true"
focusable="false"
>
<path
fill="currentColor"
d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"
/>
</svg>
</a>
</div>
</div>
</header>
<!-- website:header:end -->
<main id="main" class="container">
<div class="page-heading">
<p class="breadcrumb">
<a href="../../">Home</a> / <a href="../">Guides</a> / Setup, step by
step
</p>
<h1>Set up REA,<br />one step at a time.</h1>
<p class="lede">
Only used AI in a web browser? Start here. Each step says what to
click, what to type and what you should see.
</p>
<p class="page-meta">
About 15 minutes · Mac, Windows or Linux · No coding needed
</p>
</div>
<div class="article-layout">
<nav class="contents" aria-label="On this page">
<p>Steps</p>
<ul>
<li><a href="#pieces">How the pieces fit</a></li>
<li><a href="#app">1. Get an AI app</a></li>
<li><a href="#node">2. Install Node.js</a></li>
<li><a href="#terminal">3. Open the terminal</a></li>
<li><a href="#run">4. Run REA setup</a></li>
<li><a href="#choose">5. Choose your AI app</a></li>
<li><a href="#approve">6. Approve the changes</a></li>
<li><a href="#restart">7. Restart your AI app</a></li>
<li><a href="#ask">8. Ask your first question</a></li>
<li><a href="#trouble">If something goes wrong</a></li>
</ul>
</nav>
<article class="article" aria-label="Step-by-step REA setup">
<section class="article-section" id="pieces">
<h2>How the pieces fit</h2>
<p>
The AI chat in your web browser can't open programs or files on
your computer. A desktop AI app can, once a tool such as REA is
connected to it. REA is the part that looks inside a program and
reports what it finds.
</p>
<figure class="workflow-figure">
<p class="figure-title">Who does what</p>
<ol class="flow-steps">
<li>
<span class="flow-label">You</span
><span class="flow-node">Ask a question in plain words</span
><span class="flow-note"
>“What happens when I click Export in this app?”</span
>
</li>
<li>
<span class="flow-label">Your AI app</span
><span class="flow-node">Decides what to look at</span
><span class="flow-note"
>Claude, ChatGPT's Codex or another agent on your
computer.</span
>
</li>
<li>
<span class="flow-label">REA</span
><span class="flow-node">Reads the program's code</span
><span class="flow-note"
>Returns the code and where it was found, so the AI can
explain it.</span
>
</li>
</ol>
<figcaption>
You need two things on your computer: an AI app and REA. The
steps below install both and connect them.
</figcaption>
</figure>
<details class="evidence-details">
<summary>Words you'll see on this page</summary>
<dl class="word-list">
<dt>Terminal</dt>
<dd>
A window where you type instructions instead of clicking.
Every computer has one.
</dd>
<dt>Command</dt>
<dd>
One line of text you paste into the terminal and run by
pressing Enter.
</dd>
<dt>Path</dt>
<dd>
The address of a file or folder, such as
<code>/Users/sam/Downloads/notes-example</code>. Step 8 shows
how to copy one.
</dd>
<dt>MCP</dt>
<dd>
The standard way AI apps connect to tools like REA. Setup
configures it for you; you never edit it by hand.
</dd>
</dl>
</details>
</section>
<section class="article-section" id="app">
<p class="step-label">Step 1</p>
<h2>Get an AI app for your computer</h2>
<p>Pick the one that matches the AI you already use:</p>
<ul class="choice-list">
<li>
<strong>You use Claude in the browser.</strong> Install
<a href="https://claude.ai/download">Claude Desktop</a> and sign
in with the same account.
</li>
<li>
<strong>You use ChatGPT.</strong> Install
<a href="https://developers.openai.com/codex">Codex</a>,
OpenAI's coding agent, and sign in with your ChatGPT account.
</li>
<li>
<strong>You already use a coding agent</strong> such as Claude
Code, Cursor or Gemini CLI. Keep it and go to step 2.
</li>
</ul>
<p>
Open the app once to finish signing in, then leave it. This guide
shows Claude Desktop; the other apps follow the same steps.
</p>
</section>
<section class="article-section" id="node">
<p class="step-label">Step 2</p>
<h2>Install Node.js</h2>
<p>
REA runs on Node.js, a free program that many developer tools use.
REA doesn't install it for you, so do this once:
</p>
<ol class="numbered-steps">
<li>
Open the
<a href="https://nodejs.org/en/download"
>Node.js download page</a
>.
</li>
<li>
Choose the <strong>LTS</strong> version (“long-term support”)
and the <strong>installer</strong> for your computer: a
<code>.pkg</code> file on a Mac or an <code>.msi</code> file on
Windows.
</li>
<li>
Open the downloaded file and click <strong>Continue</strong> or
<strong>Next</strong> until it finishes. Keep the default
options.
</li>
</ol>
<p class="caption">
On Linux, use the instructions for your distribution on the same
page. REA works with Node.js 22 (22.19 or newer), 24 (24.11 or
newer) and 26 or newer.
</p>
</section>
<section class="article-section" id="terminal">
<p class="step-label">Step 3</p>
<h2>Open the terminal</h2>
<ul class="choice-list">
<li>
<strong>Mac:</strong> press <kbd>⌘ Command</kbd> +
<kbd>Space</kbd>, type <code>Terminal</code> and press
<kbd>Return</kbd>.
</li>
<li>
<strong>Windows:</strong> press the <kbd>Windows</kbd> key, type
<code>cmd</code> and press <kbd>Enter</kbd> to open
<strong>Command Prompt</strong>. Use Command Prompt rather than
PowerShell for these steps.
</li>
<li>
<strong>Linux:</strong> press <kbd>Ctrl</kbd> + <kbd>Alt</kbd> +
<kbd>T</kbd>, or open Terminal from your apps.
</li>
</ul>
<p>
Check that Node.js is installed. Type this line, then press
<kbd>Enter</kbd>:
</p>
<div class="code-block code-inline">
<code id="setup-node-version">node -v</code>
<button
class="copy-button"
type="button"
data-copy="setup-node-version"
aria-label="Copy Node.js version check"
>
Copy
</button>
</div>
<figure class="screen-figure">
<div class="screen">
<div class="screen-bar">
<span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Terminal
</div>
<pre class="screen-body"><code>$ node -v
<mark>v24.11.1</mark></code></pre>
</div>
<figcaption>
Example result. A number starting with <code>v22</code>,
<code>v24</code> or <code>v26</code> means you're ready. The
<code>$</code> stands for the text your terminal shows before
the cursor; it differs on every computer.
</figcaption>
</figure>
<p>
If the terminal says <code>command not found</code> or
<code>is not recognized</code>, close the terminal, open a new one
and try again. A terminal opened before the installation can't see
Node.js yet.
</p>
</section>
<section class="article-section" id="run">
<p class="step-label">Step 4</p>
<h2>Run REA setup</h2>
<p>
Click <strong>Copy</strong>, paste the command into the terminal
and press <kbd>Enter</kbd>:
</p>
<div class="code-block code-inline">
<code id="setup-command">npx rea-agents@latest setup</code>
<button
class="copy-button"
type="button"
data-copy="setup-command"
aria-label="Copy REA setup command"
>
Copy
</button>
</div>
<p class="caption">
To paste: <kbd>⌘ Command</kbd> + <kbd>V</kbd> on a Mac,
<kbd>Ctrl</kbd> + <kbd>V</kbd> in Windows Command Prompt, or
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>V</kbd> in most Linux
terminals.
</p>
<p>
The first time, npm asks before downloading REA. Type
<kbd>y</kbd> and press <kbd>Enter</kbd>.
</p>
<figure class="screen-figure">
<div class="screen">
<div class="screen-bar">
<span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Terminal
</div>
<pre class="screen-body"><code>$ npx rea-agents@latest setup
Need to install the following packages:
[email protected]
Ok to proceed? (y) <mark>y</mark></code></pre>
</div>
<figcaption>
The version number will be newer when REA releases an update.
This only downloads REA; nothing on your computer changes until
step 6.
</figcaption>
</figure>
</section>
<section class="article-section" id="choose">
<p class="step-label">Step 5</p>
<h2>Choose your AI app</h2>
<p>Setup shows a list of AI apps. Use the keyboard:</p>
<ol class="numbered-steps">
<li>
Press <kbd>↓</kbd> to move to your app, for example
<strong>Claude Desktop</strong>.
</li>
<li>
Press <kbd>Space</kbd> to tick it. The empty box
<code>◻</code> turns into a filled box <code>◼</code>.
</li>
<li>Press <kbd>Enter</kbd> to continue.</li>
</ol>
<figure class="screen-figure">
<div class="screen">
<div class="screen-bar">
<span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Terminal
</div>
<pre class="screen-body"><code>┌ REA setup
│ Understand local apps and binaries from your terminal or agent.
│
◆ No agents detected. Choose any supported agent below.
│
│ Keys: ↑/↓ navigate · Space toggle · Enter confirm · Ctrl-C cancel
│
◆ Which agents should use REA?
│ ◻ Claude Code
│ <mark>◼ Claude Desktop</mark> (Not detected · configuration is still available)
│ ◻ Codex
│ ◻ Cursor
│ ◻ Gemini CLI
│ …
│ ↑/↓ to navigate • Space: select • Enter: confirm
└</code></pre>
</div>
<figcaption>
Recorded from REA 6.3.0 with Claude Desktop ticked; the full
list is longer. “Not detected” is fine: setup can still connect
an app it didn't find.
</figcaption>
</figure>
<p>
On a Mac or Linux, setup may also ask
<strong>“Install Hopper for deep binary analysis?”</strong> Press
<kbd>Enter</kbd> to keep <strong>No</strong>. You only need Hopper
for compiled programs, and you can add it later from the
<a href="../../get-started/#native">native analysis setup</a>.
</p>
</section>
<section class="article-section" id="approve">
<p class="step-label">Step 6</p>
<h2>Approve the changes</h2>
<p>
Before it changes anything, setup lists exactly what it will do.
</p>
<figure class="screen-figure">
<div class="screen">
<div class="screen-bar">
<span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Terminal
</div>
<pre class="screen-body"><code>◆ Ready to review
│
│ <mark>CREATE Claude Desktop</mark>
│ ~/Library/Application Support/Claude/claude_desktop_config.json
│ Add the REA MCP registration for Claude Desktop;
│ preserve unrelated configuration.
│
│ <mark>INSTALL REA reverse-engineering skill</mark>
│ ~/.agents/skills/reverse-engineer-anything
│ Install or update the bundled REA reverse-engineering
│ skill and on-demand references.
│
◆ Apply these 2 changes?
│ <mark>● Yes, apply</mark> / ○ No, cancel
└</code></pre>
</div>
<figcaption>
Shortened from a REA 6.3.0 recording on a Mac: some detail lines
are left out, long lines are wrapped and your home folder is
shown as <code>~</code>.
</figcaption>
</figure>
<ul class="choice-list">
<li>
<strong>CREATE</strong> adds REA to your AI app's settings file.
Your other settings stay as they are; if the file already
exists, setup keeps a backup.
</li>
<li>
<strong>INSTALL</strong> adds a short instruction set that
teaches coding agents how to use REA.
</li>
</ul>
<p>
<strong>Yes, apply</strong> is already selected. Press
<kbd>Enter</kbd>. To stop instead, press <kbd>Ctrl</kbd> +
<kbd>C</kbd>; nothing is changed.
</p>
</section>
<section class="article-section" id="restart">
<p class="step-label">Step 7</p>
<h2>Restart your AI app</h2>
<p>When setup finishes, it tells you what to restart:</p>
<figure class="screen-figure">
<div class="screen">
<div class="screen-bar">
<span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Terminal
</div>
<pre class="screen-body"><code>◆ What you can do now
│ Agent access: Claude Desktop
│ Guided reverse-engineering workflows: installed
│ CLI: npx rea-agents capabilities
│ Try in Claude Desktop: "Explain how a feature works in
│ /path/to/app and show the evidence."
│
└ <mark>Restart Claude Desktop to load REA.</mark></code></pre>
</div>
<figcaption>Recorded from REA 6.3.0 on a Mac.</figcaption>
</figure>
<p>
Quit the app completely, then open it again. Closing its window
isn't enough:
</p>
<ul class="choice-list">
<li>
<strong>Mac:</strong> click the app, then press
<kbd>⌘ Command</kbd> + <kbd>Q</kbd>.
</li>
<li>
<strong>Windows:</strong> choose <strong>Quit</strong> or
<strong>Exit</strong> from the app's menu, or right-click its
icon next to the clock and choose <strong>Quit</strong>.
</li>
<li>
<strong>A terminal agent</strong> such as Claude Code or Codex:
exit it and start it again.
</li>
</ul>
<p>You can close the terminal now.</p>
</section>
<section class="article-section" id="ask">
<p class="step-label">Step 8</p>
<h2>Ask your first question</h2>
<p>
Try REA on a small example app with an
<strong>Export notes</strong> button. You don't need to run it;
REA reads its code.
</p>
<ol class="numbered-steps">
<li>
<a
href="../../examples/notes-example.zip"
download="notes-example.zip"
>Download the example ZIP</a
>
and unzip it: double-click it on a Mac, or right-click it on
Windows and choose <strong>Extract All</strong>.
</li>
<li>
Copy the prompt below and paste it into your AI app. Don't send
it yet.
</li>
<li>
Copy the path of the <code>notes-example</code> folder:
<ul>
<li>
<strong>Mac:</strong> right-click the folder, hold
<kbd>⌥ Option</kbd> and choose
<strong>Copy “notes-example” as Pathname</strong>.
</li>
<li>
<strong>Windows:</strong> right-click the folder and choose
<strong>Copy as path</strong>. On Windows 10, hold
<kbd>Shift</kbd> while you right-click.
</li>
</ul>
</li>
<li>
Paste the path at the end of your message and send it. If your
app asks whether it may use a REA tool, allow it.
</li>
</ol>
<div class="agent-terminal">
<div class="terminal-header">
<span class="terminal-title"
><span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Your AI app</span
>
<button
class="copy-button"
type="button"
data-copy="setup-first-prompt"
aria-label="Copy first question"
>
Copy
</button>
</div>
<p class="terminal-prompt">
<span class="prompt-symbol" aria-hidden="true">›</span
><span id="setup-first-prompt"
>Use REA to look at the small app in the folder below. What
happens when I click Export notes, and where is notes.csv
saved? Show the files and lines. Folder:</span
><span class="terminal-cursor" aria-hidden="true"></span>
</p>
</div>
<figure class="screen-figure">
<div class="screen chat-screen">
<div class="screen-bar">
<span class="terminal-dots" aria-hidden="true"
><i></i><i></i><i></i></span
>Your AI app
</div>
<div class="chat-body">
<p class="chat-message chat-you">
Use REA to look at the small app in the folder below. What
happens when I click Export notes, and where is notes.csv
saved? Show the files and lines. Folder:
<mark>/Users/sam/Downloads/notes-example</mark>
</p>
<p class="chat-message chat-ai">
The button calls <code>notes.exportCsv()</code>, which sends
a <code>notes:export</code> message to the main process.
There, <code>main.js</code> (lines 8–12) formats the notes
as CSV and writes <code>notes.csv</code> to your Downloads
folder…
</p>
</div>
</div>
<figcaption>
Illustration with an example path. Your path and the AI's
wording will differ; look for the
<code>notes:export</code> message, <code>main.js</code> and the
Downloads folder.
</figcaption>
</figure>
<p>
<strong>You're set up.</strong> To understand that answer and
check one detail yourself, continue with
<a href="../../first-investigation/#answer"
>your first investigation</a
>. To try your own programs, pick a guide:
</p>
<ul class="reading-list">
<li>
<a href="../javascript/">Trace an Electron CSV export</a
><span
>Desktop apps built with web technology. No extra tools
needed.</span
>
</li>
<li>
<a href="../browser/">See what happens when you click</a
><span
>Websites, using Chrome or another Chromium browser.</span
>
</li>
<li>
<a href="../native/">Recover a calculation from a game</a
><span
>Compiled programs such as <code>.exe</code> files. Needs
Ghidra, Hopper or IDA.</span
>
</li>
</ul>
</section>
<section class="article-section" id="trouble">
<h2>If something goes wrong</h2>
<details class="evidence-details">
<summary>
“command not found: npx” or “'npx' is not recognized”
</summary>
<p>
The terminal can't find Node.js. Close every terminal window,
open a new one and run <code>node -v</code>. If it still fails,
install Node.js again from <a href="#node">step 2</a>.
</p>
</details>
<details class="evidence-details">
<summary>“running scripts is disabled on this system”</summary>
<p>
You're in Windows PowerShell, which blocks <code>npx</code> on
many computers. Open <strong>Command Prompt</strong> instead (<a
href="#terminal"
>step 3</a
>) and paste the command there.
</p>
</details>
<details class="evidence-details">
<summary>Setup says my Node.js version isn't supported</summary>
<p>
Install the current LTS version from
<a href="#node">step 2</a>, open a new terminal and run setup
again.
</p>
</details>
<details class="evidence-details">
<summary>My AI app doesn't use REA</summary>
<p>
Quit the app completely and open it again (<a href="#restart"
>step 7</a
>). If it still doesn't, check the connection from the terminal.
For Claude Desktop:
</p>
<div class="code-block code-inline">
<code id="setup-doctor"
>npx rea-agents@latest doctor --client claude_desktop</code
>
<button
class="copy-button"
type="button"
data-copy="setup-doctor"
aria-label="Copy connection check"
>
Copy
</button>
</div>
<p>
The first line should say <code>healthy: true</code>. Lines
about Hopper, Ghidra and IDA only matter for compiled programs.
For another app, replace <code>claude_desktop</code> with
<code>codex</code>, <code>claude_code</code>,
<code>cursor</code> or <code>gemini_cli</code>.
</p>
</details>
<details class="evidence-details">
<summary>I chose the wrong app, or want to add another</summary>
<p>
Run the setup command from <a href="#run">step 4</a> again. Apps
you already connected are ticked; tick the one you want and
press <kbd>Enter</kbd>.
</p>
</details>
<p>
Still stuck? Read the <a href="../../faq/">FAQ</a>, ask in the
<a href="https://discord.gg/GkcryMnJDM">REA community</a> or
<a href="https://github.com/morluto/rea/issues"
>report a problem</a
>. Include what you typed and what the terminal printed.
</p>
</section>
</article>
</div>
</main>
<!-- website:footer:start -->
<!-- prettier-ignore -->
<footer class="site-footer">
<div class="container footer-inner">
<p>REA · Reverse Engineer Anything</p>
<div class="footer-links">
<a href="https://github.com/morluto/rea">Source</a
><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a
><a href="https://discord.gg/GkcryMnJDM">Join the community</a
><a href="https://x.com/reatools">Follow us on X</a>
</div>
</div>
</footer>
<p class="sr-only" id="copy-status" role="status" aria-live="polite"></p>
<a class="back-to-top" href="#top" aria-label="Back to top">
<span aria-hidden="true">↑</span> Top
</a>
<!-- website:footer:end -->
</body>
</html>