3탄 권1 제0장
3탄 — TotalSportsView 12개월 운영 매뉴얼
1탄·2탄 졸업자에게, TSV와 만나며
권1 — Phase 0: BMAD 셋업 → SPEC → Position C → PLAN → REVIEW READY → CLAUDE.md

1탄 v2 (5확장 + 9개 표준 도구 풍경) 와 2탄 v2 (줍줍 GSD 기반 Phase 1 완성 — 5확장 5/5 + 메타 원칙 8/8 데이터 입증) 를 마치셨습니다. 누적 시간 약 187h, 사용자 218명, 1순위 커뮤니티 320% 달성.

이제 3탄 — TotalSportsView (TSV) 12개월 운영 매뉴얼입니다.

서문 왜 또 다른 도메인인가 🔗
📘 두 도메인 일관 검증의 본질
  • 1탄 v2 = 메타 원칙의 정의
  • 2탄 v2 = B2C 앱 (줍줍) 73일 사례에서 데이터 입증
  • 3탄 = 미디어 플랫폼 (TSV) 12개월 사례에서 "두 도메인 일관 패턴" 입증

줍줍 사례 한 도메인 입증 = 메타 원칙이 "줍줍에서 작동" 만 입증. TSV 사례 추가 = "두 도메인에서 같은 메타 원칙 일관 작동" = 가설 → 사실 의 진짜 전환.

줍줍과 TSV의 차이

차원줍줍 (2탄)TSV (3탄)
도메인B2C 정부 지원금 + 후기스포츠 미디어 + 다관점 분석
사용자자영업자 + 시민 (한국)스포츠 팬 (글로벌)
콘텐츠 출처공공데이터 API + 사용자 후기5~19 리그 공식 자료
톤 분리사장님 / 시민 (2 페르소나)STAT/OBSERVER/COACH/INSIDER (4 페르소나)
⚖️ 회색지대표현 정직성 + 개인정보Position C — 베팅 미연결 분석 미디어
기술 스택Expo + Supabase + Haiku/SonnetRust + Next.js + Oracle Free Tier
기간Phase 1 = 73일Phase 1.0 = 33일, Phase 1.1~2 = 12개월
수익 모델Phase 1 무수익 → Phase 2 구독Phase 1.0 무수익 → 1.1 광고 → 1.2 구독 → 2 B2B
💡 TSV 한 줄 정의

"5~19 스포츠 리그의 모든 경기를 STAT·OBSERVER (나아가 COACH·INSIDER) 페르소나가 다관점으로 분석하는 자동 미디어 플랫폼. Position C — 베팅 사이트 연결 X."

3탄의 권1~6 구조

분량다루는 영역
권1 — Phase 0 (Day -1~7)~110KBBMAD 셋업 → SPEC → 외부 검토 → Position C 결정 → PLAN → REVIEW READY → CLAUDE.md
권2 — Phase 1.0 (Day 1~33)~120KBDB·Rust·페르소나·Day 14 가설 검증 (CRITICAL 게이트)
권3 — Phase 1.1 (Day 34~90)~120KB광고·SEO·19 리그 확장·SSOT
권4 — Phase 1.2 (Day 91~180)~120KB프리미엄 구독 + COACH·INSIDER 페르소나 추가
권5 — Phase 2.0 (Day 181~365)~150KBB2B 데이터 리포트 + 12개월 운영
권6 — Phase 2.1+ (마무리·예고)~80KB종합 회고 + Phase 3 예고

페이지를 넘기시지요. TSV Phase 0 Day -1에서 만나뵙겠습니다.

권1 Phase 0
제0장 — Phase 0 시작점: BMAD 셋업 + 첫 결정
TSV 이름 결정 + Position C 첫 인식 + BMAD 초기화
📑 이 챕터에서 다룰 내용

2탄 v2 권1 제0장에서 "줍줍" 이름 결정이 등장했습니다. 3탄 권1 제0장도 같은 챕터 — TSV 이름 결정 + Position C 첫 인식의 트레이스 + BMAD 초기화입니다.

📚 사전 지식 체크🎯 이 장의 목적✅ 완료 후 결과물
1탄 v2 + 2탄 v2 정독 / 1탄 v2 새33장 33-0 (표준 도구 Day 0 셋업) 인지 BMAD 초기화 + tsv/ 폴더 + git init + 첫 결정 트레이스 (이름 + Position C 인식) BMAD 설치 완료 + tsv/ 폴더 + BUILD.md 두 트레이스 + git first commit
0-1 ⭐ E4 결정 첫 등장 — "TotalSportsView" 이름 결정 🔗

첫 결정 트레이스

📘 Phase 0 Day -1 — 이름 후보 비교 트레이스

