TRENDSHIFT #13 · 2026.06.10

freestylefly/CodexGuide 딥다이브
— "코드 한 줄 없는 코드 저장소", 문서가 곧 제품인 OpenAI Codex 실전 지식베이스

OpenAI의 코딩 에이전트 Codex(데스크탑 App·CLI·IDE·Cloud)를 처음 켜는 순간부터 팀 워크플로에 녹이는 데까지 안내하는 중국어 커뮤니티 가이드. 흥미로운 점은 소스코드의 96%가 마크다운 문서라는 것 — 즉 이 레포는 "무엇을 만드느냐"보다 "정적 문서 사이트(VuePress)를 어떻게 엔지니어링하느냐"를 배우기에 딱 좋은 표본이다. config.toml·AGENTS.md·샌드박스 같은 Codex 지식과, 그 지식을 담은 VuePress 2 + theme-hope + Vercel 문서 인프라를 한 번에 해부한다. (저장소: freestylefly/CodexGuide · 온라인: codexguide.ai · ★1.7k · MIT · lang zh-CN · TrendShift 13위 · 신규 2026)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 시스템 요구사항 & 빌드
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 레포가 무엇을 하는 물건인가.

핵심 메시지

"흩어진 블로그·이슈·공식문서 조각을
한 권의 '운전 교본'으로 묶은, 검색 가능한 Codex 백과사전."

새 도구를 받으면 보통 공식문서 → 유튜브 → 블로그 → 깃헙 이슈를 헤매며 감을 잡는다. CodexGuide는 그 헤맴을 대신 해서, "처음 설치 → 첫 작업 → CLI로 실제 코드 수정 → 팀 규칙화"까지의 길을 한 줄로 정렬해 둔 지식베이스다. 그리고 그 책 자체를 VuePress로 빌드해 codexguide.ai 라는 정적 사이트로 배포한다.

Codex는 OpenAI가 만든 "코딩을 대신 해 주는 AI 에이전트"다. 단순 채팅이 아니라 실제로 내 저장소를 읽고, 파일을 고치고, 명령을 실행하고, 결과를 검증한다. 들어가는 입구가 여러 개라는 게 핵심 난점인데 — 데스크탑 App, 터미널의 CLI, VS Code 같은 IDE 확장, 브라우저의 Cloud, ChatGPT 모바일 앱까지 — CodexGuide는 "당신 상황엔 어느 입구가 맞는가"부터 정리해 준다.

레포의 정체를 한 문장으로 정의하면 이렇다: "마크다운 문서 60여 개 + 그걸 검색·SEO·RSS까지 갖춘 사이트로 만드는 빌드 설정". 언어 통계가 이를 그대로 증언한다 — JavaScript/TypeScript 빌드 설정이 일부, 나머지 대부분은 docs 폴더의 .md 콘텐츠다. 즉 이 레포는 두 갈래로 읽을 수 있다. ① 콘텐츠로서의 Codex 지식(config.toml, AGENTS.md, 샌드박스, MCP/Skills), ② 엔지니어링으로서의 문서 사이트(VuePress 2, theme-hope, 커스텀 SEO, Vercel 배포).

용어
OpenAI Codex
OpenAI의 에이전트형 코딩 도구. "코드를 짜 주는 모델"에서 출발해 지금은 CLI·Cloud/Web·IDE 확장·데스크탑 App·모바일 협업·브라우저·자동화까지 묶인 AI 워크플로 시스템으로 진화했다. (Claude Code, Gemini CLI 등과 같은 "코딩 에이전트" 계열의 OpenAI 버전이라고 보면 된다.)
용어
정적 사이트 생성기 (SSG) / VuePress
마크다운(.md) 글을 미리 HTML로 구워서 정적 파일로 내보내는 도구. 서버에서 매번 페이지를 만드는 대신, 빌드 때 한 번 만들어 CDN에 올린다 → 빠르고 싸고 안전하다. VuePress는 Vue.js 팀이 만든 대표적 SSG로, 특히 "문서 사이트"에 특화돼 있다. CodexGuide는 이걸 엔진으로 쓴다.

2왜 주목받는가

트렌딩 이유 · 경쟁 대비 장점.

