{"id":51436841,"url":"https://github.com/claude-code-expert/lecture","last_synced_at":"2026-07-05T07:07:33.270Z","repository":{"id":354660741,"uuid":"1222227149","full_name":"claude-code-expert/lecture","owner":"claude-code-expert","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-30T17:15:42.000Z","size":149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T19:08:46.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/claude-code-expert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-27T06:56:07.000Z","updated_at":"2026-05-30T17:15:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/claude-code-expert/lecture","commit_stats":null,"previous_names":["claude-code-expert/inflearn-docs","claude-code-expert/lecture"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/claude-code-expert/lecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claude-code-expert%2Flecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claude-code-expert%2Flecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claude-code-expert%2Flecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claude-code-expert%2Flecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/claude-code-expert","download_url":"https://codeload.github.com/claude-code-expert/lecture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claude-code-expert%2Flecture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35146126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-05T07:07:30.377Z","updated_at":"2026-07-05T07:07:33.185Z","avatar_url":"https://github.com/claude-code-expert.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Claude Code Expert — 강의 자료 모음\n\n\u003e 📘 [github.com/claude-code-expert](https://github.com/claude-code-expert) — **클로드 코드 마스터** (한빛미디어) 공식 리포지토리\n\u003e ☕ [https://github.com/claude-code-expert/carve-harness](https://github.com/claude-code-expert/carve-harness) — 하네스 구성 CLI \n\n이 저장소는 Claude Code 강의를 통해 실무에 Claude Code를 적용하기 위한 **지침 파일 템플릿**, **실행 가능한 샘플(Hooks·Skill)**, **설계 문서 예제**, **개념 가이드**를 한곳에 모은 강의 자료다. 각 디렉토리는 독립적으로 사용할 수 있으며, 서로 `@` 참조와 워크플로로 연결된다.\n\n---\n\n## 변경 이력 (Changelog)\n\n\u003e 최근 업데이트 요약 — 한 줄씩만 기록합니다. 전체 내역은 [CHANGELOG.md](./CHANGELOG.md).\n\n- **2026-06-06** — 훅 실무 가이드(`template/claude-code-hook-guide.md`)·CLI Alias/권한 레퍼런스 추가, 템플릿 README 관련 문서 링크 정비\n- **2026-06-02** — 가이드 문서를 run-ai 기준으로 이동·정리\n- **2026-06-01** — 럭키드로우 단일 파일 앱 + 설계 문서(PRD·TRD·REQUIREMENTS·ANALYSIS) 추가·현행화\n- **2026-06-01** — 10단계 프롬프트 구조 가이드(Anthropic \"Prompting 101\") 추가\n- **2026-06-01** — Claude Code 훅·zsh 설치·GitHub 활용 가이드(HTML) 추가\n- **2026-06-01** — `docs/html` git 추적 제외(로컬 배포 전용), 워터마크 캐논 통일\n- **2026-06-01** — 비개발자 터미널/GitHub 입문 실전 예제 보강 및 이미지·CSP·앵커 버그 수정\n\n---\n\n## 목차\n\n1. [전체 구조 한눈에 보기](#1-전체-구조-한눈에-보기)\n2. [디렉토리별 가이드](#2-디렉토리별-가이드)\n3. [디렉토리 간 연관 관계](#3-디렉토리-간-연관-관계)\n4. [학습·적용 순서 추천](#4-학습적용-순서-추천)\n\n---\n\n## 1. 전체 구조 한눈에 보기\n\n```\nlecture/\n├── template/     ← AI 코딩 에이전트 지침 파일 템플릿 (CLAUDE.md / AGENTS.md 계열)\n├── docs/         ← 개념 가이드 + TypeScript 템플릿 + HTML 가이드 + 스크린샷\n├── example/      ← CLAUDE.md 철학 예제 (Karpathy / Kent Beck 스타일)\n├── project/      ← 명세 → 구현 예제 (PRD → TRD → REQUIREMENTS → 단일 파일 앱)\n└── samples/      ← 바로 돌려보는 Hooks·Skill 샘플 3종\n```\n\n| 디렉토리 | 핵심 질문 | 산출물 형태 |\n|---------|----------|-----------|\n| `template/` | \"내 프로젝트에 어떤 지침 파일을 넣지?\" | 복붙용 `.md` 템플릿 |\n| `docs/` | \"Claude Code의 기능·습관을 어떻게 설계하지?\" | 개념 가이드 + 레퍼런스 |\n| `example/` | \"지침에 어떤 *철학*을 담지?\" | 실제 작성 사례 |\n| `project/` | \"기능을 만들기 전에 무엇을 문서화하지?\" | PRD/TRD/요구사항 명세 |\n| `samples/` | \"Hooks·Skill을 실제로 어떻게 짜지?\" | 실행 가능한 스크립트 |\n\n---\n\n## 2. 디렉토리별 가이드\n\n### 📁 `template/` — 지침 파일 템플릿 모음\n\nAI 코딩 에이전트(Claude Code, Cursor, Codex 등)에게 프로젝트 맥락을 전달하는 지침 파일 템플릿이다. **자체 상세 README**가 있다 → [`template/README.md`](template/README.md)\n\n- **CLAUDE.md 계열** — 싱글 앱 / 모노레포 루트·클라이언트·서버 / 개인 설정(`CLAUDE.local.md`)\n- **AGENTS.md 계열** — 범용 지침(`AGENTS-template.md`), 작성 가이드(`AGENTS-Guide.md`), Java/Spring 실전 예시\n- **Rules 파일** — `@` 참조로 불러오는 세부 규칙(code-style, testing, git-workflow, patterns 등)\n- **멀티턴 방어 설계 가이드** — LLM이 멀티턴에서 평균 39% 성능이 하락하는 문제를 CLAUDE.md·Hooks·작업 구조화로 방어하는 4계층 전략 (README §4)\n\n\u003e 시나리오별 파일 조합(Next.js 단일 / pnpm 모노레포 / Spring Boot / 신규 프로젝트 / Skill 제작)은 `template/README.md`에 정리되어 있다.\n\n### 📁 `docs/` — 개념 가이드와 레퍼런스\n\n#### `docs/claude_template_ts/` — TypeScript 프로젝트 지침 세트\n계층형 지침 한 벌. 행동 철학 → 프로젝트 규칙 → 품질 게이트로 이어진다.\n\n| 파일 | 역할 |\n|------|------|\n| `CLAUDE.md` | 루트 지침 — 아래 규칙 파일들을 종합·참조 |\n| `Karpathy_Behavioral_CLAUDE.md` | 언어 무관 행동 원칙(가정 금지·단순성·외과적 수정·목표 주도) |\n| `Augmented_Coding_CLAUDE.md` | Kent Beck식 TDD·Tidy First 방법론 (Red→Green→Refactor) |\n| `code-style.md` / `commands.md` / `techstack.md` | 코드 스타일·pnpm 명령어·기본 스택 정의 |\n| `project-structure.md` / `safety.md` / `gotchas.md` | 디렉토리 맵·안전 가드레일·버그 패턴 로그 |\n\n#### `docs/guide/` — 통합·워크플로 가이드 (한글)\n| 파일 | 다루는 내용 | 연결되는 샘플 |\n|------|-----------|-------------|\n| `gemini-code-review-guide.md` | 자기편향 제거용 외부 모델(Gemini) 코드 리뷰 파이프라인 | → `samples/code-review-gemini/` |\n| `handoff-system-guide.md` | `/compact`·`/clear` 시 컨텍스트 보존·복원 | → `samples/handoff/` |\n| `slack-notification-hook-guide.md` | Stop 이벤트 → Slack 알림(Incoming Webhook) | → `samples/slack-notification/` |\n| `interactive-mode-guide.md` | Claude Code 터미널 단축키·Vim 모드 전체 레퍼런스 | (독립) |\n\n#### `docs/html/` \u0026 `docs/images/`\n- `appendix-github-guide.html` — GitHub 사용 가이드 (스크린샷 약 50장: `docs/images/github-guide/`)\n- `claude-code-hook-guide.html` — Claude Code Hooks 실전 가이드 (다크모드 HTML)\n\n### 📁 `example/` — CLAUDE.md 철학 예제\n지침에 담을 수 있는 두 가지 엔지니어링 철학의 실제 작성 사례.\n\n- **`Karpathy-CLAUDE.md`** — *마인드셋* 중심. \"코딩 전에 생각하라\" — 가정 명시·단순성 우선·외과적 변경·목표 주도 실행\n- **`Kentbeck-CLAUDE.md`** — *프로세스* 중심. TDD Red→Green→Refactor, 구조 변경과 행동 변경의 분리(Tidy First), 커밋 규율\n\n\u003e 둘 다 추측과 과잉 설계를 거부하지만, 한쪽은 *신중함*으로, 다른 한쪽은 *규율*로 접근한다. `docs/claude_template_ts/`의 Behavioral / Augmented 지침의 원형이다.\n\n### 📁 `project/luckydraw/` — 명세 → 구현 완결 예제 (럭키드로우 앱)\n\"무엇을 문서화하고, 그 문서로 무엇을 만드는가\"를 보여주는 4단 명세 + **단일 파일 구현**. 명세를 그대로 따라 빌드하면 동일한 앱이 재현된다.\n\n| 문서 | 계층 | 핵심 내용 |\n|------|------|----------|\n| `PRD.md` | 왜(Why) | 제품 목적·2단계 추첨 시나리오·범위·디자인 원칙 |\n| `TRD.md` | 어떻게(How) | 단일 HTML·데이터 모델·원판 정지 각도 알고리즘·재고 재배정·토큰 (기술 정본) |\n| `REQUIREMENTS.md` | 무엇을(What) | 기능 F1–F14 + 안티-AI 디자인 규칙 + 검증 체크리스트 |\n| `ANALYSIS.md` | 결정·이력 | 확정 결정·기존안 대비 변경 이력·핵심 불변식 |\n| `lucky-draw.html` | 산출물 | 위 명세를 구현한 **단일 파일 앱**(2단계 추첨, 외부 의존성 0) |\n\n### 📁 `samples/` — 바로 실행하는 Hooks·Skill 샘플\n\n| 샘플 | 시연하는 기능 | 핵심 동작 |\n|------|-------------|----------|\n| `code-review-gemini/` | **Skill** | 외부 모델(Gemini)로 코드 리뷰 — ESLint/Prettier/tsc(객관) → Gemini(시맨틱). `SKILL.md`·`review.sh`·rubric/conventions 포함 |\n| `handoff/` | **Hooks** (PreCompact / SessionEnd / SessionStart) | 세션 종료 시 대화 컨텍스트를 추출·중복 제거·저장 → 새 세션에서 자동 주입 |\n| `slack-notification/` | **Hooks** (Stop) | 세션 종료 시 마지막 응답 요약을 Slack Webhook으로 전송 |\n\n각 샘플 디렉토리에 `README.md`, `settings.example.json`, `run-test.sh`가 있어 단독 실행·테스트가 가능하다.\n\n---\n\n## 3. 디렉토리 간 연관 관계\n\n```\n                    ┌──────────────────────────────────┐\n                    │           example/               │\n                    │  CLAUDE.md에 담을 \"철학\" 원형        │\n                    │  (Karpathy / Kent Beck)          │\n                    └────────────────┬─────────────────┘\n                                     │ 철학을 구체화\n                                     ▼\n   ┌──────────────────────┐   참조   ┌──────────────────────────┐\n   │      template/       │◀────────│  docs/claude_template_ts/│\n   │  복붙용 지침 템플릿       │         │  TypeScript 계층형 지침 세트 │\n   │ (CLAUDE/AGENTS/Rules)│         └──────────────────────────┘\n   └──────────┬───────────┘\n              │ 멀티턴 방어 §4에서 Hooks 설계 →\n              ▼\n   ┌─────────────────────┐  가이드↔샘플   ┌──────────────────────┐\n   │     docs/guide/     │◀───────────▶│       samples/       │\n   │  개념·설정 설명        │             │  실행 가능한 구현        │\n   └─────────────────────┘             └──────────────────────┘\n\n   ┌─────────────────────────────────────────────────────────┐\n   │  project/luckydraw/  — 명세 4종 + 그대로 구현한 산출물        │\n   │  (PRD → TRD → REQUIREMENTS → ANALYSIS → lucky-draw.html)  │ \n   └─────────────────────────────────────────────────────────┘\n```\n\n**핵심 연결고리**\n\n- **철학 → 지침**: `example/`의 Karpathy·Kent Beck 스타일이 `docs/claude_template_ts/`(Behavioral·Augmented)와 `template/`의 Investigation/Recovery 규칙으로 구체화된다.\n- **가이드 ↔ 샘플**: `docs/guide/`의 각 가이드는 `samples/`의 실행 코드와 1:1로 짝을 이룬다(Gemini 리뷰·Handoff·Slack 알림).\n- **지침 → Hooks**: `template/README.md` §4(멀티턴 방어)의 Hooks 설계가 `samples/`의 Hooks 구현으로 이어진다.\n- **명세 → 구현**: `project/luckydraw/`는 PRD·TRD·REQUIREMENTS·ANALYSIS 명세와, 그 명세를 그대로 구현한 `lucky-draw.html`까지 한 쌍으로 보여준다.\n\n---\n\n## 4. 학습·적용 순서 추천\n\n1. **`example/`** — CLAUDE.md에 어떤 철학을 담을지 두 사례로 감 잡기\n2. **`template/README.md`** — 내 프로젝트 유형에 맞는 지침 파일 조합 선택, 멀티턴 방어 4계층 이해\n3. **`docs/claude_template_ts/`** — TypeScript 실전 지침 세트로 계층형 규칙 구조 학습\n4. **`docs/guide/` + `samples/`** — Hooks·Skill을 가이드로 이해하고 샘플로 직접 실행\n5. **`project/luckydraw/`** — PRD/TRD/요구사항 명세 작성법을 익히고, 그 명세로 구현된 `lucky-draw.html`로 \"명세 → 산출물\" 연결 확인하기\n\n---\n\n\u003e 강의 본문과 함께 보면 가장 효과적입니다. 이슈·질문은 [github.com/claude-code-expert](https://github.com/claude-code-expert)로 남겨주세요.\n\n---\n\n## License\n\n© 2026 villainscode. All rights reserved.\n\n본 강의 자료는 [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.ko)(저작자표시-비영리-변경금지) 라이센스를 따릅니다.\n\n- ✅ **링크 공유** 허용 — 본 페이지의 링크를 자유롭게 공유할 수 있습니다.\n- ✅ **출처 표시 + 비영리** 조건 시 원본 그대로의 복제·재배포 허용\n- ❌ **상업적 이용** 금지\n- ❌ **수정·2차 가공** 후 배포 금지 (원본을 변경하지 않은 그대로만 공유 가능)\n\n상업적 이용이나 자료 수정·가공이 필요하면 저작자에게 사전 동의를 받아 주세요.\n\n[![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaude-code-expert%2Flecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclaude-code-expert%2Flecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaude-code-expert%2Flecture/lists"}