10-MVP 사이클: 아이디어에서 배포까지의 여정 자동화하기
더 이상 보일러플레이트 코드를 짜지 마세요. Claude, Linear, Vercel을 활용해 PRD를 자동으로 실제 배포된 앱으로 바꿔주는 워크플로우를 발견했습니다. 한 번에 10개의 스타트업을 동시에 만드는 방법을 공개합니다.

소프트웨어 개발 방식에 조용한 혁명이 일어나고 있습니다. 새로운 자바스크립트 프레임워크 이야기가 아닙니다. 이것은 누가—혹은 무엇이—힘든 일을 처리하느냐에 대한 변화입니다.
이런 시나리오를 상상해 보세요. 비행기를 기다리다가 아이디어가 떠올랐습니다. 목적지에 도착할 때쯤이면, 단순히 폰에 적힌 메모가 아니라 데이터베이스, 인증, 프론트엔드가 모두 갖춰진, 실제 URL에서 작동하는 MVP(최소 기능 제품)가 완성되어 있습니다. 당신은 코드 한 줄 직접 짜지 않았습니다. 그저 흐름(flow)을 관리했을 뿐이죠.
이건 공상과학 소설이 아닙니다. 사람들이 "바이브 코딩(Vibe Coding)"이라고 부르기 시작한 현상이며, 이는 스타트업의 경제학을 근본적으로 바꾸고 있습니다.
대부분의 창업자는 여전히 '아이디어 -> 채용/코딩 -> 디버깅 -> 배포'라는 옛 루프에 갇혀 있습니다. 이 루프는 너무 느립니다. 새로운 루프는 이렇습니다: 맥락(Context) -> AI 에이전트 -> 검증(Verification).
저는 지난 몇 주 동안 개발의 골치 아픈 중간 과정을 자동화하는 스택을 다듬는 데 보냈습니다. 덕분에 10개의 잠재적 MVP를 병렬로 돌릴 수 있게 되었죠. 여기 그 정확한 설정과 워크플로우, 그리고 이 방식이 한계에 부딪히는 지점에 대한 솔직한 진실을 공유합니다.
"바이브(Vibe)" 스택
이 방식이 작동하려면 서로 대화가 통하는 도구들이 필요합니다. 복잡한 엔터프라이즈 솔루션을 찾는 게 아닙니다. 우리는 속도와 통합을 원합니다. 툴킷은 다음과 같습니다:
- 프레임워크:
create-t3-turbo(Turborepo 기반의 모노레포 설정으로 프론트엔드와 백엔드를 한곳에서 처리합니다. Next.js, tRPC, Tailwind, Prisma가 포함되어 있어 MVP에 완벽합니다). - 두뇌: Claude Code (당신의 리드 엔지니어 역할을 하는 CLI 도구).
- 프로젝트 관리: Linear (단일 진실 공급원, Source of Truth).
- 트래킹: GitHub Issues (Linear와 동기화됨).
- 인프라: Vercel (호스팅) + Neon (서버리스 Postgres).
Vercel과 Neon 모두 넉넉한 무료 티어를 제공하므로, 실험 비용은 사실상 0원입니다.
설정 단계 (The Setup Phase)
코드 한 줄을 쓰기 전에, 기계의 배선을 연결해야 합니다. 정확한 설정 과정은 다음과 같습니다:
1. 프로젝트 초기화
create-t3-turbo 프로젝트를 생성하는 것으로 시작합니다. 이렇게 하면 모든 것이 구성된 프로덕션 준비 상태의 모노레포 구조를 얻을 수 있습니다:
npx create-turbo@latest -e https://github.com/t3-oss/create-t3-turbo
이 명령어는 프론트엔드용 Next.js, 타입 안전(Type-safe) API용 tRPC, 데이터베이스 관리용 Prisma, 스타일링용 Tailwind CSS를 포함한 전체 스택을 Turborepo 모노레포 구조로 스캐폴딩(scaffolding)합니다.
2. Claude Code 설치
다음으로, AI 기반 개발 어시스턴트인 Claude Code를 설치합니다. code.claude.com의 설치 가이드를 따르세요. 설치가 완료되면 프로젝트 디렉토리에서 실행할 수 있습니다:
claude
3. GitHub Actions 통합 설정
Claude Code CLI 내부에서 다음 명령어를 실행하여 GitHub Actions 통합을 설치합니다:
/install-github-app
이 명령어는 Claude가 풀 리퀘스트(PR)를 생성하고, CI/CD 워크플로우를 실행하며, 리포지토리와 상호 작용할 수 있게 해주는 GitHub Actions 봇을 설정합니다. 이 통합 덕분에 Claude는 단순히 코드를 제안하는 것을 넘어 자동화된 워크플로우를 통해 코드 변경을 직접 실행할 수 있습니다. 자세한 설정 방법은 공식 GitHub Actions 문서를 참조하세요.
4. Linear와 GitHub 연결
Linear를 GitHub에 연결하여 양방향 이슈 동기화를 설정할 때 마법이 일어납니다. 방법은 다음과 같습니다:
- Linear의 GitHub 통합 페이지로 이동합니다.
- "Add Integration"을 클릭하고 Linear가 GitHub 계정에 액세스하도록 승인합니다.
- 동기화할 리포지토리를 선택합니다.
- 동기화 설정을 구성합니다:
- 양방향 동기화 (Bidirectional sync): GitHub에서 생성된 이슈가 Linear에 자동으로 나타나고, 그 반대도 마찬가지입니다.
- 상태 매핑 (Status mapping): Linear의 워크플로우 상태(할 일, 진행 중, 완료)를 GitHub 이슈 상태와 매핑합니다.
- 우선순위 동기화 (Priority sync): 두 플랫폼 간의 우선순위 레벨을 동기화합니다.
- 자동 링크 (Auto-linking): 이슈 ID를 사용하여 브랜치와 PR을 Linear 이슈에 자동으로 연결합니다.
구성이 완료되면 GitHub에서 이슈가 생성될 때 Linear에도 나타납니다. Linear에서 우선순위나 상태를 업데이트하면 GitHub에도 반영됩니다. 이를 통해 어느 플랫폼에서든 작업을 관리할 수 있는 통합된 워크플로우가 만들어집니다.
5. 인프라 배포
마지막으로 Neon 데이터베이스와 함께 Vercel에 배포합니다:
- GitHub 리포지토리를 Vercel에 연결합니다.
- Neon 서버리스 Postgres 데이터베이스를 프로비저닝합니다 (무료 티어 사용 가능).
- 데이터베이스 연결 문자열(connection string)을 Vercel 환경 변수에 추가합니다.
배포가 완료되면, 이제 당신의 생각에서 실제 라이브 URL로 이어지는 지속적 통합(CI) 파이프라인을 갖게 된 것입니다. 메인 브랜치(main)에 병합(merge)될 때마다 자동으로 프로덕션에 배포됩니다.
자동화된 워크플로우
여기서부터 전통적인 프로덕트 매니저(PM)의 역할이 희미해지기 시작합니다.
1. 맥락 세션 (The Context Session)
아이디어가 있다면 IDE를 열지 마세요. 채팅 창을 여세요. ChatGPT나 Claude에게 말을 거세요. 날것의 생각들을 쏟아내세요. AI가 당신에게 반문하게 만드세요. 이 세션이 끝날 때쯤, AI에게 **PRD(제품 요구사항 정의서)**를 마크다운 형식으로 생성해 달라고 요청하세요.
돌려받는 결과물은 보통 대부분의 중급 PM들이 작성하는 것보다 낫습니다. 상세하고, 구조적이며, 전문적입니다.
인사이트: 저는 전문적인 "프로덕트 매니저" 역할이 AI에 의해 가장 먼저 대체될 것이라고 믿습니다. 우리는 비전을 담당하는 "제품 디자이너"나 "풀스택 크리에이터"가 있고, AI가 명세(specs)를 처리하는 세상으로 나아가고 있습니다.
2. 핸드오프 (The Handoff)
그 마크다운 PRD를 로컬의 Claude Code에 입력하세요. 이 단계가 핵심입니다. AI가 요구사항을 실행 가능한 작업 항목으로 변환하는 순간이죠.
Claude Code CLI 내부에서 PRD를 파싱(분석)하고 GitHub 이슈를 생성하도록 지시합니다. Claude Code는 내부적으로 **GitHub CLI (gh)**를 사용하여 리포지토리와 상호 작용합니다. 일어나는 일은 다음과 같습니다:
- 파싱: Claude가 PRD를 분석하여 개별적이고 실행 가능한 작업들로 쪼갭니다.
- 이슈 생성: 각 작업에 대해 Claude는 다음과 같은 명령어를 실행합니다:
gh issue create --title "Implement user authentication" \ --body "Details from PRD..." \ --label "feature" \ --assignee "@me" - 메타데이터 할당: Claude는 PRD에 설명된 복잡성을 기반으로 라벨(기능, 버그, 개선), 우선순위, 심지어 예상 시간까지 자동으로 할당합니다.
- 의존성 매핑: GitHub Actions 통합이 설정되어 있다면, Claude는 이슈 간의 의존성과 마일스톤도 생성할 수 있습니다.
gh CLI 사용의 묘미는 프로그래밍이 가능하다는 점입니다. Claude는 수십 개의 이슈를 단 몇 초 만에 일괄 생성할 수 있으며, 각 이슈에는 마크다운 설명, 인수 조건(acceptance criteria), 기술 노트가 적절히 포맷팅되어 들어갑니다.
순식간에 당신의 Linear 보드에 불이 들어옵니다. 앞서 설정한 Linear-GitHub 동기화 덕분에, 10개에서 20개의 티켓이 자동으로 채워지는 것을 볼 수 있습니다. 적절한 제목, 상세한 설명, 우선순위, 상태까지 모두 갖춰진 채로 말이죠. PM이 수동으로 작성하려면 몇 시간이 걸렸을 전체 백로그가 1분도 안 되어 생성됩니다.
3. 실행 (The Execution)
이제 당신은 엔지니어링 매니저 역할을 합니다. 이슈에서 @claude를 태그하여 티켓 작업을 시작하게 합니다. Claude는 GitHub Actions에서 코드를 작성하고, 풀 리퀘스트(PR)를 생성한 뒤, 리뷰를 기다립니다.
당신이 병합(merge)합니다.
Vercel의 CI/CD가 작동합니다. 몇 분 후, 변경 사항이 라이브에 반영됩니다.
이 모든 과정의 아름다움은 폰으로도 가능하다는 점입니다. 택시나 카페에서 PR을 리뷰하고 보드를 관리할 수 있습니다. 당신은 뻔한 React 보일러플레이트 코드를 타이핑하는 것이 아니라, 고속 건설 팀을 지휘하고 있는 것입니다.
"라스트 마일(Last Mile)" 문제
여기서 읽기를 멈춘다면, AI가 모든 것을 해결했다고 생각할지도 모릅니다. 그렇지 않습니다.
"바이브 코딩"이 강력하긴 하지만, 우리는 그 한계에 대해 솔직해져야 합니다. AI는 "지저분한 일(dirty work)"과 "건조한 작업(dry work)"에 탁월합니다. 데이터베이스 스키마를 짜고, 로그인 폼을 만들고, API 라우트를 설정하는 건 어떤 인간보다 빠릅니다.

