githubEdit

Clip 1: CLAUDE.md, AGENTS.md best practice 찾아서 이해하기

📋 학습 목표

  • CLAUDE.md와 AGENTS.md 파일의 목적과 역할을 이해할 수 있다

  • 주요 오픈소스 프로젝트의 AI 에이전트 가이드 패턴을 분석할 수 있다

  • 효과적인 프로젝트 메모리 문서 작성 원칙을 파악할 수 있다

  • 실제 프로젝트에 적용 가능한 Best Practice를 도출할 수 있다


1. CLAUDE.md와 AGENTS.md란?

1.1 정의와 목적

CLAUDE.mdAGENTS.md는 AI 에이전트가 프로젝트를 효과적으로 이해하고 작업할 수 있도록 돕는 프로젝트 메모리(Project Memory) 파일입니다.

핵심 개념: AI 에이전트에게 프로젝트의 구조, 개발 환경, 코딩 컨벤션, 테스트 방법 등을 명시적으로 알려주어 일관된 코드 품질을 유지하도록 합니다.

1.2 README.md와의 차이점

구분
README.md
CLAUDE.md / AGENTS.md

대상

인간 개발자

AI 에이전트

목적

프로젝트 소개 및 사용법

개발 가이드라인 및 명령어

내용

개요, 설치, 예제

환경 설정, 테스트, 코딩 규칙

스타일

설명적, 마케팅적

명령적, 구체적

spinner

2. 주요 오픈소스 프로젝트 분석

2.1 Anthropic - claude-code-action

저장소: https://github.com/anthropics/claude-code-action

📁 파일: CLAUDE.md

핵심 내용:

아키텍처 구조:

spinner

핵심 컴포넌트:

  1. Data Fetching (data/fetcher.ts)

    • GraphQL/REST API로 PR/Issue 데이터 조회

    • GitHub 컨텍스트 파싱 및 포맷팅

  2. MCP Server Integration

    • 자동 설치 경로: ~/.claude/mcp/github-{type}-server/

    • 워크플로우 접근, 코멘트 작업, 파일 작업 제공

  3. Execution Steps (순서대로):

    • Step 1: MCP 서버 설정 및 GitHub 도구 접근 구성

    • Step 2: GitHub 데이터 기반 컨텍스트 풍부한 프롬프트 생성

    • Step 3: Claude 통합 (Anthropic API, AWS Bedrock, Google Vertex AI 지원)

    • Step 4: 결과 처리 (코멘트 업데이트, 브랜치/PR 생성)


2.2 당근마켓 - Stackflow

저장소: https://github.com/daangn/stackflow

📁 파일: AGENTS.md

프로젝트 특성:

  • JavaScript 스택 기반 모바일 네비게이션 라이브러리

  • 프레임워크 독립적 (React 지원)

핵심 내용:

Key Concepts (주요 용어):

용어
설명

Activity

네비게이션 스택의 화면/페이지

Stack

전환 상태를 가진 Activity 컬렉션

Event

상태 변경을 유도하는 도메인 이벤트 (Pushed, Popped, Replaced 등)

Plugin

라이프사이클 이벤트에 훅을 걸 수 있는 확장 기능

Effect

상태 변경으로 인해 생성되는 부수 효과

Step

Activity 내부의 하위 네비게이션

Common Tasks (일반 작업):

Important Notes:

  • ⚠️ 항상 yarn 명령어 사용: npm이 아닌 Yarn Berry v4를 사용해야 합니다

  • ⚠️ Changesets로 버전 관리: 임의로 버전 수정하지 마세요

  • ⚠️ Biome가 ESLint/Prettier를 대체: 전통적인 린팅 도구 대신 Biome 사용

  • ⚠️ 테스트 파일 네이밍: *.spec.ts 규칙 준수

플러그인 아키텍처:

spinner

2.3 OpenAI - Codex (Rust)

저장소: https://github.com/openai/codex

📁 파일: AGENTS.md

프로젝트 특성:

  • Rust 기반 코드 생성 도구

  • Crate 시스템: codex- 접두사 사용 (예: codex-core, codex-tui)

핵심 내용:

TUI Code Conventions (ratatui):

이 프로젝트는 TUI(Terminal User Interface) 렌더링에 엄격한 코딩 컨벤션을 적용합니다.

텍스트 래핑 (Text Wrapping):

테스트 프로토콜:

Snapshot Tests (insta):

이 프로젝트는 특히 codex-rs/tui에서 렌더링된 출력을 검증하기 위해 snapshot 테스트를 사용합니다.

Snapshot 테스트 워크플로우:

spinner

2.4 Apache - Airflow

저장소: https://github.com/apache/airflow

📁 파일: AGENTS.md

프로젝트 특성:

  • Python 기반 워크플로우 오케스트레이션

  • 대규모 엔터프라이즈 프로젝트

핵심 내용:

Pre-commit Hooks:

테스팅 예시:

케이스별 참고 문서 (contributing-docs/):

Airflow는 작업 유형에 따라 읽어야 할 문서를 명확히 안내합니다.

케이스
읽을 문서
설명

로컬 환경 설정

07_local_virtualenv.rst

uv venv, uv sync 등 로컬 Python 환경 준비

환경 비교

06_development_environments.rst

로컬 vs Breeze Docker 환경 차이점 비교

빠른 시작 (숙련자)

03b_contributors_quick_start_seasoned_developers.rst

prek 설치, Breeze 테스트 실행

정적 코드 검사

08_static_code_checks.rst

사용 가능한 훅, 전제 조건, prek install 설정

테스팅

03b_contributors_quick_start_seasoned_developers.rst

pytest 개별 파일, breeze testing 전체 스위트

문서 빌드

11_documentation_building.rst

uv run --group docs build-docs, breeze build-docs

PR 워크플로우

05_pull_requests.rst

테스트 포함, rebase 우선, 커밋 메시지 표준

Provider 패키징

12_provider_distributions.rst

Provider 배포 및 패키징 (고급)

API 버저닝

19_execution_api_versioning.rst

API 버전 관리 고려사항 (고급)

문서 링크 패턴:


3. 공통 패턴 분석

3.1 필수 섹션 구조

모든 프로젝트에서 공통적으로 포함하는 섹션:

spinner

3.2 명령어 작성 원칙

✅ 좋은 예시:

❌ 나쁜 예시:

원칙:

  1. 복사해서 바로 실행 가능한 명령어

  2. 각 명령어의 목적 명시

  3. 옵션 설명 간결하게

  4. 실제 예시 제공

4. Best Practice 체크리스트

4.1 문서 구조

4.2 명령어 작성

4.3 코드 예시

효과적인 작성 원칙

  • 명령어는 실행 가능하게

  • 코드 예시는 완전하게

  • 컨벤션은 구체적으로

  • 테스트는 단계별로


참고 자료

분석한 프로젝트


강사 정보

  • 작성자: 정구봉

  • LinkedIn: https://www.linkedin.com/in/gb-jeong/

  • 이메일: bong@dio.so

강의 자료

  • 강의 자료: https://goobong.gitbook.io/fastcampus

  • Github: https://github.com/Koomook/fastcampus-ai-agent-vibecoding

  • FastCampus 강의 주소: https://fastcampus.co.kr/biz_online_vibeagent

Last updated