LLM 개발 환경 구축
AI 기반 Vibe Coding을 위한 터미널, 에디터, Git, CLI 도구 완벽 설정 가이드
업데이트 안내: 모델/요금/버전/정책 등 시점에 민감한 정보는 변동될 수 있습니다.
최신 내용은 공식 문서를 확인하세요.
⚡ 빠른 시작 체크리스트
필수 도구 (30분 설정):
- 터미널: Zsh + Oh My Zsh (macOS/Linux) 또는 PowerShell 7 (Windows)
- 에디터: VS Code + Continue/Cline 확장
- Git: 설정 파일 + SSH 키 + GPG 서명
- CLI 도구: Claude CLI 또는 Codex CLI 또는 Aider
- Node.js (v18+), Python (3.10+)
선택 도구: Docker, Ollama, dotfiles 동기화
터미널 환경 구축
macOS/Linux: Zsh + Oh My Zsh
💡 왜 Zsh인가?
- 자동완성: 명령어, 파일, Git 브랜치 등 강력한 자동완성
- 플러그인: git, docker, npm, python 등 수백 개 플러그인
- 테마: Git 상태, 가상환경, 시간 등 정보를 프롬프트에 표시
- 히스토리: 스마트 검색, 중복 제거, 명령어 공유
1. Zsh 설치 및 기본 쉘 설정
# macOS (이미 설치됨)
zsh --version
# Ubuntu/Debian
sudo apt update && sudo apt install zsh
# 기본 쉘로 설정
chsh -s $(which zsh)
# 로그아웃 후 재로그인
2. Oh My Zsh 설치
# 설치 스크립트 실행
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 설치 후 ~/.zshrc 자동 생성됨
3. Powerlevel10k 테마 설치 (권장)
# 테마 다운로드
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# ~/.zshrc 편집
ZSH_THEME="powerlevel10k/powerlevel10k"
# 쉘 재시작 후 설정 마법사 실행
exec zsh
# p10k configure 실행됨
4. 필수 플러그인 설정
# ~/.zshrc에서 plugins 섹션 수정
plugins=(
git # Git 단축키 및 자동완성
docker # Docker 자동완성
docker-compose # Docker Compose 자동완성
npm # npm 자동완성
python # Python 가상환경
zsh-autosuggestions # 명령어 자동 제안 (별도 설치 필요)
zsh-syntax-highlighting # 구문 강조 (별도 설치 필요)
)
5. 고급 플러그인 설치
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# ~/.zshrc에서 활성화
plugins=(... zsh-autosuggestions zsh-syntax-highlighting)
# 적용
source ~/.zshrc
6. 유용한 Alias 추가
# ~/.zshrc 하단에 추가
# LLM CLI 단축키
alias cc="claude-code"
alias ccnew="claude-code new"
alias aid="aider"
alias ol="ollama"
alias olrun="ollama run"
# Git 단축키
alias gs="git status"
alias ga="git add"
alias gc="git commit -m"
alias gp="git push"
alias gl="git log --oneline --graph"
alias gd="git diff"
# Docker 단축키
alias dps="docker ps"
alias dcu="docker-compose up -d"
alias dcd="docker-compose down"
# Python 가상환경
alias venv="python3 -m venv venv"
alias activate="source venv/bin/activate"
Windows: PowerShell 7 + Oh My Posh
1. PowerShell 7 설치
# winget (Windows 11/10)
winget install Microsoft.PowerShell
# 또는 https://github.com/PowerShell/PowerShell/releases 에서 다운로드
2. Oh My Posh 설치
# winget으로 설치
winget install JanDeDobbeleer.OhMyPosh
# Nerd Font 설치 (테마 아이콘용)
oh-my-posh font install
3. 프로필 설정
# 프로필 파일 생성/편집
notepad $PROFILE
# 다음 내용 추가:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression
# PowerShell 재시작
4. 유용한 모듈 설치
# PSReadLine (자동완성 강화)
Install-Module -Name PSReadLine -Force
# Terminal-Icons (파일 아이콘)
Install-Module -Name Terminal-Icons -Force
# posh-git (Git 통합)
Install-Module -Name posh-git -Force
# $PROFILE에 추가
Import-Module PSReadLine
Import-Module Terminal-Icons
Import-Module posh-git
터미널 멀티플렉서: tmux (선택)
💡 tmux를 사용하는 이유
- 여러 창/패널을 한 터미널에서 관리
- SSH 세션이 끊겨도 작업 유지
- LLM과 대화하면서 동시에 코드 실행
# 설치
# macOS
brew install tmux
# Ubuntu/Debian
sudo apt install tmux
# 기본 사용법
tmux # 새 세션 시작
tmux ls # 세션 목록
tmux attach -t 0 # 세션 0에 연결
# 세션 내 단축키 (Ctrl+b 누른 후)
# % - 수평 분할
# " - 수직 분할
# 방향키 - 패널 이동
# c - 새 창
# n - 다음 창
# d - 세션 분리 (백그라운드로)
tmux 설정 파일 (~/.tmux.conf)
# 마우스 지원
set -g mouse on
# 색상 지원
set -g default-terminal "screen-256color"
# Prefix를 Ctrl+a로 변경 (선택)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 창 번호를 1부터 시작
set -g base-index 1
setw -g pane-base-index 1
# Vi 키 바인딩
setw -g mode-keys vi
에디터 환경 구축
VS Code: 가장 인기 있는 선택
1. VS Code 설치
# macOS
brew install --cask visual-studio-code
# Ubuntu/Debian
sudo snap install code --classic
# Windows: https://code.visualstudio.com/download
2. 필수 확장 프로그램
| 확장 | 용도 | 설치 명령어 |
|---|---|---|
| Continue | LLM 통합 (Claude, GPT, Ollama) | code --install-extension continue.continue |
| Cline | 자율 AI 코딩 에이전트 | code --install-extension saoudrizwan.claude-dev |
| GitHub Copilot | AI 코드 자동완성 | code --install-extension GitHub.copilot |
| GitLens | Git 히스토리 강화 | code --install-extension eamodio.gitlens |
| Prettier | 코드 포맷팅 | code --install-extension esbenp.prettier-vscode |
| ESLint | JavaScript 린팅 | code --install-extension dbaeumer.vscode-eslint |
| Python | Python 개발 환경 | code --install-extension ms-python.python |
| Docker | Docker 파일 편집 | code --install-extension ms-azuretools.vscode-docker |
3. VS Code 설정 (settings.json)
{
// 에디터 기본 설정
"editor.fontSize": 14,
"editor.fontFamily": "D2Coding, Consolas, monospace",
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
"editor.minimap.enabled": true,
"editor.rulers": [80, 120],
// AI 자동완성
"editor.inlineSuggest.enabled": true,
"github.copilot.enable": {
"*": true
},
// Continue 설정
"continue.enableTabAutocomplete": true,
// Git
"git.autofetch": true,
"git.confirmSync": false,
"gitlens.hovers.currentLine.over": "line",
// 파일 저장
"files.autoSave": "onFocusChange",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
// Python
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
// Prettier
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
4. 유용한 단축키
| 기능 | macOS | Windows/Linux |
|---|---|---|
| 명령 팔레트 | Cmd+Shift+P |
Ctrl+Shift+P |
| 파일 빠른 열기 | Cmd+P |
Ctrl+P |
| Continue 열기 | Cmd+Shift+L |
Ctrl+Shift+L |
| Copilot 제안 수락 | Tab |
Tab |
| 다음 제안 | Option+] |
Alt+] |
| Git 소스 제어 | Ctrl+Shift+G |
Ctrl+Shift+G |
| 터미널 열기 | Ctrl+` |
Ctrl+` |
Neovim: 고급 사용자용
💡 Neovim을 선택하는 이유
- 속도: 터미널 기반으로 매우 빠름
- Lua: 강력한 설정 및 플러그인 시스템
- LLM 통합: copilot.vim, ChatGPT.nvim 등
- SSH: 원격 서버에서도 동일한 환경
1. Neovim 설치
# macOS
brew install neovim
# Ubuntu/Debian
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update && sudo apt install neovim
# 별칭 설정 (~/.zshrc)
alias vim="nvim"
alias vi="nvim"
2. LazyVim (권장 설정 번들)
# LazyVim 설치 (자동 플러그인 관리)
git clone https://github.com/LazyVim/starter ~/.config/nvim
rm -rf ~/.config/nvim/.git
# Neovim 실행하면 자동으로 플러그인 설치
nvim
3. Copilot 통합
-- ~/.config/nvim/lua/plugins/copilot.lua
return {
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = function()
require("copilot").setup({
suggestion = {
enabled = true,
auto_trigger = true,
keymap = {
accept = "<Tab>",
next = "<M-]>",
prev = "<M-[>",
},
},
})
end,
},
}
JetBrains IDEs (IntelliJ, PyCharm 등)
AI Assistant 플러그인
# Settings → Plugins → Marketplace
1. "JetBrains AI Assistant" 설치 (공식)
2. "GitHub Copilot" 설치
3. "Tabnine" 설치 (선택)
# Tools → AI Assistant → Configure
# API 키 입력 또는 JetBrains 계정 연동
Git 환경 구축
Git 설치 및 기본 설정
# 설치 확인
git --version
# macOS (Homebrew로 최신 버전)
brew install git
# Ubuntu/Debian
sudo apt install git
# Windows: https://git-scm.com/download/win
기본 설정
# 사용자 정보 설정
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# 기본 에디터 설정
git config --global core.editor "code --wait" # VS Code
# git config --global core.editor "nvim" # Neovim
# 기본 브랜치 이름
git config --global init.defaultBranch main
# 색상 활성화
git config --global color.ui auto
# 자동 줄바꿈 설정
git config --global core.autocrlf input # macOS/Linux
# git config --global core.autocrlf true # Windows
# pull 전략 설정 (merge vs rebase)
git config --global pull.rebase false
SSH 키 설정 (GitHub/GitLab)
# 1. SSH 키 생성
ssh-keygen -t ed25519 -C "your.email@example.com"
# 파일 위치: Enter (기본값 ~/.ssh/id_ed25519)
# 비밀번호: 선택사항
# 2. SSH 에이전트 시작 및 키 추가
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# 3. 공개키 복사
# macOS
pbcopy < ~/.ssh/id_ed25519.pub
# Linux
cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard
# Windows (Git Bash)
clip < ~/.ssh/id_ed25519.pub
# 4. GitHub/GitLab에 등록
# GitHub: Settings → SSH and GPG keys → New SSH key
# GitLab: Preferences → SSH Keys → Add new key
# 5. 연결 테스트
ssh -T git@github.com
# "Hi username! You've successfully authenticated..."
GPG 서명 설정 (커밋 서명)
# 1. GPG 설치
# macOS
brew install gnupg
# Ubuntu/Debian
sudo apt install gnupg
# 2. GPG 키 생성
gpg --full-generate-key
# 키 종류: (1) RSA and RSA
# 키 크기: 4096
# 유효 기간: 0 (만료 없음) 또는 1y (1년)
# 이름/이메일: Git 설정과 동일하게
# 3. 키 ID 확인
gpg --list-secret-keys --keyid-format=long
# sec rsa4096/3AA5C34371567BD2 2024-01-01 [SC]
# ↑ 이 부분이 키 ID
# 4. Git에 GPG 키 설정
git config --global user.signingkey 3AA5C34371567BD2
git config --global commit.gpgsign true
git config --global tag.gpgsign true
# 5. 공개키 내보내기
gpg --armor --export 3AA5C34371567BD2
# GitHub: Settings → SSH and GPG keys → New GPG key
# 6. 테스트 커밋
git commit -S -m "test signed commit"
git log --show-signature
유용한 Git Aliases
# ~/.gitconfig 또는 명령어로 추가
# 상태 및 로그
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"
git config --global alias.last "log -1 HEAD"
# 브랜치 관리
git config --global alias.br branch
git config --global alias.co checkout
git config --global alias.cob "checkout -b"
# 커밋
git config --global alias.ci commit
git config --global alias.amend "commit --amend --no-edit"
# 스테이징
git config --global alias.unstage "reset HEAD --"
git config --global alias.uncommit "reset --soft HEAD~1"
# 동기화
git config --global alias.sync "!git fetch --all && git pull --rebase"
# 정리
git config --global alias.clean-branches "!git branch --merged | grep -v '\\*\\|main\\|master' | xargs -n 1 git branch -d"
# 사용 예시
git st # git status
git lg # 그래프 로그
git cob feature-x # 브랜치 생성 + 체크아웃
git amend # 마지막 커밋 수정
git sync # fetch + pull --rebase
Git Hooks (자동화)
pre-commit 훅 (커밋 전 검증)
# .git/hooks/pre-commit 파일 생성
#!/bin/bash
# API 키 유출 방지
if git diff --cached | grep -E '(ANTHROPIC_API_KEY|OPENAI_API_KEY|sk-ant-|sk-proj-)'; then
echo "⚠️ API 키가 포함된 것 같습니다!"
exit 1
fi
# 코드 포맷팅 (Prettier)
if command -v prettier >/dev/null; then
npx prettier --write $(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(js|ts|json|md)$')
git add $(git diff --cached --name-only)
fi
# Python 린팅 (Black + Flake8)
if command -v black >/dev/null; then
black $(git diff --cached --name-only --diff-filter=ACM | grep -E '\.py$')
git add $(git diff --cached --name-only)
fi
exit 0
# 실행 권한 부여
chmod +x .git/hooks/pre-commit
commit-msg 훅 (커밋 메시지 검증)
# .git/hooks/commit-msg
#!/bin/bash
commit_msg=$(cat "변동")
# Conventional Commits 형식 강제
if ! echo "$commit_msg" | grep -qE '^(feat|fix|docs|style|refactor|test|chore)(\(.+\))?: .{1,}'; then
echo "⚠️ 커밋 메시지는 Conventional Commits 형식이어야 합니다:"
echo " feat: 새 기능"
echo " fix: 버그 수정"
echo " docs: 문서 변경"
exit 1
fi
exit 0
환경 변수 관리
기본 환경 변수 설정
# ~/.zshrc (macOS/Linux) 또는 $PROFILE (PowerShell)
# API 키 (절대 Git에 커밋하지 마세요!)
export ANTHROPIC_API_KEY="sk-ant-api03-xxx"
export OPENAI_API_KEY="sk-proj-xxx"
export GOOGLE_API_KEY="AIzaSy-xxx"
# Ollama 설정
export OLLAMA_HOST="http://localhost:11434"
export OLLAMA_MODELS="$HOME/.ollama/models"
# Claude CLI 설정
export CLAUDE_PROFILE="default"
# Node.js/Python 경로
export PATH="$HOME/.local/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
.env 파일 사용 (프로젝트별)
# 프로젝트 루트에 .env 파일 생성
ANTHROPIC_API_KEY=sk-ant-api03-xxx
OPENAI_API_KEY=sk-proj-xxx
DATABASE_URL=postgresql://localhost/mydb
# .gitignore에 추가
echo ".env" >> .gitignore
echo ".env.local" >> .gitignore
# Python에서 사용
pip install python-dotenv
# Python 코드
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv('ANTHROPIC_API_KEY')
# Node.js에서 사용
npm install dotenv
// JavaScript 코드
require('dotenv').config();
const apiKey = process.env.ANTHROPIC_API_KEY;
direnv (자동 환경 변수 로드)
# 설치
# macOS
brew install direnv
# Ubuntu/Debian
sudo apt install direnv
# ~/.zshrc에 추가
eval "$(direnv hook zsh)"
# 프로젝트 디렉토리에서
cd ~/my-project
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' > .envrc
direnv allow .
# 이제 디렉토리 진입 시 자동으로 환경 변수 로드됨
LLM CLI 도구 설치
Claude CLI
# npx로 직접 실행 (설치 불필요)
npx @anthropic-ai/claude-code
# 전역 설치 (권장)
npm install -g @anthropic-ai/claude-code
# 초기 설정
claude-code init
# API 키 입력 프롬프트 표시됨
# 사용
claude-code new "Build a todo app"
Codex CLI
# 전역 설치
npm install -g @openai/codex
# 로그인 또는 API 키 설정
codex
# 사용 예시
codex "README 정리해줘"
첫 실행 시 로그인 안내가 나타나며, API 키를 사용할 경우 OPENAI_API_KEY를 환경 변수로 설정합니다. 자세한 흐름은 Codex 가이드를 참고하세요.
Aider
# pipx로 설치 (권장)
pipx install aider-chat
# 또는 pip
pip install aider-chat
# API 키 설정
export ANTHROPIC_API_KEY="sk-ant-..."
# 사용
cd my-project
aider
Ollama
# macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows: https://ollama.com/download/windows
# 모델 다운로드
ollama pull llama3.2:3b
ollama pull codellama:7b
# 서비스 시작 (자동 시작됨)
ollama serve
Node.js 및 Python 설정
Node.js (nvm 권장)
# nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# ~/.zshrc 재로드
source ~/.zshrc
# Node.js LTS 설치
nvm install --lts
nvm use --lts
# 기본 버전 설정
nvm alias default node
# 확인
node --version
npm --version
Python (pyenv 권장)
# pyenv 설치
# macOS
brew install pyenv
# Ubuntu/Debian
curl https://pyenv.run | bash
# ~/.zshrc에 추가
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
# Python 3.12 설치
pyenv install 3.12
pyenv global 3.12
# 확인
python --version
pip --version
Dotfiles 관리
Git으로 Dotfiles 관리
# 1. Dotfiles 저장소 생성
mkdir ~/dotfiles
cd ~/dotfiles
git init
# 2. 설정 파일 복사
cp ~/.zshrc .
cp ~/.gitconfig .
cp ~/.tmux.conf .
cp ~/.config/nvim/init.lua nvim-init.lua
# 3. README 작성
cat > README.md << 'EOF'
# My Dotfiles
## Installation
```bash
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh
```
EOF
# 4. 설치 스크립트 작성
cat > install.sh << 'EOF'
#!/bin/bash
# Symlink dotfiles
ln -sf ~/dotfiles/.zshrc ~/.zshrc
ln -sf ~/dotfiles/.gitconfig ~/.gitconfig
ln -sf ~/dotfiles/.tmux.conf ~/.tmux.conf
ln -sf ~/dotfiles/nvim-init.lua ~/.config/nvim/init.lua
echo "✅ Dotfiles installed!"
EOF
chmod +x install.sh
# 5. GitHub에 푸시
git add .
git commit -m "Initial dotfiles"
git remote add origin git@github.com:yourusername/dotfiles.git
git push -u origin main
Dotfiles 관리 도구
GNU Stow (심볼릭 링크 관리)
# 설치
# macOS
brew install stow
# Ubuntu/Debian
sudo apt install stow
# 디렉토리 구조
~/dotfiles/
zsh/
.zshrc
git/
.gitconfig
nvim/
.config/nvim/init.lua
# 사용법
cd ~/dotfiles
stow zsh # ~/.zshrc 심볼릭 링크 생성
stow git # ~/.gitconfig 심볼릭 링크 생성
stow nvim # ~/.config/nvim/init.lua 심볼릭 링크 생성
# 제거
stow -D zsh
Chezmoi (고급 dotfiles 관리)
# 설치
# macOS
brew install chezmoi
# Ubuntu/Debian
sh -c "$(curl -fsLS get.chezmoi.io)"
# 초기화
chezmoi init
# 파일 추가
chezmoi add ~/.zshrc
chezmoi add ~/.gitconfig
# 변경사항 확인
chezmoi diff
# 적용
chezmoi apply
# GitHub와 동기화
chezmoi cd
git remote add origin git@github.com:yourusername/dotfiles.git
git push -u origin main
chezmoi git pull -- --rebase
팁 & 트릭
자주 쓰는 커맨드 Alias
# ~/.zshrc
# 프로젝트 빠른 이동
alias proj="cd ~/projects"
alias work="cd ~/work"
# LLM 작업 시작
alias aicode="cd ~/projects && claude-code new"
alias aichat="ollama run llama3.2"
# 환경 정리
alias cleanup="docker system prune -af && npm cache clean --force"
# 포트 사용 확인
alias ports="lsof -i -P -n | grep LISTEN"
# IP 주소 확인
alias myip="curl -s ifconfig.me"
유용한 쉘 함수
# ~/.zshrc
# 디렉토리 생성 후 바로 이동
mkcd() {
mkdir -p "변동" && cd "변동"
}
# Git 브랜치 생성 + 체크아웃 + 푸시
gcob() {
git checkout -b "변동" && git push -u origin "변동"
}
# 파일 찾기 + 에디터 열기
fcode() {
code $(find . -name "*변동*" | head -1)
}
# Claude CLI로 현재 디렉토리 설명 요청
explain() {
claude-code new "Explain this codebase: $(pwd)"
}
# Docker 컨테이너 빠른 접속
dsh() {
docker exec -it "변동" /bin/bash
}
VS Code 스니펫
// settings.json → Configure User Snippets → python.json
{
"Claude API Call": {
"prefix": "claude",
"body": [
"import anthropic",
"",
"client = anthropic.Anthropic(api_key=os.getenv('ANTHROPIC_API_KEY'))",
"message = client.messages.create(",
" model='claude-', # 또는 claude-" ,
" max_tokens=4096,",
" messages=[{'role': 'user', 'content': '${1:prompt}'}]",
")\",
"print(message.content[0].text)"
]
},
"Ollama API Call": {
"prefix": "ollama",
"body": [
"import requests",
"",
"response = requests.post('http://localhost:11434/api/generate', json={",
" 'model': '${1:llama3.2}',",
" 'prompt': '${2:prompt}',",
" 'stream': False",
"})",
"print(response.json()['response'])"
]
}
}
생산성 극대화
| 도구 | 용도 | 설정 |
|---|---|---|
| fzf | 퍼지 파인더 (파일, 히스토리 검색) | brew install fzf && $(brew --prefix)/opt/fzf/install |
| bat | cat 대체 (구문 강조) | brew install bat && alias cat=bat |
| exa | ls 대체 (색상, 아이콘) | brew install exa && alias ls=exa |
| ripgrep | grep 대체 (빠른 검색) | brew install ripgrep |
| tldr | man 대체 (간결한 예제) | brew install tldr |
| htop | top 대체 (시스템 모니터) | brew install htop |
# fzf 사용 예시
# Ctrl+R: 히스토리 검색
# Ctrl+T: 파일 검색
# Alt+C: 디렉토리 이동
# bat 사용
bat filename.py # 구문 강조 표시
bat -A filename.sh # 모든 문자 표시 (공백, 탭 등)
# exa 사용
exa -la --icons --git # 아이콘 + Git 상태 표시
exa -T --level=2 # 트리 구조 (2단계)
# ripgrep 사용
rg "TODO" --type py # Python 파일에서만 검색
rg "API_KEY" -i # 대소문자 무시
문제 해결
Zsh 플러그인이 작동하지 않음
# 1. 플러그인 디렉토리 확인
ls -la ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/
# 2. .zshrc 문법 확인
zsh -n ~/.zshrc
# 3. 캐시 삭제 후 재시작
rm -f ~/.zcompdump*
exec zsh
Git SSH 인증 실패
# 1. SSH 에이전트 재시작
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# 2. 권한 확인
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
# 3. GitHub 연결 테스트
ssh -vT git@github.com
환경 변수가 로드되지 않음
# 1. 쉘 확인
echo $SHELL
# /bin/zsh이어야 함
# 2. .zshrc 재로드
source ~/.zshrc
# 3. 환경 변수 확인
env | grep ANTHROPIC
printenv ANTHROPIC_API_KEY
# 4. .env 파일 로드 확인 (Python)
python -c "from dotenv import load_dotenv; import os; load_dotenv(); print(os.getenv('ANTHROPIC_API_KEY'))"
VS Code 확장이 느림
# 1. 확장 성능 확인
# Cmd+Shift+P → "Developer: Show Running Extensions"
# 2. 불필요한 확장 비활성화
# 특히 Prettier, ESLint는 필요한 프로젝트에서만 활성화
# 3. 캐시 삭제
rm -rf ~/Library/Application\ Support/Code/Cache
rm -rf ~/Library/Application\ Support/Code/CachedData
# 4. 설정 최적화
# settings.json
{
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/node_modules/**": true,
"**/.venv/**": true
}
}
최종 체크리스트
✅ 완벽한 LLM 개발 환경
터미널 (필수)
- Zsh + Oh My Zsh (또는 PowerShell 7 + Oh My Posh)
- Powerlevel10k 테마
- zsh-autosuggestions, zsh-syntax-highlighting 플러그인
- 유용한 alias 및 함수 추가
에디터 (필수)
- VS Code + Continue/Cline 확장
- 또는 Neovim + Copilot.lua
- Prettier, ESLint, GitLens 설정
Git (필수)
- user.name, user.email 설정
- SSH 키 등록 (GitHub/GitLab)
- GPG 서명 설정 (선택)
- 유용한 alias 추가
환경 변수 (필수)
- ANTHROPIC_API_KEY, OPENAI_API_KEY 설정
- .env 파일 사용 (프로젝트별)
- .gitignore에 .env 추가
CLI 도구 (필수 중 하나)
- Claude CLI 또는 Codex CLI 또는 Aider 설치
- Ollama 설치 (로컬 LLM용)
- Node.js (v18+), Python (3.10+)
선택 도구
- tmux (터미널 멀티플렉서)
- Docker + Docker Compose
- fzf, bat, exa, ripgrep (생산성 도구)
- dotfiles Git 저장소
🚀 다음 단계
- API 키 관리 - 보안을 위한 시크릿 관리
- Docker LLM 환경 - 컨테이너로 일관된 환경 구축
- CI/CD & LLM - 자동화 파이프라인 구축
- Claude CLI 가이드 - 실전 사용법
핵심 정리
- LLM 개발 환경 구축의 핵심 개념과 흐름을 정리합니다.
- 터미널 환경 구축를 단계별로 이해합니다.
- 실전 적용 시 기준과 주의점을 확인합니다.
실무 팁
- 입력/출력 예시를 고정해 재현성을 확보하세요.
- LLM 개발 환경 구축 범위를 작게 잡고 단계적으로 확장하세요.
- 터미널 환경 구축 조건을 문서화해 대응 시간을 줄이세요.