Claude Code가 다루기 좋은 CLI 도구 모음 - 터미널 네이티브 AI의 최적 무기
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), 구조화된 출력, 명확한 종료 코드를 갖춘 도구들입니다.
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가 옵션을 스스로 파악 가능
이 조건을 기억하면서 아래 도구들을 살펴보세요.
코어 명령어 현대화 - 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
데이터 처리 & 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의 데이터 파이프라인 기본 패턴은 이렇습니다:
curl -s https://api.example.com/data | jq '.results[] | {name, score}'
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
코드 검색 & 리팩토링
코드를 이해하고, 패턴을 찾고, 구조적으로 수정하는 데 특화된 도구입니다.
- ast-grep (sg): AST 패턴 기반 구조적 코드 검색/리팩토링. 정규식이 아닌 코드 구조를 이해하는 검색. 커뮤니티에서 "하나만 설치한다면 이것"이라고 평가받는 도구
- difftastic: AST 기반 구조적 diff. 공백이나 포매팅 변경은 무시하고 의미 있는 변경만 표시
ast-grep은 Claude Code의 코드 리팩토링 작업에서 정규식의 한계를 넘어서는 도구입니다. 예를 들어, 특정 함수 호출 패턴을 정확하게 찾아 일괄 변경할 수 있습니다.
코드 품질 & 패키지 관리
린팅, 포매팅, 패키지 관리까지 자동화하는 도구들입니다.
코드 품질 도구:
| 도구 | 대상 | 용도 |
|---|---|---|
| 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 도구 설치 |
| brew | macOS | 시스템 도구 설치의 표준 |
클라우드 & 인프라
클라우드 서비스와 인프라를 터미널에서 관리하는 도구들입니다. 모두 비대화형 실행과 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: 프론트엔드 배포 자동화
미디어 & 문서 변환
미디어 파일과 문서를 변환하는 도구들입니다. 복잡한 옵션 조합이 필요한 영역이라 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,-o 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 도구 세트를 제공합니다.
자주 묻는 질문
Q: Claude Code 없이도 이 도구들이 유용한가요?
네, 이 도구들은 Claude Code와 무관하게 개발 생산성을 높여줍니다. ripgrep은 grep보다 빠르고, fd는 find보다 직관적이며, jq는 JSON 처리의 표준입니다. Claude Code와 함께 쓰면 시너지가 극대화될 뿐입니다.
Q: 기존 coreutils와 충돌하지 않나요?
충돌하지 않습니다. eza, bat, fd 등은 별도 바이너리로 설치되며, 기존 ls, cat, find를 덮어쓰지 않습니다. alias를 설정하면 기본 명령어처럼 쓸 수 있습니다.
Q: Windows에서도 사용할 수 있나요?
대부분의 도구가 크로스 플랫폼을 지원합니다. Rust로 작성된 도구들(ripgrep, fd, bat, eza 등)은 Windows 바이너리를 공식 제공합니다. 패키지 매니저는 scoop이나 winget을 사용하면 됩니다.
Q: 어떤 도구부터 설치해야 하나요?
ripgrep, fd, jq, gh 이 4개만 먼저 설치하세요. 코드 검색, 파일 찾기, JSON 파싱, GitHub 자동화를 바로 시작할 수 있습니다.
마무리
Claude Code의 힘은 터미널에서 나옵니다. 좋은 CLI 도구를 갖추면, Claude Code는 코드 검색부터 인프라 관리까지 모든 작업을 더 빠르고 정확하게 처리합니다.
핵심은 세 가지입니다: 비대화형, 구조화된 출력, 조합 가능성. 이 조건을 갖춘 CLI 도구를 Claude Code에 물려주세요. 생산성의 차이를 체감하게 될 겁니다.