2026년 들어 "코딩 에이전트"는 폭발적으로 늘었지만(Claude Code·Codex·Gemini CLI·opencode…), 사람들이 막상 켜면 길을 잃는다. 입구가 너무 많고, 설정(config.toml)·권한(샌드박스)·프로젝트 규칙(AGENTS.md)·확장(MCP/Skills) 개념이 처음엔 안개 같다. CodexGuide가 트렌딩에 오른 이유는 정확히 이 빈틈을 메우기 때문이다. 세 가지로 정리된다. 첫째, "명령어 치트시트"가 아니라 "실전 과업 중심"이다. 둘째, 16개의 실제 케이스(PPT 생성·Figma 읽기·CI 자동수정·임상 문헌 리뷰…)로 "그래서 뭘 할 수 있는데?"에 답한다. 셋째, 공식 자료 우선 + 최종 확인 날짜 명시로 신뢰도를 관리한다.

비교 항목흩어진 자료/공식문서CodexGuide
구성 원리기능별 레퍼런스 나열실전 과업 중심(시작→교부→사용→사례)
입구 선택각자 알아서CLI·App·Cloud·IDE·ChatGPT 입구 지도 제공
대상 독자주로 개발자개발자+창작자+연구자+팀 리더+비개발 업무
실전성추상 개념 위주16개 복제 가능한 케이스 + 검증 방법
신뢰 관리작성 시점 불명"최종 핵심 확인 날짜" 명시, 공식 우선
접근성검색 흩어짐전체 검색·사이드바·RSS 갖춘 단일 사이트
기존 방식의 한계
"입구가 5개인데 어디로 들어가지?"가 첫 좌절 포인트

Codex는 데스크탑 App, CLI, Cloud, IDE 확장, ChatGPT 모바일까지 입구가 많다. 각 입구는 권한 모델·사용 장면·강점이 다른데, 공식 문서는 기능별로 흩어져 있어 초보자가 "내 상황엔 뭐"를 판단하기 어렵다. 게다가 가격·가용성·정책은 자주 바뀌어, 작성 시점이 불명한 블로그는 금세 틀린 정보가 된다.

CodexGuide의 해결
"길"을 깔고, "날짜"를 붙이고, "사례"로 증명한다

입구 지도(platform/)로 상황별 추천을 먼저 주고 → ② 핵심 페이지마다 "최종 핵심 확인 날짜"(예: 2026-05-27)를 달아 정보의 신선도를 드러내고 → ③ 16개 recipes로 "한 문장으로 PPT 생성", "CI 실패 자동 수정" 같은 결과물을 직접 보여준다. 학습자가 "이게 진짜 되는구나"를 확인하고 모방할 수 있게 설계됐다.

개발 관점에서 또 하나의 매력은 "잘 만든 문서 사이트의 레퍼런스 구현"이라는 점이다. JSON-LD 구조화 데이터, OGP, 사이트맵 클린 URL 재작성, 클라이언트 사이드 전문 검색, RSS/Atom/JSON 피드, 카피라이트 자동 삽입 — 블로그·기술 문서를 직접 만들려는 사람에게는 그대로 베껴 쓸 수 있는 설정 모음이다.

3기술 스택 전체 지도

이 레포를 떠받치는 부품들 — 빌드·테마·플러그인·배포.

일반 앱과 달리 이 레포엔 "백엔드 서버"가 없다. 대신 빌드 타임에 모든 페이지를 굽고, CDN(Vercel)에 정적 파일로 올린다. 그래서 스택은 "콘텐츠 → 빌드 → 배포" 파이프라인으로 읽는 게 정확하다.

① 빌드 엔진 (정적 사이트 생성)

부품버전역할
VuePress2.0.0-rc.28마크다운 → 정적 사이트로 굽는 핵심 엔진
@vuepress/bundler-vite2.0.0-rc.28번들러로 Vite 사용(빠른 개발 서버·HMR)
Vue^3.5.26페이지를 그리는 프론트엔드 프레임워크(VuePress의 토대)
vuepress-theme-hope2.0.0-rc.106문서 테마 + 수십 개 기능을 묶은 올인원 테마
sass-embedded^1.97.2SCSS 스타일 컴파일(styles/index.scss)
용어
rc (release candidate)
정식 출시 직전의 "출시 후보" 버전. 2.0.0-rc.28은 "2.0 정식 전 28번째 후보"라는 뜻. VuePress 2가 아직 정식(GA) 전이라 rc를 쓰며, 이런 프로젝트는 버전 고정(lockfile)이 특히 중요하다 — 그래서 pnpm-lock.yaml--frozen-lockfile이 등장한다.

