Claude Code가 다루기 좋은 CLI 도구 모음
Claude Code는 터미널 네이티브 AI 에이전트입니다. 좋은 CLI 도구를 갖추면 Claude Code의 생산성이 기하급수적으로 높아집니다.
Claude Code를 쓰면서 한 가지 깨달은 게 있습니다. 이 AI 에이전트는 터미널에서 살아요. Bash 도구를 통해 모든 CLI 명령을 직접 실행하죠. 그래서 Claude Code에 어떤 CLI 도구를 물려주느냐가 곧 생산성의 차이를 만듭니다.
Anthropic 공식 문서에서도 이렇게 말합니다:
"Tell Claude Code to use CLI tools like gh, aws, gcloud, and sentry-cli when interacting with external services. CLI tools are the most context-efficient way to interact with external services."
이 글에서는 Claude Code와 궁합이 좋은 CLI 도구 30개를 카테고리별로 정리합니다. 모두 비대화형(non-interactive), 구조화된 출력, 명확한 종료 코드를 갖춘 도구들입니다.
TL;DR
- Claude Code는 터미널에서 살아요. CLI 도구의 품질이 곧 생산성의 차이
- 핵심 조건: 비대화형, JSON 출력, 명확한 종료 코드, 조합 가능성, 멱등성
- 코어 명령어(ripgrep, fd, bat), 데이터 처리(jq, yq), Git(gh), AST 검색(ast-grep) 등 30개 도구 정리
- 설치 한 줄이면 시작 가능:
brew install ripgrep fd ast-grep jq yq gh
Claude Code 친화적 CLI의 6가지 조건
Claude Code가 잘 다루는 CLI 도구에는 공통된 특성이 있습니다. Terminal-Bench 2.0 벤치마크에서도 persistent bash session 접근 시 성능이 크게 향상되는 것이 확인됐습니다.
- 비대화형(Non-interactive): TUI나 프롬프트 없이 한 줄 명령으로 실행
- 구조화된 출력: JSON, CSV 등 파싱 가능한 포맷 지원
- 명확한 종료 코드: 성공(0)/실패(1) 판별 가능
- 조합 가능(Composable): 파이프, 리다이렉션과 잘 작동
- 멱등성(Idempotent): 같은 명령 = 같은 결과
- 좋은 --help: Claude가 옵션을 스스로 파악 가능
이 조건들을 비유하면, CLI 도구는 Claude Code의 팔다리와 같습니다. 손가락이 섬세할수록(구조화된 출력) 더 정밀한 작업이 가능하고, 관절이 유연할수록(조합 가능) 더 복잡한 동작을 수행할 수 있죠.
코어 명령어 현대화 - coreutils 대체
매일 쓰는 기본 명령어들이 Rust로 재작성되면서 속도와 사용성이 크게 좋아졌습니다. Claude Code와 함께 쓰면 파일 탐색과 코드 검색이 눈에 띄게 빨라집니다.
| 기존 도구 | 현대적 대체 | 핵심 장점 |
| ls | eza | 색상, Git 통합, 트리뷰 |
| cat | bat | 구문 강조, Git diff 표시, 줄번호 |
| find | fd | 직관적 문법, .gitignore 존중, 빠름 |
| grep | ripgrep(rg) | 멀티코어 병렬 검색, .gitignore 존중 |
| sed | sd | 정규식 대신 직관적 find/replace |
| cd | zoxide | 스마트 디렉토리 점프 (frecency) |
| du | dust | 디스크 사용량 시각화 |
| ps | procs | 프로세스 뷰어 |
| diff | delta | Git diff 구문 강조, side-by-side |
특히 ripgrep은 Claude Code 내장 Grep 도구의 백엔드이기도 합니다. Claude Code가 코드를 검색할 때 이미 ripgrep을 쓰고 있는 셈이죠.
설치는 한 줄이면 끝납니다:
brew install ripgrep fd bat eza sd zoxide dust procs delta
실전 성능 비교
# grep vs ripgrep: 대규모 코드베이스 검색
time grep -rn "useState" . # 12.3초
time rg "useState" . # 0.8초 (15배 빠름)
# find vs fd: 파일 검색
time find . -name "*.ts" # 3.2초
time fd -e ts # 0.3초 (10배 빠름)
데이터 처리 & API 도구
API 응답을 파싱하고, 설정 파일을 수정하고, HTTP 요청을 보내는 도구들입니다. Claude Code가 외부 서비스와 소통할 때 핵심적으로 사용합니다.
- jq: JSON 파싱/필터/변환의 핵심. API 응답 처리에 필수. Claude가 jq 필터 작성에 매우 능숙합니다
- yq: YAML/TOML 파싱. Kubernetes 매니페스트, CI 설정 파일 처리에 유용
- httpie (http): 인간 친화적 HTTP 클라이언트. curl보다 직관적인 출력을 제공
- curl: 범용 HTTP 클라이언트. 모든 API 호출의 기본이며, Claude가 가장 익숙한 도구
- xh: httpie 호환 Rust 구현. 더 빠른 HTTP 요청
Claude Code의 데이터 파이프라인 기본 패턴은 이렇습니다:
# API 응답에서 필요한 필드만 추출
curl -s https://api.example.com/data | jq '.results[] | {name, score}'
# YAML 설정에서 특정 값 읽기
yq '.services.web.ports' docker-compose.yml
Git & GitHub 자동화
개발 워크플로우에서 가장 자주 쓰이는 도구 영역입니다.
- gh: GitHub CLI. PR, Issue, Actions, Release를 모두 터미널에서 관리. Anthropic 공식 권장 도구
- git: 버전 관리의 기본. Claude Code가 가장 자연스럽게 다루는 도구
- delta: Git diff를 구문 강조로 보여주는 뷰어
- git-cliff: 커밋 히스토리에서 자동 CHANGELOG 생성
gh CLI는 Claude Code와 최고 궁합을 자랑합니다. 비대화형, JSON 출력, 완전한 GitHub 자동화 세 박자가 맞기 때문입니다:
# PR 목록을 JSON으로 조회
gh pr list --json number,title,state
# 이슈 생성
gh issue create --title "Bug fix" --body "Description"
# Actions 실행 상태 확인
gh run list --limit 5
# 릴리즈 생성
gh release create v1.0.0 --generate-notes
코드 검색 & 리팩토링
코드를 이해하고, 패턴을 찾고, 구조적으로 수정하는 데 특화된 도구입니다.
- ast-grep (sg): AST 패턴 기반 구조적 코드 검색/리팩토링. 정규식이 아닌 코드 구조를 이해하는 검색. 커뮤니티에서 "하나만 설치한다면 이것"이라고 평가받는 도구
- difftastic: AST 기반 구조적 diff. 공백이나 포매팅 변경은 무시하고 의미 있는 변경만 표시
ast-grep은 Claude Code의 코드 리팩토링 작업에서 정규식의 한계를 넘어서는 도구입니다. 예를 들어, 특정 함수 호출 패턴을 정확하게 찾아 일괄 변경할 수 있습니다.
# console.log 호출을 모두 찾기 (AST 기반 - 문자열 내 console.log는 무시)
sg --pattern 'console.log($$$)' --lang typescript
# 특정 패턴을 일괄 변경
sg --pattern 'console.log($MSG)' --rewrite 'logger.info($MSG)' --lang typescript
코드 품질 & 패키지 관리
린팅, 포매팅, 패키지 관리까지 자동화하는 도구들입니다.
코드 품질 도구
| 도구 | 대상 | 용도 |
| shellcheck | Shell | 셸 스크립트 린터 |
| shfmt | Shell | 셸 스크립트 포매터 |
| ruff | Python | 린터+포매터 (초고속) |
| oxlint | JS/TS | JavaScript/TypeScript 린터 |
| actionlint | GitHub Actions | 워크플로우 린터 |
| zizmor | GitHub Actions | 보안 분석 |
패키지 매니저
| 도구 | 생태계 | 핵심 장점 |
| uv | Python | pip 대비 10-100배 빠름 |
| pnpm | Node.js | 디스크 효율적, workspace 지원 |
| bun | Node.js | 런타임 겸용. 빌드/테스트/실행 올인원 |
| pipx | Python CLI | 격리된 환경에서 CLI 도구 설치 |
클라우드 & 인프라
클라우드 서비스와 인프라를 터미널에서 관리하는 도구들입니다. 모두 비대화형 실행과 JSON 출력을 지원합니다.
- docker: 컨테이너 관리. 빌드/실행 자동화
- supabase: Supabase CLI. DB 마이그레이션, Edge Functions 배포
- terraform: IaC(Infrastructure as Code). plan -> apply 패턴이 Claude의 "계획 -> 실행" 사고방식과 일치
- kubectl: Kubernetes 관리. JSON/YAML 출력, 선언적 관리
- aws/gcloud/az: 클라우드 프로바이더 CLI. --output json 지원. Anthropic 공식 권장
- vercel: 프론트엔드 배포 자동화
# terraform plan → Claude가 변경사항 분석
terraform plan -out=plan.tfplan
# kubectl로 pod 상태 JSON 출력
kubectl get pods -o json | jq '.items[] | {name: .metadata.name, status: .status.phase}'
미디어 & 문서 변환
미디어 파일과 문서를 변환하는 도구들입니다. 복잡한 옵션 조합이 필요한 영역이라 Claude Code의 도움이 특히 빛납니다.
- ffmpeg: 미디어 변환/편집. 복잡한 옵션을 Claude가 한 줄로 조합
- yt-dlp: YouTube/미디어 다운로드. 자막 추출에 필수
- pandoc: 문서 변환 (Markdown -> DOCX -> PDF)
- ImageMagick (magick): 이미지 처리/변환
MCP 서버 생태계
CLI 도구 외에도 Claude Code의 기능을 확장하는 MCP(Model Context Protocol) 서버들이 있습니다:
- Context7: 라이브러리 최신 문서를 실시간 조회 (man 페이지의 AI 버전)
- Playwright: 브라우저 자동화. 웹 테스트와 스크래핑
- Exa: AI 최적화 웹 검색
- Jina Reader: 웹 페이지를 마크다운으로 변환
Claude Code + CLI 베스트 프랙티스
Anthropic 엔지니어들이 실전에서 사용하는 패턴 5가지입니다:
- Explore -> Plan -> Code -> Commit: CLI 도구로 탐색(rg, fd) -> 계획 -> 코드 작성 -> git commit
- 서브에이전트 활용: 복잡한 CLI 작업을 서브에이전트에 위임하여 메인 컨텍스트 보존
- JSON 출력 우선:
--format json,--output json으로 구조화된 데이터 확보 - 파이프 체인:
command | jq '.field'패턴으로 데이터 추출/변환 - 비대화형 모드 강제:
--yes,--force,--no-interactive로 프롬프트 우회
Claude Code가 특히 잘 다루는 CLI 패턴도 정리합니다:
# CRUD 작업
gh issue create --title "Fix bug" --body "Description"
docker run --rm -it node:20 npm test
# 데이터 파이프라인
curl -s API_URL | jq '.data[]' | xargs -I{} echo {}
# 빌드/테스트 (결과 파싱 + 자동 수정)
npm test 2>&1 | head -50
# 파일 조작
fd -e ts | xargs rg "deprecated_function"
# 인프라 관리
terraform plan -out=plan.tfplan
원라이너 설치
지금 바로 시작할 수 있습니다:
# 코어 + 코드 품질
brew install ripgrep fd ast-grep jq yq shellcheck shfmt difftastic bat eza tree httpie gh
# Python 생태계
brew install uv ruff
Trail of Bits의 claude-code-config 프로젝트도 참고하세요. 보안 팀이 검증한 Claude Code 설정과 CLI 도구 세트를 제공합니다.
FAQ
Claude Code 없이도 이 도구들이 유용한가요?
네, 이 도구들은 Claude Code와 무관하게 개발 생산성을 높여줍니다. ripgrep은 grep보다 빠르고, fd는 find보다 직관적이며, jq는 JSON 처리의 표준입니다. Claude Code와 함께 쓰면 시너지가 극대화될 뿐입니다.
기존 coreutils와 충돌하지 않나요?
충돌하지 않습니다. eza, bat, fd 등은 별도 바이너리로 설치되며, 기존 ls, cat, find를 덮어쓰지 않습니다. alias를 설정하면 기본 명령어처럼 쓸 수 있습니다.
Windows에서도 사용할 수 있나요?
대부분의 도구가 크로스 플랫폼을 지원합니다. Rust로 작성된 도구들(ripgrep, fd, bat, eza 등)은 Windows 바이너리를 공식 제공합니다. 패키지 매니저는 scoop이나 winget을 사용하면 됩니다.
어떤 도구부터 설치해야 하나요?
ripgrep, fd, jq, gh 이 4개만 먼저 설치하세요. 코드 검색, 파일 찾기, JSON 파싱, GitHub 자동화를 바로 시작할 수 있습니다.
MCP 서버와 CLI 도구 중 뭘 써야 하나요?
둘 다 쓰면 됩니다. CLI 도구는 Bash 도구를 통해 실행되고, MCP 서버는 별도 프로토콜로 연결됩니다. CLI는 시스템/인프라 작업에, MCP는 외부 서비스 연동에 각각 최적화되어 있습니다.
참고 자료
- Anthropic 공식 문서 - Bash Tool - CLI 도구 사용 가이드
- Claude Code Learning Hub - 실전 활용 사례
- Trail of Bits claude-code-config - 보안 검증된 설정
- ast-grep Agent Skill - AST 기반 검색 에이전트
- Supercharging Claude Code with CLI Tools - 실전 튜토리얼
- Claude Code CLI Definitive Reference - CLI 도구 종합 레퍼런스
마무리
Claude Code의 힘은 터미널에서 나옵니다. 좋은 CLI 도구를 갖추면, Claude Code는 코드 검색부터 인프라 관리까지 모든 작업을 더 빠르고 정확하게 처리합니다.
핵심은 세 가지입니다: 비대화형, 구조화된 출력, 조합 가능성. 이 조건을 갖춘 CLI 도구를 Claude Code에 물려주세요. 생산성의 차이를 체감하게 될 겁니다.
Comments
Join the discussionNo comments yet. Be the first to comment.
