ai-app-playbook
무엇인가
ai-app-playbook은 수익 나는 앱을 2026년에 어떻게 만들 것인가를 하나의 규칙 파일로 고정해 코딩 에이전트에 주입하는 스킬 파일이다. 규율 대상은 코드 스타일이 아니라 제작 절차와 도구 선택이다. README는 저장소를 클론한 다음 AGENTS.md를 읽으라고만 지시하고, 빈 폴더에서 Claude Code나 OpenCode에 그대로 붙여 넣는 방식을 안내한다. 에이전트가 이때 따르는 기본값은 저장소가 제시한 경로(The path), 스택(The stack), 비용과 수익 가정(The money)이다. 저장소 설명에는 2026년에 유용하고 수익성 있는 앱을 만드는 방법이라고 적혀 있고, 작성자는 3년간 5개 앱을 $100k+ MRR까지 키웠으며 EcoGPT를 이 스택으로 처음 만들었다고 밝힌다. 장은 Examples, The path, The stack, The money, Our stack vs. the popular stack, Chapters로 나뉜다. 즉 이 파일은 앱 기획과 구현, 배포에서 에이전트가 임의로 정하던 부분을 저장소의 결정으로 대체한다.
어떻게 동작하나
이 파일이 없으면 에이전트는 저장소가 금지한 쪽으로 되돌아간다. README의 Don't use 목록에는 Vercel, Netlify, Next.js, Supabase, Firebase, Clerk, Auth0, Sentry, PostHog, ORMs, Lovable, Bolt, v0, Bubble, FlutterFlow, Replit hosting이 들어 있다. 항목 대부분이 호스팅, 인증, 데이터베이스, 모니터링, 분석, ORM, 코드 생성 도구다. 방치하면 앱 골격을 세우는 순간 이들이 기본값으로 붙고, 그 구성이 월 비용 구조와 배포 형태를 먼저 확정해 버린다. 두 번째 실패는 순서다. 저장소는 문제 선정에서 첫 수익 월까지를 경로로 제시하지만, 그 경로가 주입되지 않으면 에이전트는 화면과 기능을 먼저 늘리고 가격과 체험판 가정은 뒤로 미룬다. 세 번째는 기준 수치의 부재다. 다운로드의 30%가 체험판을 시작하고 그중 30%가 연 $30을 낸다는 가정이 없으면, 기능 하나를 더 넣을지 말지를 판단할 근거가 사라진다. 결과적으로 에이전트는 저장소가 피하라고 명시한 스택 위에서, 수익 가정 없이, 순서를 건너뛴 앱을 만들어 낸다.
무엇과 다른가
규칙은 문장으로 설득하는 대신 목록으로 금지한다. Don't use가 별도 절로 존재하는 이유는 부정 제약이 긍정 선호보다 검사하기 쉽기 때문이다. 생성된 의존성과 설정 파일을 목록과 대조하면 위반 여부가 기계적으로 드러나고, 애매한 권고는 남지 않는다. 목록에는 조건절이나 완화 표현이 붙지 않는다. 남은 자유도는 The stack 절이 허용한 선택지 안에서만 행사된다. The money 절은 판단을 수치로 바꾼다. 다운로드당 약 $2.70이라는 환산과 체험판·유료 전환 가정이 있으면 기능 추가가 단가에 미치는 영향을 계산할 수 있다. Our stack vs. the popular stack 절은 1,000명당 월 비용을 인기 스택과 비교하면서 100k 월 사용자, 동일 사용량, 2026년 10월 26일 목록 가격을 기준으로 명시한다. 기준이 날짜와 규모까지 적혀 있어 비용 주장을 검증할 수 있다. 금지 목록과 수익 가정, 비용 비교가 모두 같은 저장소 안에 있으므로 규칙 사이의 우선순위 충돌이 생기지 않는다.
어떻게 쓰나
발동 방식은 자동 훅이 아니라 파일 읽기다. 저장소를 빈 폴더에 클론하고 에이전트에게 AGENTS.md를 읽히면, 그 시점부터 저장소의 스택과 금지 목록이 작업 기본값이 된다. README는 이 절차를 Claude Code와 OpenCode 두 곳에서 하라고 안내하며, 별도 설치 명령이나 플러그인 등록, 슬래시 명령은 제시하지 않는다. 빈 폴더라는 조건이 중요하다. 기존 프로젝트에 이미 CLAUDE.md나 AGENTS.md, 프레임워크 설정이 있으면 두 규칙 집합이 충돌하고, 에이전트가 어느 쪽을 우선할지 정하지 못한 채 파일마다 다르게 따를 수 있다. 로드 시점도 파일을 읽는 시점이다. 세션 중간에 자동으로 다시 읽히는 장치가 없으므로 긴 작업에서는 규칙이 컨텍스트에서 밀려날 수 있다. 적용 범위는 AGENTS.md를 읽는 에이전트 전반이다. Cursor나 Copilot처럼 규칙 파일 이름과 탐색 방식이 다른 도구에서는 같은 파일이 같은 시점에 로드된다는 보장이 없다. 저장소가 함께 제공하는 템플릿은 worker.ts, auth.ts, wrangler.jsonc, AGENTS.app.md, dev.vars.example이며, 배포 설정과 로컬 비밀값 예시 파일이 포함된다는 점에서 문서만 있는 규칙 세트와 구분된다.
전제와 한계
내부 구성은 절 이름이 곧 절차 목록이다. Examples는 결과물의 형태를, The path는 문제 선정에서 첫 수익 월까지의 단계를, The stack은 채택할 도구 조합을, The money는 수익 추정을, Our stack vs. the popular stack은 규모별 비용 비교를, Chapters는 전체 색인을 맡는다. 계산 근거는 The money 안의 Details: 12 · Costs 하위 항목으로 분리되어 있고, 비교표는 상단에 규모와 가격 기준일을 명시해 표의 전제를 고정한다. 템플릿은 다섯 개다. worker.ts는 실행 진입점, auth.ts는 인증, wrangler.jsonc는 배포 설정, AGENTS.app.md는 앱용 에이전트 지침, dev.vars.example은 로컬 비밀값 예시를 담당한다. 이 구성에서 눈에 띄는 점은 서술과 산출물이 분리되어 있다는 것이다. 규칙은 절 제목과 금지 목록, 수치로 남고 실제 코드는 템플릿과 에이전트 생성에 맡긴다. README 텍스트로 확인되는 본문은 절 제목과 수치, 템플릿 이름까지이며, 각 장의 세부 서술은 이미지로 실려 있어 저장소를 클론해야 온전히 읽힌다.
프롬프트를 그때그때 쓰는 방식과의 차이는 지속성에 있다. 채팅 프롬프트는 한 세션 안에서만 유효하고 작업이 길어지면 컨텍스트에서 밀린다. 이 저장소는 파일로 남아 세션마다 같은 내용을 다시 읽힐 수 있고, 금지 목록처럼 길이를 늘려도 부담이 적은 항목을 담는다. 일반 규칙 파일과 비교하면 담는 대상이 다르다. CLAUDE.md나 .cursorrules는 보통 코드 스타일, 언어, 커밋 규칙처럼 저장소 운영 규약을 적는 자리다. 이 파일은 규약 대신 제품 결정을 적는다. 어떤 호스팅을 쓰지 않는가, 어떤 순서로 만들 것인가, 사용자 한 명당 기대 수익이 얼마인가가 본문이다. 보일러플레이트 저장소와도 다르다. 보일러플레이트는 짜인 코드를 복사해 시작하지만, 이 저장소는 코드를 주지 않고 에이전트가 코드를 만들 때 따를 판단 기준을 준다. 플러그인이나 마켓 방식처럼 설치·등록 절차를 요구하지 않고 클론과 파일 읽기만으로 적용된다는 점도 구분된다. 규칙의 단위가 함수가 아니라 제품 수준 결정이다.
설치 경로는 빈 폴더다. README는 저장소를 클론하라고 하고, Claude Code나 OpenCode를 그 폴더에서 열어 AGENTS.md를 읽게 하라고 안내한다. 클론 대상이 저장소 루트이므로 작업 폴더 자체를 저장소로 쓰거나, 저장소를 별도 위치에 두고 규칙 파일을 작업 폴더로 복사하는 방식이 된다. 별도 설치 스크립트, 패키지 설치 명령, 슬래시 명령 등록 절차는 README에 없다. 첫 사용에서 확인할 것은 세 가지다. 하나, 에이전트가 실제로 AGENTS.md를 읽었는지. 둘, 생성되는 의존성과 설정 파일이 Don't use 목록과 겹치지 않는지. 셋, 가격과 체험판 가정이 코드를 쓰기 전에 정해졌는지. 첫 산출물이 나온 뒤에는 package.json, 배포 설정, 인증 모듈을 목록과 대조하는 편이 빠르다. 규칙 위반은 대개 이 세 파일에서 먼저 드러난다. 저장소가 MIT 라이선스이므로 복제·수정·사내 배포에 별도 허가 절차가 필요하지 않다. 프로젝트별로 금지 목록을 줄이거나 늘리려면 클론한 AGENTS.md를 직접 고쳐 쓴다.
적용 대상은 AGENTS.md를 규칙 파일로 읽는 에이전트다. README가 이름을 든 것은 Claude Code와 OpenCode 두 개이며, Cursor나 Copilot은 규칙 파일 탐색 경로와 우선순위가 달라 같은 시점에 로드된다는 보장이 없다. 자동 로드 장치가 없으므로 세션이 길어지거나 컨텍스트가 압축되면 규칙이 밀려날 수 있고, 그때는 다시 읽히는 조치가 필요하다. 의존성은 저장소 클론과 에이전트 실행 환경뿐이지만, 템플릿에 wrangler.jsonc와 dev.vars.example이 포함된 만큼 배포 대상은 Cloudflare Workers 계열로 좁혀진다. 저장소가 명시적으로 하지 않는 것도 있다. 설치 명령, 버전 고정, 테스트 절차, 마이그레이션 안내는 README에 없다. 본문 상당 부분이 이미지로 실려 있어 텍스트만으로는 각 장의 세부 내용을 확인할 수 없고, 수치의 출처는 저장소가 링크한 Costs와 Sources 항목에 의존한다. 수익·비용 수치는 특정 가격 기준일과 사용량 가정 위의 추정이므로 가격 정책이나 트래픽 패턴이 달라지면 그대로 적용되지 않는다.
선택 기준은 조건으로 나뉜다. 새 앱을 시작하고 도구 선택과 수익 가정을 에이전트 기본값에서 빼앗고 싶으면 이 파일을 클론해 빈 폴더에서 읽힌다. 이미 스택이 정해진 기존 프로젝트라면 금지 목록이 현재 구성과 충돌하므로, AGENTS.md에서 해당 항목을 지우거나 규칙 없이 진행하는 편이 낫다. 팀 규약, 즉 코드 스타일과 커밋 메시지, 테스트 정책이 목적이면 CLAUDE.md나 .cursorrules가 맞는 자리이고 이 파일은 그 역할을 하지 않는다. 비용 최적화가 목적인데 월 사용자가 수천 명 규모라면 비교표의 전제와 규모가 어긋나므로 표를 그대로 근거로 쓰기보다 자체 측정이 필요하다. 코드 생성 없이 기획 문서만 필요하면 장 색인까지만 읽고 에이전트 주입은 생략할 수 있다. 반대로 여러 에이전트를 오가며 같은 결정을 유지하려면 클론을 작업 폴더 밖에 두고 각 도구가 같은 AGENTS.md를 가리키게 한다. 규칙 위반을 자주 겪는 상황이면 금지 목록을 체크리스트로 뽑아 산출물 검사에 쓰는 절차가 추가로 필요하다.