Junho: 스포츠 미디어 플랫폼을 만들 거예요. 이름 후보 3가지입니다.

  • (1) "SportsLens" — 분석 렌즈 톤, 글로벌 영어
  • (2) "MultiAngle" — 다관점 강조, 직설
  • (3) "TotalSportsView" — 19개 리그 모든 경기 + 다관점 통합

Claude: 세 후보의 트레이드오프를 분석했습니다.

  • (1) "SportsLens": 영어 + 분석 톤. 그러나 "렌즈" = 단일 시각 인식. 다관점 = TSV의 본질이라 상충. SEO 약함 (일반 명사).
  • (2) "MultiAngle": 직설 + 다관점 강조. 좋습니다. 그러나 영어 "Angle" = 카메라 각도 인식 (스포츠 ≠ 영상). 도메인 매칭 약함.
  • (3) "TotalSportsView": 길지만 강합니다. "Total" = 19 리그 모든 경기 커버 / "Sports" = 도메인 직설 / "View" = 관점 (다관점 시스템 본질). 도메인 명확 + 본질 명확. SEO 강함. 약칭 "TSV".

⚠️ 첫 회색지대 인식: 스포츠 미디어 = 베팅 사이트 인접 시장. "Total Sports View" 가 "베팅·픽 추천 미디어" 인식 가능성 → ⚖️ E1 회색지대 발생. 권1 제3장 Position C 결정 예고.

Junho: "TotalSportsView (TSV)" 채택. Position C 결정은 권1 제3장으로.

4 요소 트레이스 형식

요소내용
결정프로젝트명 "TotalSportsView (TSV)" 채택
근거도메인 명확 (Total + Sports + View) + 다관점 본질 + SEO 강함
대안 비교"SportsLens" (단일 시각 톤 상충) / "MultiAngle" (도메인 매칭 약함)
부작용베팅 미디어 회색지대 발생 → ⚖️ E1 Position C 결정 (권1 제3장)

이 트레이스가 BUILD.md 첫 entry입니다. 6개월 후 동업자가 "왜 TSV?" + "왜 Position C?"를 펼치면 본문에 답이 있습니다.

0-2 Day 0 셋업 — BMAD 초기화 (30분) 🔗

1탄 v2 새33장 33-0에서 배운 것: 실전 프로젝트는 5파일 수동 생성 대신 표준 도구로 시작한다. TSV = 12개월 미디어 플랫폼 → BMAD (Breakthrough Method for Agile AI-Driven Development) 선택.

📘 왜 BMAD인가?

TSV는 4 페르소나 (STAT·OBSERVER·COACH·INSIDER) + Rust+Next.js 복잡 스택 + 12개월 장기 운영 + B2B 데이터 리포트. BMAD의 멀티 에이전트 구조 (BA·Architect·Dev·QA) 가 TSV의 다관점 시스템과 자연스럽게 매핑됩니다.

TSV 페르소나BMAD 에이전트역할
STATDeveloper경기 데이터 수집·통계 계산
OBSERVERBusiness Analyst관점 정의·콘텐츠 요구사항
COACHProduct Manager전략·우선순위
INSIDERQA Engineer검증·Position C 준수 확인
💻 Day 0 셋업 (터미널)
# ① 프로젝트 폴더 생성
mkdir tsv && cd tsv

# ② git 초기화
git init

# .gitignore (Rust + Next.js + Oracle 환경)
cat > .gitignore << 'EOF'
node_modules/
.next/
target/
Cargo.lock
.env
.env.local
.env*.local
.DS_Store
*.log
.vscode/
.idea/
out/
build/
EOF

# ③ BMAD 설치
npx bmad-method install --yes

# 설치 확인
bmad-help

# ④ BUILD.md 첫 entry — 이름 + Position C 인식 결정 트레이스
cat > BUILD.md << 'EOF'
# BUILD.md — TotalSportsView (TSV)

## Phase 0 Day -1 (프로젝트 시작 전)

[계획]
- 프로젝트명 결정 + 폴더 + BMAD 셋업

[실행]
- 이름 후보 3개 비교 + Claude와 결정
- "TotalSportsView (TSV)" 채택
- tsv/ 폴더 + git init + BMAD 초기화

[결정 트레이스 ① — 이름 결정]
> 결정: 프로젝트명 "TotalSportsView (TSV)" 채택
> 근거: 도메인 명확 + 다관점 본질 + SEO 강함
> 대안: "SportsLens" (단일 시각 톤 상충) / "MultiAngle" (도메인 약함)
> 부작용: 베팅 미디어 회색지대 발생 → 권1 제3장 Position C

[결정 트레이스 ② — Position C 첫 인식]
> 결정: SPEC § 회색지대 결정 섹션에 "Position C — 분석 미디어,
       베팅 미연결" 결정 (권1 제3장 진행 예정)
> 근거: 줍줍 회색지대 (정부 절차 인접) 와 같은 패턴. 본문에 박지 않으면
       6개월 후 단속·신고 위험.