하지만 제품의 '영혼'을 다루는 데는 서툽니다.
집을 짓는 것에 비유해 봅시다. AI는 골조 공사 팀입니다. 그들은 기록적인 시간 안에 콘크리트를 붓고, 기둥을 세우고, 벽을 바를 수 있습니다. 하지만 그들은 끔찍한 인테리어 디자이너입니다. 그들은 저 구석의 조명 스위치 위치가 어색하다거나, 주방의 동선 때문에 사람들이 서로 부딪힐 거라는 사실을 모릅니다.
소프트웨어에서 이것이 바로 "라스트 마일(Last Mile)"입니다. 사용자를 기쁘게 하는 상호작용, 미묘한 UI 애니메이션, 비즈니스 로직의 엣지 케이스들—이곳이 바로 인간 빌더인 당신이 개입해야 하는 지점입니다.
제품 완성을 100% AI에 의존한다면, 기술적으로는 작동하지만 정서적으로는 공허한 소프트웨어를 얻게 될 것입니다. 위대한 제품과 평범한 제품을 가르는 그 "장인 정신(craft)"이 결여될 것입니다.
실전 테이크어웨이
오늘 당장 이 방식을 시도해보고 싶다면, 제 조언은 다음과 같습니다:
- PRD로 시작하세요: 절대로 AI에게 "그냥 코딩해줘"라고 하지 마세요. 코드의 품질은 PRD의 품질에 달려 있습니다(downstream). 코드 문법이 아니라 요구사항 텍스트를 다듬는 데 에너지를 쓰세요.
- 믿되 검증하세요 (Trust but Verify): AI 코딩 에이전트는 없는 의존성을 만들어내거나(hallucinate) 보안상 취약한 로직을 짤 수 있습니다. 변경 내역(diffs)을 읽으세요. AI를 재능 있지만 아직 주니어인 개발자처럼 대하세요.
- 물량을 받아들이세요: 이 속도를 활용해 더 많은 아이디어를 테스트하세요. 한 달이 아니라 주말 안에 MVP를 만들 수 있다면, 제품 시장 적합성(PMF)을 찾을 확률은 기하급수적으로 올라갑니다.
무언가를 만드는 장벽은 사라졌습니다. 남은 것은 오직 당신의 취향과 끈기뿐입니다.

공유하기

Feng Liu
shenjian8628@gmail.com