LLM 개발 환경 구축

AI 기반 Vibe Coding을 위한 터미널, 에디터, Git, CLI 도구 완벽 설정 가이드

업데이트 안내: 모델/요금/버전/정책 등 시점에 민감한 정보는 변동될 수 있습니다. 최신 내용은 공식 문서를 확인하세요.
⚡ 빠른 시작 체크리스트

필수 도구 (30분 설정):

  1. 터미널: Zsh + Oh My Zsh (macOS/Linux) 또는 PowerShell 7 (Windows)
  2. 에디터: VS Code + Continue/Cline 확장
  3. Git: 설정 파일 + SSH 키 + GPG 서명
  4. CLI 도구: Claude CLI 또는 Codex CLI 또는 Aider
  5. 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 저장소
🚀 다음 단계

핵심 정리

  • LLM 개발 환경 구축의 핵심 개념과 흐름을 정리합니다.
  • 터미널 환경 구축를 단계별로 이해합니다.
  • 실전 적용 시 기준과 주의점을 확인합니다.

실무 팁

  • 입력/출력 예시를 고정해 재현성을 확보하세요.
  • LLM 개발 환경 구축 범위를 작게 잡고 단계적으로 확장하세요.
  • 터미널 환경 구축 조건을 문서화해 대응 시간을 줄이세요.