AI용 분할본 · 지도 2단계(서버) · 이 페이지 전에 읽을 페이지: PART 0 사용법·AI 시작 지침 · 코드 파일은 여기 없다 — 코드 자리의 줄을 따른다(폴더에 책 파일이 하나도 없는 처음이면 부록 A-2 의 curl 한 줄부터)

핵심 규칙 — AI 는 어느 페이지에서든 이것을 지킨다

  1. 사용자가 결정 질문(PART 0 지침 1)에 답하고 승인하기 전에는 코드를 한 줄도 쓰지 않는다.
  2. HRUM API 키는 서버 환경변수 HRUM_API_KEY 에만 둔다. 미니앱 코드·.env·채팅·커밋·로그에 쓰지 않고, 키 값을 사용자에게 달라고 하지 않는다. 미니앱은 내 서버만 부른다.
  3. 책 코드 파일은 다시 쓰지 않는다 — node scripts/get-book-code.mjs 가 책 그대로 만든다(처음에는 부록 A-2 의 curl 한 줄). 분할본의 코드 자리는 「경로」 한 줄이다 — 받은 파일을 cat 으로 읽는다.
  4. 앱인토스 내용은 각 장 끝 출처의 공식 문서가 우선이다. 다르면 문서를 따르고 사용자에게 알린다.
  5. 확인은 명령 출력으로 증명한다. 콘솔 화면(앱인토스·HRUM)은 사용자가 누르고, AI 는 대신 가입·로그인하지 않는다. 진행은 PROGRESS.md 에 적는다.
  6. AI 는 지도(https://console.hrum.ai/tossEbook/ — 같은 지도가 tossEbook/ai.html 에도 있다)의 단계 순서대로 그 단계의 페이지만 읽는다. 전체본 tossEbook.html 은 사람용이다.

부록 A — 책 코드 받기

A-1. 받는 파일

폴더파일
프로젝트 맨 위(서버)package.json · server.mjs · mock-hrum.mjs · test/server.test.mjs · Dockerfile · .dockerignore · .gitignore · scripts/get-book-code.mjs
miniapp/(미니앱)package.json · apps-in-toss.config.ts · vite.config.ts · index.html · src/main.js · src/style.css · scripts/check-bundle.mjs · .env.example

A-2. 처음 한 번 — 빈 폴더에서

명령 (Node 22 이상)
curl -sO https://console.hrum.ai/tossEbook/get-book-code.mjs && node get-book-code.mjs && rm get-book-code.mjs

「[완전 코드] N개 — 새로 만듦 N」이 나오면 끝입니다. 그다음부터는 node scripts/get-book-code.mjs 가 없는 파일을 만들고 책과 다른 파일을 알려 줍니다(종료 코드 0 = 책과 같음). --force 는 다른 파일을 책 원문으로 되돌리고 원래 내용은 <파일>.orig 로 남깁니다. 고쳐도 되는 파일(PART 0 지침 2)은 덮어쓰지 않습니다.

A-3. 스크립트 전문

scripts/get-book-code.mjs — 책 코드 받기·비교 스크립트코드 자리: cat scripts/get-book-code.mjs · 없거나 get-book-code 가 "다름"이면 node scripts/get-book-code.mjs · 손으로 고치지 않는다 · 원문(사람용 — AI 는 열지 않는다)

출처

앱인토스 내용은 2026-10-28 에 앱인토스 개발자센터 문서를 직접 읽고 요약했고, 2026-10-30 에 문서와 다시 대조했습니다. 정책·화면은 바뀔 수 있으니 시작 전에 원문을 다시 확인하세요.

AI용 분할본 · 지도 2단계(서버) · 이 페이지 전에 읽을 페이지: PART 0 사용법·AI 시작 지침 · 코드 파일은 여기 없다 — 코드 자리의 줄을 따른다(폴더에 책 파일이 하나도 없는 처음이면 부록 A-2 의 curl 한 줄부터)