GEMINI.md 파일로 컨텍스트 제공하기
기본 이름 GEMINI.md를 사용하는 컨텍스트 파일은 Gemini 모델에 지침 컨텍스트를
제공하는 강력한 기능입니다. 이 파일을 사용하여 프로젝트별 지침을 제공하거나,
페르소나를 정의하거나, 코딩 스타일 가이드를 제공하여 AI의 응답을 더 정확하고
필요에 맞게 조정할 수 있습니다.
모든 프롬프트에서 지침을 반복하는 대신 컨텍스트 파일에서 한 번 정의할 수 있습니다.
컨텍스트 계층 구조 이해하기
CLI는 계층적 시스템을 사용하여 컨텍스트를 소싱합니다. 여러 위치에서 다양한 컨텍스트 파일을 로드하고, 찾은 모든 파일의 내용을 연결하여 모든 프롬프트와 함께 모델로 보냅니다. CLI는 다음 순서로 파일을 로드합니다:
-
전역 컨텍스트 파일:
- 위치:
~/.gemini/GEMINI.md(사용자 홈 디렉토리). - 범위: 모든 프로젝트에 대한 기본 지침을 제공합니다.
- 위치:
-
프로젝트 루트 및 상위 컨텍스트 파일:
- 위치: CLI는 현재 작업 디렉토리에서
GEMINI.md파일을 검색한 다음 프로젝트 루트(.git폴더로 식별)까지 각 상위 디렉토리에서 검색합니다. - 범위: 전체 프로젝트와 관련된 컨텍스트를 제공합니다.
- 위치: CLI는 현재 작업 디렉토리에서
-
하위 디렉토리 컨텍스트 파일:
- 위치: CLI는 현재 작업 디렉토리 아래의 하위 디렉토리에서도
GEMINI.md파일을 검색합니다..gitignore및.geminiignore의 규칙을 준수합니다. - 범위: 특정 구성 요소 또는 모듈에 대해 매우 구체적인 지침을 작성할 수 있습니다.
- 위치: CLI는 현재 작업 디렉토리 아래의 하위 디렉토리에서도
CLI 바닥글에는 로드된 컨텍스트 파일의 수가 표시되어 활성 지침 컨텍스트를 시각적으로 빠르게 확인할 수 있습니다.
GEMINI.md 파일 예시
다음은 TypeScript 프로젝트의 루트에 포함할 수 있는 GEMINI.md 파일의 예입니다:
# 프로젝트: 내 TypeScript 라이브러리
## 일반 지침
- 새 TypeScript 코드를 생성할 때 기존 코딩 스타일을 따르세요.
- 모든 새 함수와 클래스에 JSDoc 주석이 있는지 확인하세요.
- 적절한 경우 함수형 프로그래밍 패러다임을 선호하세요.
## 코딩 스타일
- 들여쓰기에 2칸 공백을 사용하세요.
- 인터페이스 이름 앞에 `I`를 붙이세요 (예: `IUserService`).
- 항상 엄격한 동등성(`===` 및 `!==`)을 사용하세요./memory 명령으로 컨텍스트 관리하기
/memory 명령을 사용하여 로드된 컨텍스트 파일과 상호 작용할 수 있습니다.
/memory show: 현재 계층적 메모리의 전체 연결된 내용을 표시합니다. 이것을 사용하여 모델에 제공되는 정확한 지침 컨텍스트를 검사할 수 있습니다./memory refresh: 구성된 모든 위치에서 모든GEMINI.md파일을 다시 검색하고 로드하도록 강제합니다./memory add <text>: 텍스트를 전역~/.gemini/GEMINI.md파일에 추가합니다. 이를 통해 즉석에서 영구적인 기억을 추가할 수 있습니다.
가져오기를 통한 컨텍스트 모듈화
@file.md 구문을 사용하여 다른 파일의 콘텐츠를 가져와 큰 GEMINI.md 파일을
더 작고 관리하기 쉬운 구성 요소로 나눌 수 있습니다. 이 기능은 상대 경로와 절대 경로를
모두 지원합니다.
가져오기가 포함된 GEMINI.md 예시:
# Main GEMINI.md file
This is the main content.
@./components/instructions.md
More content here.
@../shared/style-guide.md자세한 내용은 메모리 가져오기 프로세서 설명서를 참조하세요.
컨텍스트 파일 이름 사용자 지정하기
GEMINI.md가 기본 파일 이름이지만 settings.json 파일에서 이를 구성할 수 있습니다.
다른 이름이나 이름 목록을 지정하려면 context.fileName 속성을 사용하세요.
settings.json 예시:
{
"context": {
"fileName": ["AGENTS.md", "CONTEXT.md", "GEMINI.md"]
}
}