1. Intro
AI와 개발에 관심은 많지만 코딩이나 환경 구성이 부담스러운 분들을 위해 Cursor와 비슷하면서도 더욱 강력한 환경을 구축하는 방법을 소개해 드리려고 합니다. 바로 Gemini-CLI와 VSCode를 통합하는 방법인데요, 이 조합만 있다면 비개발자도 AI를 마치 나만의 비서처럼 활용할 수 있습니다.
유의사항
gemini-cli를 사용하기 위한 초기 설정 과정은 다소 복잡하고 길게 느껴질 수 있습니다. 하지만 이 과정을 한 번만 거치면, VS Code에서 여러분만의 강력한 AI 비서를 만날 수 있습니다. 조금만 힘내서 따라해보세요!
용어 정리
•
로컬(Local) 환경 : 인터넷으로 연결되지 않은 내 PC(노트북) 내에서 일어나는 환경
•
VSCode :
◦
Visual Studio Code의 줄임말로, 메모장과 비슷함
◦
여러 다양한 기능(extension)을 추가하여 원하는 환경을 구성하기 좋은 에디터(편집 도구)
•
콘솔(Console) :
◦
흔히 말하는 검은 바탕에 흰 글자가 있고, 커서가 깜빡이는 화면
◦
컴퓨터 명령어로 IT 전문가들이 자주 쓰는 글자만 있는 화면
•
AI Agent :
◦
Agent라는 건 단순히 사람(직원)이라고 대입할 수 있음
◦
사람처럼 읽고, 생각하고, 판단하여, 처리하는 대행자인데, AI인 것을 의미함
•
Gemini-CLI :
◦
Gemini의 AI 엔진(두뇌)를 사용하지만 콘솔에서 명령어로 실행하는 AI Agent 서비스
◦
로컬 환경에서 파일을 찾아서 사람처럼 생각하여 파일을 읽기/쓰기/수정/삭제를 대신해주는 기능을 포함
•
Cursor :
◦
커서라고 읽으며, 개발자/비개발자분들이 사용하기 쉬운 AI Agent/AI 챗봇과 같음
•
쉘(Shell) :
◦
컴퓨터에 이미 내장돼 있는 기능을 사용할 수 있도록 해주는 기능
◦
리눅스, macOS 등에서는 ls, cp, mv, cd, clear, ifconfig 등의 명령어가 있음
◦
윈도우즈에서는 help, ipconfig, md, rd, cls 등의 명령어가 있음
Why?
Cursor는 AI 기능이 내장된 에디터라 편리하다는 것은 잘 아실 것 같습니다. (유료라면)기본 사용방법과 Cursor 자체에서도 AI와 연동되는 Agent 기능이 있기 때문에, 특정 디렉토리와 파일에 AI가 직접 접근해서 파일을 읽고 수정하고 원하는 행동을 하게끔 명령을 내릴 수 있습니다.
물론 무료 버전에서는 Agent 기능을 매우 한정적으로 제공하기 때문에, 비용이 만만치 않을 것이라 생각합니다. 이 때문에 저는 조금은 번거롭지만, 한 번 세팅해두면 크게 어렵지 않을 방법을 제안드려보려고 합니다. VSCode라는 에디터에 Gemini-CLI라는 강력한 AI 엔진을 결합하면, 자신의 Local 환경에서 Gemini의 뛰어난 AI 능력을 마음껏 활용할 수 있습니다.
Gemini-CLI 사용 방법 참고하기
Gemini-CLI를 사용하는 방법은 아래의 북마크를 참고해주셔도 됩니다. 단, 이 포스트에서는 좀 더 Gemini-CLI를 활용하기 위한 환경을 세팅하고 사용방법 예제를 보여주기 위한 포스트입니다.
2. Console setting
Homebrew
homebrew는 콘솔 화면에서 사용하기 좋은 기능입니다. 쉘을 사용할 수 있고, brew를 이용하여 콘솔 화면에서 여러 프로그램을 설치할 수 있습니다.
링크로 들어가서 아래와 같이 클립보드 복사 버튼을 클릭하면 복사(Command + C)가 됩니다.
이후 터미널을 켜서 이 내용을 붙여넣기 해주시면 됩니다.
Terminal
•
Command + Space → ‘terminal’ 입력 후 엔터
•
터미널이 켜지면, 복사했던 내용 붙여넣기 (Command + V)
iTerm2
Terminal 보다 좀 더 이쁘고 괜찮은 터미널 프로그램입니다. 불필요하다면, terminal을 켜두고, oh-my-zsh으로 넘어가시면 됩니다.
installation
아래의 링크를 들어가서 Download를 해주고, mac에서 시키는데로 하면 Launchpad에 iTerm 아이콘이 생깁니다.
설치가 완료되면 command + space 를 눌러서 iterm 이라고 검색하면 다음과 같이 나오면 됩니다.
oh-my-zsh
oh-my-zsh은 콘솔 화면에서 디렉토리 위치와 시간 등을 확인하면서 볼 수 있는 부가적인 기능을 지원해줍니다. Gemini-CLI에서도 콘솔 화면을 많이 보게 될 수 있어서 설치해두는 걸 추천드립니다.
sh 부터 sh)” 까지 복사해서 Terminal 혹은 iTerm2 의 콘솔창에 붙여넣으면 설치됩니다. 설치가 완료되면 콘솔창에서 zsh을 입력합니다. 그리고 아래의 명령어를 입력해서 편집해보도록 하겠습니다.
.zshrc
•
편집하기 위해 명령어 입력하기
vim ~/.zshrc
Plain Text
복사
•
파일 내용 (요약)
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time Oh My Zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="agnoster"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
Shell
복사
위의 내용에서 ZSH_THEME를 수정하기 위해 다음과 같은 방법을 따라 해봅니다.
1.
vim ~/.zshrc 명령어를 입력해서 파일 내용 (요약) 확인하기
2.
i 누르기 (편집모드 활성화)
3.
화살표를 이용해서 ZSH_THEME 위치로 가서 ZSH_THEME=”agnoster”처럼 편집
4.
ESC 누르기 (편집모드 비활성화)
5.
:wq 입력후 엔터
6.
콘솔에서 zsh 입력후 아래와 같이 적용됐는지 확인
Font 깨짐
만약 아래와 같이 폰트깨짐 현상이 일어난다면, 아래와 같은 방법을 사용해보시는 걸 추천드립니다. iTerm2 폰트 설정까지 완료되면 폰트깨짐 현상이 수정됩니다.
install git
터미널을 켜서 아래의 명령어를 따라해보면 문제없이 font가 설치될 것입니다. 참고할 수 있는 블로그 URL도 참고 드려요!
•
git 설치 명령어
brew install git
Shell
복사
font 설치
•
git에서 font 설치하는 파일 가져오기
git clone https://github.com/powerline/fonts.git --depth=1
Shell
복사
•
font 설치 명령어 (install.sh)
cd fonts
./install.sh
Shell
복사
iTerm2 폰트 설정
•
iTerm2 → Settings(환경설정) → 프로파일 → 서채 선택 → Inconsolata-dz for Powerline 선택
3. VSCode Setting
이제 본격적으로 Cursor와 비슷한 환경을 세팅해봅시다. 먼저 VSCode를 설치해보도록 합시다.
VSCode Download & Install
VSCode를 먼저 다운로드하고, 설치해보도록 합니다. 설치가 완료되면 Command + Space를 눌러 설치가 완료됐는지 확인해보도록 합니다.
Console 켜기
VSCode를 키고 Open Folder (폴더열기)를 누르고 작업하고 싶은 환경의 최상위 디렉토리(폴더)를 선택합니다.
이후 Ctrl + Shift + ` 를 눌러 콘솔을 띄워줍니다. 이후 아래와 같이 콘솔창이 켜졌는지 확인해봅니다.
띄워진 콘솔창에서 gemini를 띄워보도록 합니다. 만약 gemini 설정이 돼 있지 않다면, 아래의 링크를 참고하여 Gemini-CLI를 설치해주도록 합니다!
•
gemini-cli 실행 명령어
gemini
Shell
복사
4. Gemini-CLI 사용해보기
위의 과정에서 Gemini-CLI를 모두 설치 완료하였다면, 이제 실제로 사용해볼 차례입니다. 아래와 같이 원하는 작업 공간에 들어가서 원하는 질문을 던지면 가능한 범위 내에서 파일을 읽거나 생성/수정하는 것을 알 수 있습니다.
╭──────────────────────────────────────────────────────────────────────────────╮
│ >지금 디렉토리의 아래에 어떤 파일들이 있는지 Tree 구조로 그래프를 그려줘. 만약 사람이 있다면
│ 가명으로 수정해서 그래프를 다시 뽑아줘
╰──────────────────────────────────────────────────────────────────────────────╯
✦
1 .
2 ├── HR
3 │ ├── 1차
4 │ │ ├── GEMINI.md
5 │ │ ├── README.md
6 │ │ ├── commands.txt
7 │ │ ├── output_template.md
8 │ │ ├── outputs
9 │ │ │ ├── 후보자A_이력서평가.md
10 │ │ │ ├── 후보자B_이력서평가.md
11 │ │ │ └── 후보자C_이력서평가.md
12 │ │ ├── prompts
13 │ │ │ ├── backend_resume_prompt.txt
14 │ │ │ └── backend_resume_prompt_v2.txt
15 │ │ ├── resumes
16 │ │ ├── resumes_to_md
17 │ │ │ ├── 후보자A(백엔드 시니어 엔지니어)_이력서.md
18 │ │ │ ├── 후보자B(백엔드 시니어 엔지니어)_이력서.md
19 │ │ │ └── 후보자C(백엔드 시니어 엔지니어)_이력서.md
20 │ │ └── scripts
21 │ │ └── resume_pdf_to_markdown.py
22 │ ├── 2차
23 │ │ ├── GEMINI.md
24 │ │ ├── README.md
25 │ │ ├── commands.txt
26 │ │ ├── first_meetings
27 │ │ │ └── 후보자D_1차.csv
28 │ │ ├── questions
...
Shell
복사
시나리오
만약 Text가 많은 데이터가 있다고 할 때, 그 데이터를 요약해서 어떤 정보인지 1차로 판단하는 기능을 임의로 만들어봅시다.
•
만약 소설 텍스트 파일이 있다고 가정해보자.
•
각각의 소설을 모두 읽을 필요없이 다음과 같은 작업을 진행해보자.
◦
소설 제목
◦
소설 장르 확인
◦
소설 내용 요약
◦
문장의 피로도
◦
이야기 전개 흐름 오류
•
프롬프트 내용
-----
### 소설 분석 작업 지시 프롬프트
### 역할
당신은 소설의 핵심 정보만을 활용해 작품을 분석하는 **전문 비평가**입니다. 주어진 정보를 바탕으로 소설 전체를 읽지 않고도 장르, 내용, 문체, 그리고 이야기 전개의 논리적 오류까지 정확하게 파악하고 평가할 수 있습니다.
### 작업 지시
.txt 파일로 작성돼 있는 각각의 모든 소설 정보를 바탕으로 아래 항목들을 분석하여 **`report.md`** 파일 형식에 맞춰 마크다운으로 작성하세요.
### 출력 형식
**`report.md`** 파일에 들어갈 내용은 아래와 같습니다.
```markdown
# Gemini 소설 분석 보고서
**작성일**: (오늘 날짜)
**소설 제목**: (분석할 소설의 제목을 입력하세요)
---
### 1. 장르 및 핵심 주제
* **장르**: (판타지, 로맨스, 스릴러 등)
* **근거**: (장르를 판단한 이유)
* **핵심 주제**: (소설이 다루는 가장 중요한 주제)
---
### 2. 내용 요약 및 인물 관계
(소설의 핵심 줄거리와 주요 인물들의 관계를 5~7문장으로 요약)
---
### 3. 문체 및 가독성 분석
* **점수**: (1~5점 중 선택) / 5점
* **분석**: (점수를 매긴 이유와 문체의 특징 설명)
---
### 4. 이야기 전개 오류 및 논리적 비약
* **오류 지적**: (논리적으로 부자연스럽거나 비약이 있다고 의심되는 부분)
* **근거**: (그렇게 판단한 이유)
---
```
Markdown
복사
예상 결과
각각의 파일을 읽고, {파일제목}_report.md 파일을 생성하여 소설에 대한 평가를 작성합니다.