공개 문서
docs/00-structure-and-learning-plan.md
아래는 docs/00-structure-and-learning-plan.md 와 동일한 원문입니다. Markdown과 HTML 변환 결과를 각각 복사할 수 있습니다.
공개 문서 원문 (Markdown)
# Skoolchef Tutorial — 구조 설계 점검 & 학습 사이트 기획 요약
> 최초·갱신: 2026-03-31 · **`docs/00-structure-and-design.md`**(디렉터리·원칙) + **`content/curriculum-v2-plan.md`**(v2 풀 기획)를 한 번에 잡는 진입 문서
---
## 1. 구조 설계 점검 (문서 vs 실제 코드)
### 1.1 제품·스택 (확정)
| 항목 | 내용 |
|------|------|
| **제품** | Skoolchef Tutorial — AI 코딩 도구 4종 커리큘럼 |
| **대상** | 스쿨 수강생 |
| **스택** | Next.js App Router, MDX, Tailwind, Vercel (상세: `README.md`, `deployment.md`) |
### 1.2 디렉터리·레이어 (실제 존재 기준)
| 영역 | 경로 | 점검 결과 |
|------|------|-----------|
| 라우트 | `app/page.tsx`, `app/courses/page.tsx`, `app/courses/[slug]/page.tsx` | 정상 |
| 레이아웃·스타일 | `app/layout.tsx`, `app/globals.css` | 정상 |
| 네비·MDX | `components/Navigation.tsx`, `CourseNav.tsx`, **`MobileCourseNav.tsx`**, `MdxImage.tsx` | `00-structure-and-design.md` 트리에 **모바일 네비 컴포넌트 보강 필요**(아래 §3에서 반영) |
| 도메인 로직 | `lib/mdx.ts`, `lib/theme.ts` | `getModuleInfo(order)`로 모듈 0~5 구간 매핑 |
| 콘텐츠 | `content/courses/*.mdx`, `index.mdx`, `image-mapping.json` | 플랫 구조 유지 |
| 기획 원본 | `content/curriculum-v2-plan.md` | v2 목표 목차(22챕터 제안) |
| 스크립트·산출 | `scripts/`, `output/` | Notion 추출·강의안 export 등 |
### 1.3 챕터 수·order (2026-03-31 기준)
- **강의용 MDX 파일:** `index.mdx` 제외 **19개** (`order` **0 ~ 18**).
- 기존 설계 문서의 **「17챕터 (00~16)」** 표현은 **구버전**이다. 이후 **`17-login-auth-google-kakao-supabase`**, **`18-show-me-visual-output`** 가 추가되었다.
- **`getModuleInfo`:** `order === 0` → Module 0, `1~5` Module 1 (Cursor), `6~9` Module 2 (Claude Code), `10~12` Module 3 (Gemini), `13~15` Module 4 (GWS), **`16+` → Module 5 실전** — 따라서 order 17·18도 Module 5로 묶임(통합·심화·부가 주제).
### 1.4 설계 원칙 준수 여부
| 원칙 | 상태 |
|------|------|
| 콘텐츠 플랫 + `order` 정렬 | 유지 |
| `lib/theme.ts` 단일 테마 소스 | 유지 |
| `lib/mdx.ts` frontmatter 검증·slug 처리 | 유지 (주석의 “17챕터”만 숫자 업데이트 권장) |
| Notion 파이프라인 | `CLAUDE.md` 절차 준수 |
| PDCA 루트 폴더 미사용 | `CLAUDE.md`와 동일 — 다만 `docs/01-plan` 등 **히스토리 문서**는 존재할 수 있음 |
---
## 2. 학습 사이트 기획안 (요약)
상세 문안·모듈별 학습목표·분량은 반드시 원본을 본다: **[content/curriculum-v2-plan.md](../content/curriculum-v2-plan.md)**.
### 2.1 포지셔닝
- **한 줄:** 네 도구(Cursor, Claude Code, Gemini CLI, Google Workspace CLI)를 **경쟁이 아니라 상호보완**으로 두고, **상황에 맞게 선택·연계**하는 법을 가르치는 바이브코딩 커리큘럼.
- **톤·난이도 보조:** `docs/curriculum-levels.md`(L1/L2), `docs/tone-and-manner-review.md`.
### 2.2 정보 구조 (IA)
1. **홈:** 히어로 + 모듈/커리큘럼 요약 (`app/page.tsx`)
2. **courses:** 모듈 그룹별 목록 (`app/courses/page.tsx` + `lib/mdx.ts`의 `ModuleGroup`)
3. **courses/[slug]:** 챕터 본문 + `CourseNav` / `MobileCourseNav`
### 2.3 커리큘럼 방향 (v2 기획 vs 현재 콘텐츠)
| 구분 | 내용 |
|------|------|
| **v2 목표 구조** | Module 0~5, 세분 챕터 **22개** 제안 — `curriculum-v2-plan.md` 트리 참고 |
| **현재 배포 콘텐츠** | **19챕터**(order 0~18) 플랫 MDX — v2의 “서브폴더·챕터 분해”는 **점진 이전** (참고: `lib/mdx.ts` 주석, `docs/content-structure.md`) |
| **갭 메모** | Module 0를 v2처럼 **계정/환경** 단락으로 더 쪼갤지, 기존 `01-signup`·`02-installation` 등으로 흡수할지 편집 정책으로 결정 |
### 2.4 운영·품질 체크리스트
- **목차 갱신:** 챕터 추가·수정 후 `pnpm generate-index-mdx`
- **이미지:** `CLAUDE.md` “샘플 이미지 교체” — 배포 전 실제 캡처로 교체
- **배포:** `docs/deployment.md`
- **GWS:** `docs/gws-auth-and-verified-usage.md`
### 2.5 로드맵 (기획 관점)
1. **단기:** 문서·order·모듈 경계 정합 유지(본 점검 반영).
2. **중기:** v2 계획과 1:1 목차 매핑표 작성 (`content-structure.md` 확장).
3. **장기:** 챕터 증가 시 `content/courses/` **서브폴더** + `getAllCourses()` glob/재귀 수집 (`lib/mdx.ts` 주석 로드맵).
---
## 3. 관련 문서 맵
| 문서 | 역할 |
|------|------|
| **[00-structure-and-design.md](00-structure-and-design.md)** | 디렉터리·모듈 매핑·설계 원칙 (본 점검 후 숫자·컴포넌트 목록 동기화) |
| **본 문서** | 구조 **점검 결과** + 기획 **요약** + v2와의 **갭** |
| [structure-and-design-analysis.md](structure-and-design-analysis.md) | 심화 분석·체크리스트 |
| [content/curriculum-v2-plan.md](../content/curriculum-v2-plan.md) | **학습 사이트 기획 원본**(모듈·챕터·비교표) |
| [content-structure.md](content-structure.md) | 콘텐츠 폴더와 v2 관계 |
| [CLAUDE.md](../CLAUDE.md) | 작업 진입·Notion 파이프라인·미완 이미지 |
---
## 4. 다음 액션 (선택)
1. **`00-structure-and-design.md`**: 챕터 수 **19개(order 0~18)**, `MobileCourseNav.tsx` 반영.
2. **`lib/mdx.ts` 상단 주석**: “17챕터” → 실제 개수에 맞게 수정.
3. **v2 갭**: `curriculum-v2-plan.md` 대비 누락·병합 챕터를 표로 정리하면 편집 우선순위가 명확해짐.
이 문서는 위 액션 일부가 이미 반영되었을 수 있으니, 최종 기준은 저장소 최신 트리와 frontmatter이다.
공개 문서 변환 코드 (HTML)
<h1>Skoolchef Tutorial — 구조 설계 점검 & 학습 사이트 기획 요약</h1>
<blockquote>
<p>최초·갱신: 2026-03-31 · <strong><code>docs/00-structure-and-design.md</code></strong>(디렉터리·원칙) + <strong><code>content/curriculum-v2-plan.md</code></strong>(v2 풀 기획)를 한 번에 잡는 진입 문서</p>
</blockquote>
<hr>
<h2>1. 구조 설계 점검 (문서 vs 실제 코드)</h2>
<h3>1.1 제품·스택 (확정)</h3>
<table>
<thead>
<tr>
<th>항목</th>
<th>내용</th>
</tr>
</thead>
<tbody><tr>
<td><strong>제품</strong></td>
<td>Skoolchef Tutorial — AI 코딩 도구 4종 커리큘럼</td>
</tr>
<tr>
<td><strong>대상</strong></td>
<td>스쿨 수강생</td>
</tr>
<tr>
<td><strong>스택</strong></td>
<td>Next.js App Router, MDX, Tailwind, Vercel (상세: <code>README.md</code>, <code>deployment.md</code>)</td>
</tr>
</tbody></table>
<h3>1.2 디렉터리·레이어 (실제 존재 기준)</h3>
<table>
<thead>
<tr>
<th>영역</th>
<th>경로</th>
<th>점검 결과</th>
</tr>
</thead>
<tbody><tr>
<td>라우트</td>
<td><code>app/page.tsx</code>, <code>app/courses/page.tsx</code>, <code>app/courses/[slug]/page.tsx</code></td>
<td>정상</td>
</tr>
<tr>
<td>레이아웃·스타일</td>
<td><code>app/layout.tsx</code>, <code>app/globals.css</code></td>
<td>정상</td>
</tr>
<tr>
<td>네비·MDX</td>
<td><code>components/Navigation.tsx</code>, <code>CourseNav.tsx</code>, <strong><code>MobileCourseNav.tsx</code></strong>, <code>MdxImage.tsx</code></td>
<td><code>00-structure-and-design.md</code> 트리에 <strong>모바일 네비 컴포넌트 보강 필요</strong>(아래 §3에서 반영)</td>
</tr>
<tr>
<td>도메인 로직</td>
<td><code>lib/mdx.ts</code>, <code>lib/theme.ts</code></td>
<td><code>getModuleInfo(order)</code>로 모듈 0~5 구간 매핑</td>
</tr>
<tr>
<td>콘텐츠</td>
<td><code>content/courses/*.mdx</code>, <code>index.mdx</code>, <code>image-mapping.json</code></td>
<td>플랫 구조 유지</td>
</tr>
<tr>
<td>기획 원본</td>
<td><code>content/curriculum-v2-plan.md</code></td>
<td>v2 목표 목차(22챕터 제안)</td>
</tr>
<tr>
<td>스크립트·산출</td>
<td><code>scripts/</code>, <code>output/</code></td>
<td>Notion 추출·강의안 export 등</td>
</tr>
</tbody></table>
<h3>1.3 챕터 수·order (2026-03-31 기준)</h3>
<ul>
<li><strong>강의용 MDX 파일:</strong> <code>index.mdx</code> 제외 <strong>19개</strong> (<code>order</code> <strong>0 ~ 18</strong>).</li>
<li>기존 설계 문서의 <strong>「17챕터 (00~16)」</strong> 표현은 <strong>구버전</strong>이다. 이후 <strong><code>17-login-auth-google-kakao-supabase</code></strong>, <strong><code>18-show-me-visual-output</code></strong> 가 추가되었다.</li>
<li><strong><code>getModuleInfo</code>:</strong> <code>order === 0</code> → Module 0, <code>1~5</code> Module 1 (Cursor), <code>6~9</code> Module 2 (Claude Code), <code>10~12</code> Module 3 (Gemini), <code>13~15</code> Module 4 (GWS), <strong><code>16+</code> → Module 5 실전</strong> — 따라서 order 17·18도 Module 5로 묶임(통합·심화·부가 주제).</li>
</ul>
<h3>1.4 설계 원칙 준수 여부</h3>
<table>
<thead>
<tr>
<th>원칙</th>
<th>상태</th>
</tr>
</thead>
<tbody><tr>
<td>콘텐츠 플랫 + <code>order</code> 정렬</td>
<td>유지</td>
</tr>
<tr>
<td><code>lib/theme.ts</code> 단일 테마 소스</td>
<td>유지</td>
</tr>
<tr>
<td><code>lib/mdx.ts</code> frontmatter 검증·slug 처리</td>
<td>유지 (주석의 “17챕터”만 숫자 업데이트 권장)</td>
</tr>
<tr>
<td>Notion 파이프라인</td>
<td><code>CLAUDE.md</code> 절차 준수</td>
</tr>
<tr>
<td>PDCA 루트 폴더 미사용</td>
<td><code>CLAUDE.md</code>와 동일 — 다만 <code>docs/01-plan</code> 등 <strong>히스토리 문서</strong>는 존재할 수 있음</td>
</tr>
</tbody></table>
<hr>
<h2>2. 학습 사이트 기획안 (요약)</h2>
<p>상세 문안·모듈별 학습목표·분량은 반드시 원본을 본다: <strong><a href="../content/curriculum-v2-plan.md">content/curriculum-v2-plan.md</a></strong>.</p>
<h3>2.1 포지셔닝</h3>
<ul>
<li><strong>한 줄:</strong> 네 도구(Cursor, Claude Code, Gemini CLI, Google Workspace CLI)를 <strong>경쟁이 아니라 상호보완</strong>으로 두고, <strong>상황에 맞게 선택·연계</strong>하는 법을 가르치는 바이브코딩 커리큘럼.</li>
<li><strong>톤·난이도 보조:</strong> <code>docs/curriculum-levels.md</code>(L1/L2), <code>docs/tone-and-manner-review.md</code>.</li>
</ul>
<h3>2.2 정보 구조 (IA)</h3>
<ol>
<li><strong>홈:</strong> 히어로 + 모듈/커리큘럼 요약 (<code>app/page.tsx</code>)</li>
<li><strong>courses:</strong> 모듈 그룹별 목록 (<code>app/courses/page.tsx</code> + <code>lib/mdx.ts</code>의 <code>ModuleGroup</code>)</li>
<li><strong>courses/[slug]:</strong> 챕터 본문 + <code>CourseNav</code> / <code>MobileCourseNav</code></li>
</ol>
<h3>2.3 커리큘럼 방향 (v2 기획 vs 현재 콘텐츠)</h3>
<table>
<thead>
<tr>
<th>구분</th>
<th>내용</th>
</tr>
</thead>
<tbody><tr>
<td><strong>v2 목표 구조</strong></td>
<td>Module 0~5, 세분 챕터 <strong>22개</strong> 제안 — <code>curriculum-v2-plan.md</code> 트리 참고</td>
</tr>
<tr>
<td><strong>현재 배포 콘텐츠</strong></td>
<td><strong>19챕터</strong>(order 0~18) 플랫 MDX — v2의 “서브폴더·챕터 분해”는 <strong>점진 이전</strong> (참고: <code>lib/mdx.ts</code> 주석, <code>docs/content-structure.md</code>)</td>
</tr>
<tr>
<td><strong>갭 메모</strong></td>
<td>Module 0를 v2처럼 <strong>계정/환경</strong> 단락으로 더 쪼갤지, 기존 <code>01-signup</code>·<code>02-installation</code> 등으로 흡수할지 편집 정책으로 결정</td>
</tr>
</tbody></table>
<h3>2.4 운영·품질 체크리스트</h3>
<ul>
<li><strong>목차 갱신:</strong> 챕터 추가·수정 후 <code>pnpm generate-index-mdx</code></li>
<li><strong>이미지:</strong> <code>CLAUDE.md</code> “샘플 이미지 교체” — 배포 전 실제 캡처로 교체</li>
<li><strong>배포:</strong> <code>docs/deployment.md</code></li>
<li><strong>GWS:</strong> <code>docs/gws-auth-and-verified-usage.md</code></li>
</ul>
<h3>2.5 로드맵 (기획 관점)</h3>
<ol>
<li><strong>단기:</strong> 문서·order·모듈 경계 정합 유지(본 점검 반영).</li>
<li><strong>중기:</strong> v2 계획과 1:1 목차 매핑표 작성 (<code>content-structure.md</code> 확장).</li>
<li><strong>장기:</strong> 챕터 증가 시 <code>content/courses/</code> <strong>서브폴더</strong> + <code>getAllCourses()</code> glob/재귀 수집 (<code>lib/mdx.ts</code> 주석 로드맵).</li>
</ol>
<hr>
<h2>3. 관련 문서 맵</h2>
<table>
<thead>
<tr>
<th>문서</th>
<th>역할</th>
</tr>
</thead>
<tbody><tr>
<td><strong><a href="00-structure-and-design.md">00-structure-and-design.md</a></strong></td>
<td>디렉터리·모듈 매핑·설계 원칙 (본 점검 후 숫자·컴포넌트 목록 동기화)</td>
</tr>
<tr>
<td><strong>본 문서</strong></td>
<td>구조 <strong>점검 결과</strong> + 기획 <strong>요약</strong> + v2와의 <strong>갭</strong></td>
</tr>
<tr>
<td><a href="structure-and-design-analysis.md">structure-and-design-analysis.md</a></td>
<td>심화 분석·체크리스트</td>
</tr>
<tr>
<td><a href="../content/curriculum-v2-plan.md">content/curriculum-v2-plan.md</a></td>
<td><strong>학습 사이트 기획 원본</strong>(모듈·챕터·비교표)</td>
</tr>
<tr>
<td><a href="content-structure.md">content-structure.md</a></td>
<td>콘텐츠 폴더와 v2 관계</td>
</tr>
<tr>
<td><a href="../CLAUDE.md">CLAUDE.md</a></td>
<td>작업 진입·Notion 파이프라인·미완 이미지</td>
</tr>
</tbody></table>
<hr>
<h2>4. 다음 액션 (선택)</h2>
<ol>
<li><strong><code>00-structure-and-design.md</code></strong>: 챕터 수 <strong>19개(order 0~18)</strong>, <code>MobileCourseNav.tsx</code> 반영.</li>
<li><strong><code>lib/mdx.ts</code> 상단 주석</strong>: “17챕터” → 실제 개수에 맞게 수정.</li>
<li><strong>v2 갭</strong>: <code>curriculum-v2-plan.md</code> 대비 누락·병합 챕터를 표로 정리하면 편집 우선순위가 명확해짐.</li>
</ol>
<p>이 문서는 위 액션 일부가 이미 반영되었을 수 있으니, 최종 기준은 저장소 최신 트리와 frontmatter이다.</p>