내보낸 메모가
어디로 가는지 알아보세요

REA로 작은 앱을 살펴보고 메모 내보내기 버튼의 동작을 추적한 뒤, 한 가지를 직접 검증해 보세요.

제공된 예제 · Node.js과 npm · 코딩 에이전트

1. 에이전트에 REA 연결하기

Claude Code, Codex, Cursor 같은 코딩 에이전트를 사용하세요. Node.js와 npm이 필요합니다. 설치 가이드에 지원 버전이 나와 있습니다.

코딩 에이전트

npx rea-agents@latest setup을 사용해 REA를 설치하고 이 코딩 에이전트에 연결해 줘. 먼저 설정 변경 계획을 보여 주고 내 승인을 받은 뒤 실행해 줘. 마지막으로 설치를 확인해 줘.

또는 터미널에서 이 명령을 실행하세요:

npx rea-agents@latest setup

계획을 검토하고 설정을 승인한 뒤 에이전트를 다시 시작하세요. 이미 연결했다면 아래로 진행하세요.

2. CSV 저장 위치 묻기

예제는 메모 내보내기 버튼이 있는 6개 파일로 구성된 Electron 앱입니다. Electron을 설치하거나 실행하지 않아도 에이전트가 코드를 분석할 수 있습니다.

코딩 에이전트

https://rea.tools/examples/notes-example.zip을 새 예제 폴더에 다운로드하고 압축을 풀어 줘. REA로 Export notes를 클릭할 때 어떤 일이 일어나는지 조사해 줘. notes.csv가 기록되는 위치, 포함된 필드, 관련 파일과 줄을 보여 줘.

에이전트가 파일을 다운로드하고 압축을 푼 폴더를 REA에 전달해 분석합니다.

예제 ZIP 다운로드

에이전트가 다운로드할 수 없다면 직접 압축을 푸세요. notes-example 폴더의 경로와 같은 내보내기 질문을 에이전트에게 전달하세요.

3. 답변의 근거를 코드에서 확인하기

파일과 줄 번호를 포함한 짧은 설명을 확인하세요:

버튼은 notes:export 메시지를 보냅니다. 메인 프로세스는 메모를 CSV로 변환한 뒤 사용자의 다운로드 폴더에 notes.csv 파일을 저장합니다. 열은 id와 title입니다.

버튼에서 파일 저장 코드까지

  1. 페이지 · renderer.js노트 내보내기notes.exportCsv()을 호출합니다.
  2. 브리지 · preload.jsnotes:export메인 프로세스에 이름 있는 메시지를 보냅니다.
  3. 핸들러 · main.jsnotes.csv 저장csv.js의 포맷터를 호출하고 파일을 저장합니다.
REA의 정적 분석은 메시지와 핸들러를 연결합니다. 저장 위치는 코드에서 확인합니다.
main.js · 라인 8-12소스 코드
ipcMain.handle("notes:export", () => {
  const destination = path.join(app.getPath("downloads"), "notes.csv");
  writeFileSync(destination, toCsv(notes), "utf8");
  return destination;
});

이 핸들러에 파일 경로, 포맷터, 쓰기 호출이 함께 있습니다. 답변에 빠져 있다면 에이전트에게 해당 코드를 보여 달라고 하세요.

전체 코드 추적과 기록된 REA 결과 보기.

4. 예측 확인

CSV는 쉼표로 열을 구분합니다. 메모 제목에 쉼표나 따옴표가 들어 있으면 어떻게 될까요?

코딩 에이전트

ID가 1이고 제목이 Hello, "REA"인 메모의 CSV 출력을 예측해 줘. 그런 다음 Node.js로 예제의 toCsv 포맷터를 실행해 확인해 줘. 예측과 실제 출력을 보여 줘.

예상 포맷터 출력
id,title
1,"Hello, ""REA"""

제목은 따옴표로 감싼 필드 하나에 남고, 내부 따옴표는 두 번씩 표시됩니다. Node.js로 포맷터를 직접 검증합니다.

직접 검증하기

압축을 푼 notes-example 폴더에서 터미널을 여세요:

macOS / Linux · Bash / Zsh
node <<'JS'
const { toCsv } = require('./csv.js');
process.stdout.write(toCsv([{ id: 1, title: 'Hello, "REA"' }]));
JS
Windows · PowerShell
@'
const { toCsv } = require('./csv.js');
process.stdout.write(toCsv([{ id: 1, title: 'Hello, "REA"' }]));
'@ | node

5. 추가 질문하기

같은 대화에서 다음 질문을 해보세요:

파일을 저장할 수 없으면 어떻게 돼? 오류가 페이지에 전달되는 과정을 추적해 줘.

또는 직접 고른 앱을 에이전트에게 주고 버튼, 파일, 동작 중 하나를 물어보세요.

상단