② 콘텐츠 강화 플러그인

플러그인무엇을 하나
@vuepress/plugin-slimsearch빌드 때 검색 인덱스를 만들어, 서버 없이 브라우저에서 전체 검색(한글/중문 placeholder까지 설정)
@vuepress/plugin-feedRSS·Atom·JSON 피드 자동 생성(구독·재배포용)
theme-hope: copyCode코드 블록에 복사 버튼 자동 추가
theme-hope: copyright100자 이상 본문 복사 시 출처·라이선스 자동 첨부(표절 방지)
theme-hope: seoOGP·트위터카드·JSON-LD 구조화 데이터 자동 주입
theme-hope: sitemapsitemap.xml 생성(검색엔진 크롤링용)
@vercel/analytics운영 도메인에서만 방문 분석 주입(클라이언트 enhance)

③ 배포 & 패키지 관리

Vercel정적 사이트 호스팅. vercel.json으로 빌드·출력 디렉토리·보안 헤더 제어
pnpm 10.33.0의존성 설치(디스크 효율↑). --frozen-lockfile로 재현성 보장
Node >=22 <25package.json engines + .nvmrc(22)로 런타임 고정
TypeScript.vuepress/*.ts 설정을 타입 안전하게 작성
비유로 이해하기

VuePress = 인쇄소, theme-hope = 책 디자인 템플릿, 플러그인 = 인쇄 옵션(색인·목차·QR), Vercel = 서점. 당신(저자)은 docs/ 폴더에 원고(.md)만 넣는다. 인쇄소(VuePress)가 디자인 템플릿(theme-hope)을 입혀 책을 찍고, 색인·검색·RSS 같은 옵션을 붙인 뒤, 서점(Vercel)에 진열한다. 원고만 고치면 나머지는 자동이다.

4아키텍처 심화 분석

콘텐츠가 사이트가 되는 흐름 + 핵심 설계 패턴.

전체 빌드 파이프라인

┌─────────────────────────────────────────────────────────────┐ │ 저자가 만지는 곳 (입력) │ │ docs/**/*.md ─ 60+개 마크다운 글(guide·platform·recipes…) │ │ docs/.vuepress/*.ts ─ config / theme / navbar / sidebar / │ │ seo / client (TypeScript 설정) │ └───────────────────────────┬─────────────────────────────────┘ │ pnpm build (vuepress build docs) ▼ ┌─────────────────────────────────────────────────────────────┐ │ VuePress 2 빌드 엔진 │ │ │ │ 1) pagePatterns 로 .md 수집 → 페이지 객체화 │ │ 2) extendsPage 훅: seo.ts 의 getPageDescription() 으로 │ │ 각 페이지 description 자동 주입 │ │ 3) theme-hope 적용: 레이아웃·검색·copyCode·copyright │ │ 4) seo 플러그인: OGP + JSON-LD(LearningResource/Course) │ │ 5) feed/sitemap/slimsearch 산출물 생성 │ │ 6) onGenerated 훅(커스텀 플러그인): │ │ sitemap.xml 의 URL 을 cleanUrls 규칙으로 재작성 │ │ │ │ 번들러 = Vite, 스타일 = SCSS │ └───────────────────────────┬─────────────────────────────────┘ │ 산출물 ▼ ┌─────────────────────────────────────────────────────────────┐ │ docs/.vuepress/dist/ (정적 HTML·JS·CSS·xml) │ └───────────────────────────┬─────────────────────────────────┘ │ git push → Vercel ▼ ┌─────────────────────────────────────────────────────────────┐ │ Vercel CDN (vercel.json) │ │ · installCommand: pnpm install --frozen-lockfile │ │ · buildCommand : pnpm build │ │ · outputDirectory: docs/.vuepress/dist │ │ · cleanUrls:true (/.html 제거) · X-Content-Type-Options │ │ ▼ │ │ https://codexguide.ai │ │ 런타임에 @vercel/analytics 가 이 도메인에서만 작동 │ └─────────────────────────────────────────────────────────────┘

핵심 설계 패턴 ① — "단일 진실원" SEO 엔진 (seo.ts)

이 레포에서 가장 배울 만한 코드가 docs/.vuepress/seo.ts다. 모든 페이지의 메타 설명을 한 파일의 객체(pageDescriptions)에 모아두고, 빌드 훅(extendsPage)이 각 페이지에 자동 주입한다. 글마다 frontmatter에 description을 손으로 쓰는 대신, "경로 → 설명" 맵 하나로 관리하는 구조다.

// seo.ts — 경로별 메타 설명을 한 곳에 모음(단일 진실원)
export const pageDescriptions: Record<string, string> = {
  "/": siteDescription,
  "/configuration/config-file.html":
    "Codex config.toml 配置指南,说明模型、沙盒、审批、profiles、MCP …",
  "/guide/15-agents-md.html":
    "AGENTS.md 项目规则指南,说明如何写入项目命令、代码风格 …",
  // …60+ 경로
};

// 경로를 .html/슬래시 변형까지 정규화해 안전하게 조회
export const getPageDescription = (path: string): string => {
  const cleanPath = toCleanPath(path);
  // 정확 일치 → 정규화 일치 → 디렉토리 일치 → 폴백(siteDescription)
  return pageDescriptions[path] ?? pageDescriptions[cleanPath]
       ?? pageDescriptions[directoryPath] ?? siteDescription;
};
왜 좋은 설계인가

① 모든 페이지가 최소 1개의 의미 있는 description을 보장받는다(폴백 덕분에 누락 0). ② 메타 문구를 한 파일에서 일괄 점검·수정할 수 있다. ③ config.tsextendsPagetheme.ts의 seo 플러그인이 같은 함수를 호출해, 본문·OGP·트위터카드·JSON-LD의 설명이 항상 일치한다.

핵심 설계 패턴 ② — JSON-LD로 "학습 자료"임을 선언

검색엔진에게 "이 사이트는 단순 페이지가 아니라 강의·학습 자료"라고 알려주는 구조화 데이터를 theme.ts에서 동적으로 만든다. 홈페이지면 Organization + WebSite + LearningResource/Course 그래프를, 내부 페이지면 일반 article 그래프를 주입한다.

// theme.ts — 홈에서만 Course 스키마를 주입(teaches 배열로 커리큘럼 명시)
{
  "@type": ["LearningResource", "Course"],
  name: "CodexGuide:OpenAI Codex 中文教程与实战指南",
  educationalLevel: "Beginner to Intermediate",
  teaches: [
    "Codex 桌面 App 使用", "Codex CLI 安装与登录",
    "OpenAI Codex 配置", "AGENTS.md 项目规则", "Codex 实战案例",
  ],
  provider: { "@id": `${siteUrl}/#organization` },
}

핵심 설계 패턴 ③ — 빌드 후처리 훅(onGenerated)으로 사이트맵 교정

cleanUrls: true(주소에서 .html 제거)를 쓰면, 자동 생성된 sitemap.xml엔 여전히 .html이 남는 불일치가 생긴다. CodexGuide는 직접 만든 작은 플러그인으로 빌드 직후(onGenerated) 사이트맵의 URL을 정규식으로 다시 써서 이 틈을 메운다. "프레임워크가 안 해주는 한 끗"을 훅으로 보완하는 전형적 패턴이다.

// config.ts — 빌드가 끝난 뒤 sitemap.xml 의 URL 을 cleanUrls 로 재작성
const rewriteSitemapCleanUrlsPlugin = {
  name: "codexguide-clean-sitemap-urls",
  onGenerated: (app) => {
    const sitemap = readFileSync(app.dir.dest("sitemap.xml"), "utf-8");
    const cleaned = sitemap.replace(/<loc>(https:\/\/codexguide\.ai[^<]*)<\/loc>/gu,
      (_, url) => `<loc>${toSiteUrl(new URL(url).pathname)}</loc>`);
    writeFileSync(app.dir.dest("sitemap.xml"), cleaned);
  },
};

5디렉토리 구조 해부

어디에 무엇이 있는가 — 설정(.vuepress)과 콘텐츠(docs)의 분리.

CodexGuide/ ├─ package.json ← 의존성·스크립트(dev/build/clean/preview) ├─ pnpm-lock.yaml ← 버전 고정(재현 가능한 빌드) ├─ vercel.json ← 배포 설정(빌드·출력·보안헤더·cleanUrls) ├─ .nvmrc ← Node 22 고정 ├─ .editorconfig ← 에디터 포매팅 규약 │ └─ docs/ ← ★ 사이트의 전부가 여기 ├─ index.md ← 홈(frontmatter home:true + 히어로·기능카드) │ ├─ .vuepress/ ← ★ 빌드/테마/SEO "두뇌" (TypeScript) │ ├─ config.ts ← 최상위 설정(lang·head·plugins·bundler) │ ├─ theme.ts ← theme-hope 설정(navbar·sidebar·seo·plugins) │ ├─ navbar.ts ← 상단 메뉴 구조 │ ├─ sidebar/index.ts← 경로별 좌측 사이드바 트리 │ ├─ seo.ts ← 경로별 메타설명 맵 + URL 정규화 유틸 │ ├─ client.ts ← 클라이언트 훅(@vercel/analytics 주입) │ ├─ styles/index.scss← 커스텀 스타일 │ └─ public/ ← 정적 자산(logo·og·images·CNAME) │ ├─ guide/ ← ① 학습 경로: 20개 번호순 튜토리얼 │ 00-overview … 19-troubleshooting ├─ platform/ ← ② 입구 지도: cli·app·cloud·ide·chatgpt ├─ configuration/ ← ③ 설정: cli-options·config-file· │ mcp-skills-subagents·security-admin ├─ practice/ ← ④ 실천법: task-design·non-dev-workflows· │ team-playbook ├─ recipes/ ← ⑤ 실전 16케이스(ppt·drawio·playwright· │ figma·notion·ci-fix·임상리뷰…) ├─ reference/ ← ⑥ 공식 자료 색인 ├─ community/ ← ⑦ 공동 기여 로드맵 └─ images/ ← 본문 스크린샷(수백 장)

구조의 핵심은 "두뇌(.vuepress)와 몸통(콘텐츠 폴더)의 분리"다. .vuepress/는 사이트가 어떻게 보이고 작동하는지(설정·테마·SEO)를, 나머지 7개 폴더는 무엇을 가르치는지(콘텐츠)를 담당한다. 새 글을 추가할 때는 해당 콘텐츠 폴더에 .md를 넣고 sidebar/navbar에 한 줄 등록하면 끝이다.

용어
frontmatter
마크다운 파일 맨 위, ---로 감싼 메타데이터 블록. 제목·설명·홈 여부·리다이렉트 같은 "글의 속성"을 키-값으로 적는다. 예: home: true(홈페이지), redirectFrom: [...](옛 URL 리다이렉트). VuePress가 이걸 읽어 레이아웃을 결정한다.

6학습 포인트 (기술별)

이 레포에서 실제로 무엇을 배울 수 있는가. 두 갈래로 읽자.

A. 문서 사이트 엔지니어링 (레포의 "코드"에서 배우기)

VUEPRESS 2 + THEME-HOPE

마크다운만으로 검색·SEO·RSS를 갖춘 사이트 만들기

블로그·기술문서를 직접 만들려는 사람에게 이 레포는 살아 있는 보일러플레이트다. config.tstheme.tsnavbar/sidebar/seo로 이어지는 구성 분리, 번들러를 Vite로 지정하는 방법, 테마 플러그인 토글(copyCode·copyright·feed·slimsearch)을 그대로 따라 할 수 있다.

실습: 빈 폴더에서 pnpm add -D vuepress@2.0.0-rc.28 vuepress-theme-hope로 똑같은 뼈대를 깔고, docs/index.md 하나만 넣어 pnpm dev로 띄워 보기.
SEO 엔지니어링

JSON-LD · OGP · 사이트맵 후처리

"검색에 잘 걸리는 사이트"가 실제로 어떻게 구현되는지를 코드로 본다. 경로별 description 단일 맵, 홈에서만 주입하는 LearningResource/Course 스키마, cleanUrls와 사이트맵 불일치를 onGenerated 훅으로 교정하는 패턴 — 프레임워크가 다 못 해주는 부분을 직접 메우는 실전 감각을 얻는다.

실습: seo.tstoCleanPath()를 따로 떼어 /guide/00-overview.html, /platform/ 같은 입력에 어떤 출력이 나오는지 단위 테스트(Vitest)로 검증해 보기.
재현 가능한 빌드 & 배포

pnpm lockfile · engines 고정 · Vercel

--frozen-lockfile, engines: node >=22 <25, .nvmrc, rc 버전 고정이 왜 한 세트로 움직이는지 이해한다. vercel.json에서 빌드/출력/보안 헤더(X-Content-Type-Options: nosniff)를 선언적으로 다루는 법도 배운다.

B. Codex 사용법 (레포의 "콘텐츠"에서 배우기)

CONFIG.TOML

모델·샌드박스·승인·profiles를 한 파일로

~/.codex/config.toml은 Codex CLI의 "개인 조종석"이다. 핵심 3축은 모델(속도·비용·추론 깊이), 샌드박스(읽기전용/작업영역쓰기), 승인 정책(위험 명령 확인)이다. 작업 성격별로 profiles를 나눠두는 게 정석이다.

# 학습용 예시 — 실제 필드는 공식 config reference 기준
model = "gpt-5.1-codex-max"
approval_policy = "on-request"
sandbox_mode = "workspace-write"

[profiles.readonly]   # 낯선 레포 분석용(안전)
sandbox_mode = "read-only"
approval_policy = "on-request"

[profiles.coding]     # 일상 코딩용
sandbox_mode = "workspace-write"
approval_policy = "on-request"
AGENTS.md

에이전트에게 주는 "프로젝트 기억"

새 대화는 항상 백지 컨텍스트로 시작한다. AGENTS.md는 저장소 루트에 두는 프로젝트 설명서로, Codex가 작업 전 먼저 읽어 패키지 매니저·테스트 명령·금지 디렉토리·커밋 전 검사를 알게 한다. 팀 공유 규칙(AGENTS.md, 커밋)개인 로컬 규칙(AGENTS.local.md, gitignore)을 분리하는 패턴이 인상적이다.

파일역할Git
AGENTS.md팀 공유 규칙·명령·경계커밋
AGENTS.local.md개인 경로·임시 제약ignore
AGENTS.override.md도구가 만든 병합 결과ignore
샌드박스 & 승인 / MCP·Skills

"AI가 내 컴퓨터에서 뭘 할 수 있나"의 경계

파일 읽기/쓰기, 네트워크 접근, 위험 명령에 대한 인간 확인(approval) 정책을 이해하는 건 에이전트 시대의 필수 안전 감각이다. 거기에 MCP(외부 도구 연결)·Skills(흐름 고착화)·Subagents(복잡 작업 분할)를 언제 쓰는지도 정리돼 있다.

7시스템 요구사항 & 빌드

이 레포를 직접 띄우려면 / Codex를 쓰려면.

CodexGuide 사이트를 로컬에서 빌드

항목요구
Node.js22.x (engines: >=22 <25, .nvmrc=22)
패키지 매니저pnpm 10.33.0 (packageManager 명시)
메모리/디스크일반 정적 사이트 수준(특별 요구 없음). 단, 이미지 수백 장 + 검색 인덱스 빌드라 첫 빌드는 다소 시간 소요
OS무관(macOS·Windows·Linux). Vercel/CI도 동일
# 1) 의존성 설치(재현 가능)
pnpm install --frozen-lockfile
# 2) 개발 서버(HMR) — 0.0.0.0 바인딩이라 같은 네트워크에서 접속 가능
pnpm dev
# 3) 정적 사이트 빌드 → docs/.vuepress/dist/
pnpm build
# 4) 캐시/임시/dist 정리
pnpm clean

Codex 자체를 쓰려면 (콘텐츠가 전제하는 환경)

계정/구독ChatGPT Plus/Pro(가용성·가격은 OpenAI 공식 기준, 자주 변동)
CLINode 환경에서 Codex CLI 설치·로그인
입구별데스크탑 App(macOS/Windows), VS Code 확장, Cloud(GitHub 연결)
주의 — 정보 신선도

이 레포는 Codex의 기능·가격·가용성을 다루는데, 이런 정보는 빠르게 바뀐다. 콘텐츠 곳곳의 "최종 핵심 확인 날짜"(예: 2026-05-27)는 그 시점 기준이라는 뜻이다. 실제 설정·정책은 항상 OpenAI 공식 문서로 재확인하는 게 안전하다. (커뮤니티 가이드 = 공식이 아님)

8직접 해볼 수 있는 실습 과제

난이도별 — 읽기만 하지 말고 손으로.

① 사이트 로컬 구동 & 글 한 편 추가 난이도 ★☆☆

git clonepnpm install --frozen-lockfilepnpm dev로 codexguide.ai를 내 PC에 띄운다. 그다음 docs/practice/my-note.md를 추가하고 sidebar/index.ts/practice/ 배열에 한 줄 등록해, 사이드바에 새 항목이 뜨는지 확인한다.

학습 목표: "콘텐츠 추가 = .md + 사이드바 한 줄"이라는 SSG의 작동 방식을 체감.

② seo.ts의 경로 정규화 함수 테스트 난이도 ★★☆

toCleanPath()getPageDescription()를 떼어내, "/guide/00-overview.html"·"/configuration/"·"/?search=x" 등 다양한 입력에 대한 출력을 Vitest로 검증한다. 폴백이 정말 모든 페이지에 description을 보장하는지 확인.

학습 목표: 실무 SEO 코드의 엣지케이스(슬래시·.html·쿼리·해시) 처리 감각.

③ 나만의 config.toml 프로필 만들기 난이도 ★★☆

Codex CLI에서 readonly/coding/review 세 프로필을 만들고, 같은 작업("이 실패 테스트 고쳐줘")을 각 프로필로 돌려 샌드박스·승인 동작 차이를 직접 비교한다. 위험 명령에서 승인 프롬프트가 뜨는지 확인.

④ AGENTS.md로 에이전트 길들이기 난이도 ★★★

실제 사이드 프로젝트 루트에 AGENTS.md를 써서 "패키지 매니저는 pnpm, 테스트는 pnpm test, dist/는 수정 금지, 커밋 전 lint" 같은 규칙을 명시한다. 규칙 적용 전/후로 같은 작업을 시켜 결과 차이를 기록한다. 개인 규칙은 AGENTS.local.md로 분리해 gitignore.

학습 목표: "프롬프트를 매번 길게 쓰기" → "규칙을 파일로 사 두기"로의 전환.

⑤ recipes 한 편을 한국어로 재현 난이도 ★★★

recipes/github-actions-ci-fix.md(CI 실패 자동 수정)나 playwright-mcp.md(브라우저 조작) 중 하나를 골라, 내 환경에서 실제로 재현하고 막힌 지점·해결을 한국어 메모로 남긴다. 가능하면 그 메모를 PR로 기여.

9관련 기술 심화 학습 로드맵

이 레포를 발판 삼아 4주 코스. 두 트랙을 병행한다.

주차문서 사이트 트랙Codex 트랙
1주차
기초
VuePress 2 공식 문서 + 빈 사이트 구축. 마크다운·frontmatter·navbar/sidebar 구조 익히기Codex 설치(App 또는 CLI)·로그인·첫 번째 저위험 작업 1회 완주(guide 00~06)
2주차
설정
theme-hope 플러그인(copyCode·copyright·feed·slimsearch) 켜고 끄며 차이 관찰. SCSS 커스터마이즈config.toml 프로필 3종 + 샌드박스/승인 체험(configuration/config-file·security-admin)
3주차
심화
SEO 엔지니어링: OGP·JSON-LD·sitemap. onGenerated 같은 빌드 훅으로 후처리 직접 작성AGENTS.md 작성 + MCP/Skills/Subagents 연결(configuration/mcp-skills-subagents)
4주차
실전
Vercel 배포 + 커스텀 도메인 + analytics. CI에서 --frozen-lockfile 빌드 자동화recipes 2~3편 재현(CI 자동수정·Figma·Notion 등) + 팀 playbook 시도
왜 두 트랙을 같이?

CodexGuide의 진짜 교훈은 "좋은 도구(Codex)로 좋은 결과물(문서 사이트)을 만드는 루프" 자체다. 3주차쯤이면 "VuePress 사이트를 Codex에게 시켜서 고치게" 할 수 있다 — 즉 두 트랙이 만나 에이전트로 내 프로젝트를 키우는 실전 경험이 된다.

10핵심 키워드 사전

이 레포를 읽을 때 자주 나오는 용어.

용어
SSG (Static Site Generator)
마크다운 등 원본을 빌드 때 HTML로 미리 구워 정적 파일로 내보내는 도구. 서버 연산 없이 CDN 배포 → 빠르고 안전·저렴. VuePress·Docusaurus·Astro 등이 대표.
용어
theme-hope
VuePress용 인기 올인원 테마. 레이아웃은 물론 SEO·검색·코드복사·저작권·블로그·다국어 등 수십 개 기능을 옵션 토글로 제공한다. CodexGuide는 이 테마의 seo·sitemap·slimsearch·copyright를 적극 활용.
용어
JSON-LD / 구조화 데이터
웹페이지의 의미를 검색엔진이 이해하도록 schema.org 어휘로 적은 JSON. 예: 이 사이트는 Organization이고 Course이며 무엇을 teaches한다. 검색 결과의 리치 스니펫·신뢰도에 기여.
용어
OGP (Open Graph Protocol)
링크를 SNS·메신저에 붙였을 때 뜨는 미리보기 카드(제목·설명·이미지)를 제어하는 메타태그 규약. og:title·og:description·og:image 등.
용어
cleanUrls / 사이트맵
cleanUrls=주소에서 .html을 떼는 옵션(/guide/00-overview). sitemap.xml=사이트의 모든 URL 목록으로, 검색엔진 크롤러가 참고한다. 둘이 어긋나면 후처리로 맞춰야 한다.
용어
lockfile / --frozen-lockfile
pnpm-lock.yaml은 의존성의 정확한 버전을 박제한 파일. --frozen-lockfile은 "lockfile을 절대 수정하지 말고 그대로 설치"라는 뜻 → CI·배포에서 재현 가능한 빌드를 보장.
용어
AGENTS.md
Codex 같은 코딩 에이전트가 작업 전 읽는 프로젝트 규칙 파일. 빌드/테스트 명령, 코드 스타일, 금지 사항, 검증 방법을 명시해 매번 설명하는 수고를 던다. (Claude Code의 CLAUDE.md와 같은 계열.)
용어
config.toml / 샌드박스 / 승인 정책
Codex CLI의 로컬 설정(~/.codex/config.toml). 샌드박스=AI가 읽고 쓸 수 있는 범위(read-only / workspace-write). 승인 정책=위험 명령에 인간 확인을 요구할지(on-request 등). 안전의 핵심 손잡이.
용어
MCP / Skills / Subagents
MCP=외부 도구·데이터를 에이전트에 연결하는 표준 프로토콜. Skills=반복 흐름을 재사용 가능한 능력으로 고착. Subagents=큰 작업을 보조 에이전트로 분할. 셋 다 "에이전트 확장" 수단.
용어
profiles
config.toml 안에서 작업 성격별로 묶어 둔 설정 세트. readonly(분석)·coding(구현)·review(검토)처럼 나눠두고 codex --profile readonly로 골라 쓴다.

11참고 링크

원본과 더 깊이 파고들 자료.

프로젝트 원본

· GitHub 저장소: github.com/freestylefly/CodexGuide
· 온라인 사이트: codexguide.ai (검색·사이드바·스크린샷 완비)
· 학습 경로(overview): codexguide.ai/guide/00-overview

레포가 쓰는 기술

· VuePress 2: v2.vuepress.vuejs.org
· vuepress-theme-hope: theme-hope.vuejs.press
· Vite: vitejs.dev · pnpm: pnpm.io
· Vercel 배포: vercel.com/docs
· schema.org(JSON-LD): schema.org

Codex 공식 자료(콘텐츠 출처)

· OpenAI Codex 제품: openai.com/codex
· Codex CLI 시작하기: help.openai.com
· Codex 설정·AGENTS.md 문서: developers.openai.com/codex
· openai/codex 저장소: github.com/openai/codex