> 대안: 회색지대 명시 X — 변호 논리 무너짐 위험
> 부작용: SPEC § 회색지대 결정 섹션 무거워짐 (E5 외부 노출 4자리 의무)

[이슈] 없음

[회고 1줄]
- 이름 결정 + Position C 인식 = 줍줍 권1 제0장과 정확히 같은 패턴.
  두 도메인 일관 = BMAD + 5확장 메타 원칙의 깊이 입증 시작.
EOF

# ⑤ 첫 commit
git add .
git commit -m "Phase 0 Day -1: TSV 프로젝트 초기화 + BMAD 셋업 + 이름 결정 + Position C 인식"

# ⑥ Claude Code 실행
claude
📘 BMAD 설치 후 생성되는 구조
tsv/
└── _bmad/
    ├── agents/          # BA, PM, Architect, Dev, QA, Scrum Master, Product Owner
    ├── workflows/       # 사이클 워크플로우
    ├── config.toml      # BMAD 프로젝트 설정
    └── _memory/         # 에이전트 간 공유 컨텍스트

BMAD BA 에이전트로 SPEC 작성 → BMAD PM으로 PLAN → BMAD QA로 REVIEW. 사이클 오케스트레이션이 자동화됩니다.

Day 0 셋업 완료 상태

산출물상태
tsv/ 폴더
.gitignore (Rust + Next.js + Oracle)
BMAD 설치 (tsv/_bmad/)✅ 7개 에이전트 + 워크플로우
BUILD.md (Day -1 entry, 두 트레이스)✅ 첫 결정
git init + first commit
Claude Code 실행
💡 두 트레이스의 의미

E4 결정이 권1 제0장에서 두 트레이스로 박혔습니다. 줍줍 권1 제0장 (이름 결정 1 트레이스) 보다 한 단계 더입니다.

이유: TSV의 회색지대 (Position C) 가 줍줍 (표현 + 개인정보) 보다 "미연결·배제 명시" 가 본질이므로 인식 단계부터 박아야 합니다.

0-3 ⭐ 두 도메인 일관 패턴 — 권1 제0장 트레이스 비교 🔗
자리줍줍 (2탄 v2)TSV (3탄, 본 장)
이름 후보 비교3개 (정부지원·혜택톡·줍줍)3개 (SportsLens·MultiAngle·TSV)
채택 근거차별성·바이럴·두 탭 통합도메인 명확·다관점·SEO
부작용 인식표현 정직성 회색지대베팅 미디어 회색지대
4 요소 형식결정·근거·대안·부작용(동일)
권1 제3장 결정표현 ① + 개인정보 ②Position C (단일 결정, 깊음)
📘 차이의 의미

줍줍은 회색지대 ② (개인정보) 가 회색지대 ① (표현) 과 분리될 수 있어서 두 결정입니다. TSV는 Position C가 "표현 + 광고 + 콘텐츠 형식 + 외부 link" 모두 포함하는 단일 결정 = 깊지만 단일.

두 도메인이 "회색지대 본질에 따라 분리·통합 결정"의 형식만 다를 뿐, 메타 원칙 (4단계 프레임) 은 동일합니다.

🎉 두 도메인 일관 패턴 시작

★ 1탄 v2 메타 원칙이 "한 도메인만" 이 아니라 "여러 도메인 동일 작동"의 입증이 시작됩니다.

📌 제0장 정리

  • 1️⃣ 핵심 한 줄: TSV Phase 0 시작 — BMAD 초기화 + git init + 결정 두 트레이스 (이름 + Position C 인식)
  • 2️⃣ 첫 두 결정 트레이스: ① 이름 "TotalSportsView (TSV)" — 도메인 명확 + 다관점 + SEO / ② Position C 회색지대 인식 — "분석 미디어, 베팅 미연결" (권1 제3장에서 결정)
  • 3️⃣ Day 0 셋업 상태: BMAD 설치 완료 (tsv/_bmad/) — 7개 에이전트 + 워크플로우 / BUILD.md (Day -1 entry + 두 트레이스) ✅ / git first commit ✅
  • 4️⃣ 두 도메인 일관 패턴 시작: 줍줍 권1 제0장과 동일 4 요소 형식 / TSV 회색지대 = 단일 (Position C, 깊음) / 줍줍 = 분리 (표현 + 개인정보) / 메타 원칙 (4단계 프레임) 은 동일
  • 5️⃣ 다음 장: 권1 제1장 — TSV SPEC v1 작성 (BMAD BA 에이전트 활용 + Opus + high + 7항목 + Position C 인식 + 4 페르소나 시스템 + Day 14 가설 검증 CRITICAL 게이트 예고)
📕
3탄 권1 도우미
질문하기 OK
안녕하세요! 3탄 권1 제0장 — TSV Phase 0 시작점에 대해 무엇이든 물어보세요. 👇