Gemini CLI 활용 가이드
Gemini CLI는 대화형 인터페이스를 통해 다양한 소프트웨어 엔지니어링 작업을 수행할 수 있는 강력한 도구입니다. 이 가이드는 Gemini의 핵심 기능을 소개하고, Obsidian 환경에서 효과적으로 활용하는 방법을 안내합니다.
1. 핵심 기능 (Core Capabilities)
Gemini는 다음과 같은 주요 작업을 처리할 수 있습니다.
🗂️ 파일 시스템 관리
- 파일 및 디렉토리 조회:
ls -R,find . -name "*.py"등 복잡한 명령어 대신, “src 폴더 아래의 모든 파이썬 파일을 찾아줘” 라고 요청할 수 있습니다. - 파일 내용 읽기: 특정 파일의 전체 또는 일부 내용을 읽고 그 내용을 기반으로 대화할 수 있습니다.
- 파일 생성 및 수정: “
hello.js파일을 만들고, 콘솔에 ‘Hello, World!’를 출력하는 코드를 넣어줘” 와 같이 요청하여 파일을 직접 생성하고 수정합니다. - 파일 검색: 정규식을 사용하지 않고도, “모든 파일에서 ‘database_url’이라는 텍스트가 포함된 부분을 찾아줘” 라고 검색을 요청할 수 있습니다.
예시 작업:
-
src디렉토리의 모든.ts파일 목록 확인하기 -
config.yaml파일의database.url설정값 읽기 -
README.md파일에 새로운 기능 설명 추가하기
💻 코드베이스 상호작용
- 코드 이해 및 설명: 복잡한 코드 블록이나 파일의 기능을 한국어로 쉽게 설명해달라고 요청할 수 있습니다.
- 리팩토링: 코드의 가독성, 효율성, 구조 개선을 제안받고 실행할 수 있습니다.
- 버그 수정: 오류 메시지나 증상을 설명하고, 문제의 원인을 진단받고 수정 코드를 제안받을 수 있습니다.
- 테스트 작성: 기존 코드에 대한 단위 테스트 또는 통합 테스트 코드를 자동으로 생성하도록 요청할 수 있습니다.
예시 작업:
-
utils.js에 있는calculatePrice함수의 역할 설명 요청 -
AuthService.java클래스를try-with-resources구문을 사용하도록 리팩토링 -
npm test실행 시 발생하는TypeError해결하기
셸 명령어 실행
- 의존성 관리:
npm install,pip install,bundle install등 필요한 명령어를 직접 실행하도록 지시할 수 있습니다. - 빌드 및 실행: “이 프로젝트를 빌드하고 실행해줘” 와 같이, 복잡한 빌드 및 실행 과정을 맡길 수 있습니다.
- 버전 관리:
git status,git log,git diff등 버전 관리 시스템의 상태를 확인하는 명령어를 실행하도록 요청할 수 있습니다.
예시 작업:
-
package.json에 명시된 모든 의존성 설치 - 프로젝트를 프로덕션 모드로 빌드
- 현재 브랜치의 변경 사항 확인
🌐 정보 검색 및 활용
- 웹 검색: “최신 React 버전의 새로운 기능은 뭐야?” 와 같이, 최신 기술 정보나 문서, 에러 해결 방법을 웹에서 검색하여 답변을 받습니다.
- 개인화: “앞으로 항상 한국어로 답변해줘” 또는 “내가 가장 선호하는 프레임워크는 FastAPI야” 와 같은 선호도를 기억시켜 대화에 반영하게 할 수 있습니다.
예시 작업:
- “React 19의 새로운 기능”에 대해 웹 검색
- “내 선호하는 프레임워크는 FastAPI야” 라고 기억시키기
2. Obsidian 활용 팁
- 프로젝트 노트로 활용: 이 가이드를 복사하여
[[프로젝트명]] - Gemini 작업노트와 같은 이름으로 만들어 사용하세요. - 내부 링크 활용: 작업 중인 파일이나 관련된 다른 노트를
[[파일명]]형태로 링크하여 컨텍스트를 연결하세요. - 체크리스트 관리: Gemini에게 요청할 작업을 체크리스트로 만들어 관리하고, 완료된 항목을 표시하며 진행 상황을 추적하세요.
📝 프로젝트 노트 (Project-Specific Notes)
이 섹션에 현재 진행 중인 프로젝트와 관련된 Gemini 작업 내역이나 목표를 자유롭게 기록하세요.
- 현재 목표:
- [ ]
-
작업 내역:
- 관련 파일:
[[파일경로/파일명]]