AI가 사용할 수 있는 CLI 도구 총정리

AI 코딩 에이전트는 이제 단순히 코드를 작성하는 수준을 넘어, 터미널에서 명령어를 실행하고 실제 개발·배포·운영 업무까지 처리할 수 있다.

Claude Code, Codex 같은 AI 에이전트에게 적절한 CLI 도구와 권한을 제공하면 다음과 같은 흐름을 자동화할 수 있다.

요구사항 확인 → 코드 수정 → 테스트 → 데이터베이스 변경 → 배포 → 로그 확인 → 장애 대응

그렇다면 AI가 사용할 수 있는 CLI에는 어떤 것들이 있을까?

이 글에서는 개발, 배포, 서버 운영, 클라우드, 테스트, 영상 처리, 업무 자동화 영역으로 나누어 정리한다.

CLI란 무엇인가?

CLI는 Command Line Interface의 약자다.

마우스로 버튼을 누르는 GUI와 달리, 터미널에서 텍스트 명령어를 입력해 프로그램이나 서비스를 조작한다.

예를 들어 Docker 컨테이너 목록을 확인하려면 다음과 같이 입력한다.

docker ps

GitHub의 Pull Request를 만들 때는 다음 명령을 사용할 수 있다.

gh pr create

AI 에이전트는 GUI 화면을 조작하는 것보다 CLI를 사용하는 데 더 적합하다.

명령어와 실행 결과가 텍스트로 명확하게 전달되기 때문에, AI가 현재 상태를 확인하고 다음 행동을 판단하기 쉽기 때문이다.

sh는 무엇인가?

sh는 AWS나 Cloudflare처럼 특정 서비스를 관리하는 CLI는 아니다.

운영체제에서 명령어를 실행하고 여러 명령을 연결하는 셸 환경에 가깝다.

pnpm install
pnpm build
docker compose up -d

AI는 sh, bash, zsh 같은 셸을 통해 Git, Docker, AWS, Cloudflare 등의 CLI를 실행한다.

즉, 셸은 AI가 다른 도구들을 조작하기 위한 기본 작업 공간이라고 볼 수 있다.

1. 소스 코드와 GitHub 관리

Git CLI

Git은 AI 코딩 에이전트가 가장 자주 사용하는 도구 중 하나다.

git status
git diff
git log
git checkout -b feature/dashboard
git add .
git commit -m "대시보드 기능 추가"
git rebase
git revert

AI가 Git을 사용하면 다음과 같은 작업을 수행할 수 있다.

현재 변경된 파일 확인

기존 코드와 수정 코드 비교

새로운 브랜치 생성

변경사항 커밋

잘못된 변경 되돌리기

충돌이 발생한 코드 분석

다만 다음 명령은 데이터 손실 가능성이 있으므로 자동 실행 권한을 제한하는 것이 좋다.

git reset --hard
git clean -fd
git push --force

GitHub CLI — gh

GitHub CLI를 사용하면 브라우저를 열지 않고 저장소, 이슈, Pull Request, GitHub Actions를 관리할 수 있다.

gh repo create
gh issue list
gh issue create
gh pr create
gh pr view
gh pr merge
gh run list
gh run view
gh release create

AI에게 다음처럼 요청할 수 있다.

변경사항을 새 브랜치에 커밋하고 Pull Request까지 만들어줘.

또는 다음과 같은 운영 작업도 가능하다.

GitHub Actions에서 실패한 작업을 확인하고 원인을 찾아 수정해줘.

GitHub CLI를 연결하면 AI는 코드 작성뿐 아니라 협업과 배포 과정에도 직접 참여할 수 있다.

2. 컨테이너와 서버 운영

Docker CLI

Docker를 사용하는 개발 환경이라면 AI에게 가장 먼저 연결할 만한 도구다.

docker ps
docker logs -f app
docker stats
docker exec -it postgres psql
docker compose up -d
docker compose down
docker compose build
docker compose restart
docker system prune

AI가 Docker CLI를 사용하면 다음 작업을 처리할 수 있다.

실행 중인 컨테이너 확인

애플리케이션 로그 분석

컨테이너 재시작

이미지 다시 빌드

PostgreSQL 컨테이너 접속

CPU와 메모리 사용량 확인

사용하지 않는 이미지와 컨테이너 정리

예를 들어 다음과 같이 요청할 수 있다.

Next.js 컨테이너가 계속 재시작되고 있어. 로그를 확인하고 원인을 수정한 뒤 다시 배포해줘.

SSH — ssh

SSH를 사용하면 AI가 원격 서버에 접속해 명령어를 실행할 수 있다.

ssh deploy@server.example.com

AI가 SSH를 사용할 수 있으면 다음 작업이 가능하다.

서버 상태 확인

배포 파일 업데이트

로그 확인

Docker 컨테이너 재시작

Nginx 설정 변경

디스크 용량과 메모리 사용량 점검

다만 개인 계정이나 루트 계정을 그대로 제공하는 것은 위험하다.

AI 전용 계정을 만들고 다음과 같이 권한을 제한하는 것이 좋다.

접속 가능한 서버 제한

특정 명령만 sudo 허용

운영 DB 직접 수정 금지

명령 실행 기록 보관

별도의 SSH 키 사용

파일 전송 — scp, rsync

scp build.zip deploy@server:/opt/app/
rsync -avz ./ deploy@server:/opt/app/

scp는 파일을 단순 전송할 때 사용하고, rsync는 변경된 파일만 효율적으로 동기화할 때 유용하다.

AI가 직접 서버에 빌드 파일을 올리거나 백업 파일을 내려받는 작업에 사용할 수 있다.

서비스 관리 — systemctl, journalctl

systemctl status nginx
systemctl restart nginx
systemctl reload nginx
journalctl -u nginx
journalctl -u docker --since today

AI는 systemctl로 서버 서비스를 관리하고 journalctl로 운영체제 로그를 확인할 수 있다.

Docker 외부에서 실행되는 Nginx, 애플리케이션, 데이터베이스 서비스의 장애를 분석할 때 특히 유용하다.

Nginx 설정 검사

Nginx는 별도의 복잡한 CLI보다는 설정 검사와 서비스 명령을 주로 사용한다.

nginx -t
nginx -T
systemctl reload nginx

AI에게 Nginx 설정을 변경하게 할 때는 반드시 적용 전에 다음 검사를 실행하도록 하는 것이 좋다.

nginx -t

설정 문법에 문제가 있으면 실제 서버에 반영하지 않도록 안전장치를 만드는 것이다.

3. 클라우드 플랫폼 CLI

AWS CLI — aws

AWS CLI는 AWS의 대부분 서비스를 터미널에서 관리할 수 있게 해준다.

aws s3 ls
aws s3 sync ./dist s3://my-bucket
aws ec2 describe-instances
aws logs tail /aws/app/logs --follow
aws ecs update-service
aws route53 list-hosted-zones

AI가 할 수 있는 대표적인 작업은 다음과 같다.

S3 파일 업로드와 동기화

EC2 인스턴스 상태 확인

CloudWatch 로그 분석

ECS 서비스 재배포

Route 53 DNS 조회

백업 파일 관리

AWS는 권한 범위가 매우 넓기 때문에 전체 관리자 권한 대신 IAM 정책을 세분화해 제공해야 한다.

Cloudflare CLI — wrangler

Cloudflare 개발자 플랫폼의 공식 CLI는 Wrangler다.

wrangler login
wrangler dev
wrangler deploy
wrangler tail
wrangler secret put API_KEY
wrangler d1 migrations apply DB
wrangler kv key put

Wrangler를 통해 AI는 다음 작업을 수행할 수 있다.

Cloudflare Workers 로컬 실행

Workers 배포

실시간 로그 확인

환경변수와 시크릿 등록

D1 데이터베이스 마이그레이션

KV 데이터 관리

R2, Queues 등 Cloudflare 서비스 관리

특히 Workers나 Cloudflare 기반 API를 운영한다면 AI가 코드 수정부터 배포, 로그 확인까지 하나의 흐름으로 처리할 수 있다.

Google Cloud CLI — gcloud

gcloud run deploy
gcloud run services list
gcloud logging read
gcloud compute instances list
gcloud storage cp

Google Cloud Run이나 Compute Engine을 사용한다면 AI가 배포와 로그 분석을 직접 수행할 수 있다.

Azure CLI — az

az login
az webapp list
az webapp deploy
az container list
az storage blob upload

Azure App Service, Container Apps, Storage 등을 터미널에서 관리할 수 있다.

Vercel CLI — vercel

vercel
vercel deploy
vercel deploy --prod
vercel logs
vercel env pull
vercel env add
vercel domains ls
vercel rollback

AI가 Vercel CLI를 사용하면 다음 작업을 처리할 수 있다.

프리뷰 배포

운영 배포

배포 로그 확인

환경변수 추가와 동기화

도메인 연결 상태 확인

이전 배포로 롤백

Next.js 프로젝트에서는 GitHub CLI와 Vercel CLI를 함께 사용하면 개발부터 배포까지 상당 부분을 자동화할 수 있다.

Supabase CLI — supabase

supabase init
supabase start
supabase migration new
supabase db diff
supabase db push
supabase functions deploy
supabase gen types typescript

AI는 Supabase CLI를 통해 다음 작업을 수행할 수 있다.

로컬 Supabase 환경 실행

DB 마이그레이션 생성

로컬과 운영 DB 스키마 비교

Edge Function 배포

TypeScript 타입 자동 생성

4. 데이터베이스 관리

PostgreSQL CLI — psql

psql "$DATABASE_URL"
psql -c "\dt"
psql -c "SELECT * FROM users LIMIT 10;"
pg_dump "$DATABASE_URL" > backup.sql
pg_restore -d target_database backup.dump

AI가 psql을 사용하면 다음 작업이 가능하다.

테이블 구조 확인

데이터 조회

인덱스 상태 분석

쿼리 실행 계획 확인

마이그레이션 결과 검증

데이터베이스 백업과 복구

다만 운영 데이터베이스에는 처음부터 쓰기 권한을 주기보다 읽기 전용 계정을 제공하는 것이 안전하다.

필요한 작업만 별도 승인 후 실행하도록 구성할 수 있다.

Prisma CLI

Prisma를 사용하는 프로젝트에서는 다음 명령이 자주 사용된다.

npx prisma generate
npx prisma migrate dev
npx prisma migrate deploy
npx prisma db pull
npx prisma db push
npx prisma studio

AI가 Prisma 스키마를 수정한 뒤 마이그레이션을 생성하고, 타입을 다시 만든 다음 빌드 테스트까지 이어서 수행할 수 있다.

예를 들면 다음과 같다.

주문 테이블에 배송 상태 필드를 추가하고 마이그레이션을 생성해줘. 기존 코드의 타입 오류까지 수정한 뒤 테스트해줘.

단, prisma db push는 마이그레이션 기록 없이 DB 구조를 직접 변경할 수 있으므로 운영 환경에서는 신중하게 사용해야 한다.

5. 애플리케이션 개발과 테스트

Node.js 패키지 도구 — npm, pnpm, npx

pnpm install
pnpm dev
pnpm build
pnpm lint
pnpm test
npx prisma migrate deploy

AI 코딩 에이전트가 코드를 수정한 뒤 직접 의존성을 설치하고 빌드, 린트, 테스트를 실행할 수 있다.

코드만 생성하고 끝나는 것이 아니라 실제로 실행 가능한 상태인지 확인할 수 있다는 점이 중요하다.

API 테스트 — curl

curl https://api.example.com/health

POST 요청도 직접 테스트할 수 있다.

curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"홍길동"}'

AI는 API 응답 코드와 JSON 결과를 보고 오류 원인을 분석할 수 있다.

JSON 처리 — jq

curl https://api.example.com/users | jq

필요한 데이터만 추출할 수도 있다.

curl https://api.example.com/users | jq '.data[] | {id, name}'

클라우드 CLI나 API는 JSON 형태로 결과를 반환하는 경우가 많기 때문에 jq는 AI 자동화에서 매우 유용하다.

코드 검색 — rg

rg는 ripgrep의 명령어로, 프로젝트 내부 텍스트를 빠르게 검색한다.

rg "DATABASE_URL"
rg "TODO|FIXME" src/
rg "console.log" .

AI는 특정 환경변수를 사용하는 파일이나 수정이 필요한 코드를 빠르게 찾을 수 있다.

파일 검색 — fd

fd "schema"
fd "\.tsx$" src
fd "docker-compose"

find보다 사용법이 단순하고 결과가 읽기 쉬워 AI가 사용하기 좋다.

브라우저 자동 테스트 — Playwright

npx playwright test
npx playwright test --ui
npx playwright codegen https://example.com

Playwright를 연결하면 AI가 실제 브라우저를 사용해 다음 작업을 테스트할 수 있다.

로그인

회원가입

버튼 클릭

입력 폼 제출

모바일 화면 검수

스크린숏 촬영

결제 흐름 확인

관리자 화면 테스트

업무 시스템이나 SaaS를 개발할 때는 코드 빌드 성공만으로 충분하지 않다.

실제 사용자의 행동을 AI가 직접 재현하게 하면 품질 검수가 훨씬 강력해진다.

웹 성능과 SEO — Lighthouse

npx lighthouse https://example.com

AI가 Lighthouse 결과를 분석해 다음 항목을 개선할 수 있다.

페이지 로딩 성능

접근성

SEO

웹 표준

Core Web Vitals 관련 문제

6. 인프라를 코드로 관리하기

Terraform

terraform init
terraform plan
terraform apply
terraform state list
terraform destroy

Terraform을 사용하면 서버, 네트워크, 데이터베이스, DNS 같은 인프라를 코드로 관리할 수 있다.

AI는 Terraform 설정 파일을 수정하고 변경 예정 내용을 확인하는 terraform plan까지 수행할 수 있다.

다만 다음 명령은 반드시 사람의 승인을 거치게 하는 것이 좋다.

terraform apply
terraform destroy

특히 destroy는 실제 인프라를 삭제할 수 있다.

Kubernetes — kubectl

kubectl get pods
kubectl get deployments
kubectl logs app-pod
kubectl describe pod app-pod
kubectl rollout restart deployment/app
kubectl apply -f deployment.yaml

AI가 Kubernetes CLI를 사용하면 다음 작업이 가능하다.

비정상 Pod 확인

컨테이너 로그 분석

배포 상태 확인

특정 서비스 재시작

YAML 설정 적용

장애 원인 조사

서버가 한두 대이고 Docker Compose로 충분한 단계에서는 Kubernetes가 과할 수 있다.

서비스 규모가 커지고 여러 서버를 함께 운영해야 할 때 고려하는 것이 좋다.

7. 이미지와 영상 자동화

FFmpeg

FFmpeg는 영상과 음성을 터미널에서 처리하는 대표적인 도구다.

ffmpeg -i input.mp4 output.mp3
ffmpeg -i input.mp4 -vf scale=1920:1080 output.mp4

영상과 음성을 합칠 수도 있다.

ffmpeg -i video.mp4 -i narration.mp3 \
-c:v copy -c:a aac -shortest output.mp4

AI가 FFmpeg를 사용하면 다음 작업을 자동화할 수 있다.

영상 자르기

여러 영상 연결

음성 추출

AI 음성과 영상 합치기

자막 삽입

해상도 변경

파일 압축

썸네일 추출

포맷 변환

무음으로 촬영한 화면 영상에 AI 내레이션을 만들어 넣는 작업도 FFmpeg로 자동화할 수 있다.

ImageMagick — magick

magick input.png -resize 1200x output.webp
magick input.jpg -quality 80 output.jpg
magick *.png output.pdf

AI가 ImageMagick을 사용하면 다음 작업을 수행할 수 있다.

이미지 크기 변경

포맷 변환

이미지 압축

여러 이미지 합치기

워터마크 삽입

썸네일 일괄 생성

8. AI 전용 업무 CLI 만들기

기존 CLI만 연결하는 것보다 더 강력한 방법도 있다.

회사 업무에 맞는 전용 CLI를 직접 만드는 것이다.

예를 들어 개발 스튜디오에서 다음과 같은 명령어를 만들 수 있다.

duolabs leads search --industry printing
duolabs leads import leads.csv
duolabs mail draft --lead-id 103
duolabs project create --customer customer-a
duolabs deploy customer-a
duolabs invoice create --project 27

내부적으로는 API나 데이터베이스를 호출하지만, AI 입장에서는 정해진 명령어만 사용하면 된다.

전용 CLI를 만들면 다음과 같은 장점이 있다.

AI가 내부 시스템 구조를 모두 알 필요가 없다.

허용된 업무만 실행하게 만들 수 있다.

잘못된 데이터베이스 쿼리를 줄일 수 있다.

명령 실행 기록을 남기기 쉽다.

고객별 배포 절차를 표준화할 수 있다.

반복 업무를 하나의 명령으로 통합할 수 있다.

예를 들어 고객사 배포 절차가 복잡하더라도 다음 한 줄로 감쌀 수 있다.

duolabs deploy customer-a

실제 명령 내부에서는 다음 작업이 순서대로 진행될 수 있다.

Git 변경사항 확인

테스트 실행

Docker 이미지 빌드

데이터베이스 백업

마이그레이션 실행

운영 서버 배포

상태 확인

실패 시 이전 버전 복구

이렇게 구성하면 AI가 직접 여러 운영 명령을 조합하는 것보다 훨씬 안전하다.

9. 추천 CLI 구성

Next.js, PostgreSQL, Prisma, Docker, Cloudflare를 사용하는 소규모 개발팀이나 AI 개발 스튜디오라면 다음 구성을 우선 추천할 수 있다.

sh
git
gh
pnpm
curl
jq
rg
fd
docker
docker compose
ssh
rsync
psql
prisma
wrangler
aws
playwright
lighthouse
ffmpeg

이 도구들을 연결하면 AI는 다음 흐름을 처리할 수 있다.

요구사항 확인
→ 코드 검색
→ 코드 수정
→ 린트와 테스트
→ DB 마이그레이션 생성
→ 브라우저 자동 테스트
→ Docker 이미지 빌드
→ Git 커밋
→ Pull Request 생성
→ 서버 배포
→ Cloudflare 설정 변경
→ 로그 확인
→ 오류 발생 시 롤백

10. AI에게 모든 권한을 주면 안 되는 이유

AI가 CLI를 사용할 수 있다고 해서 모든 명령을 자유롭게 실행하도록 해서는 안 된다.

특히 다음 작업은 별도 승인 대상으로 두는 것이 좋다.

운영 데이터 삭제

운영 DB 스키마 변경

서버 전체 종료

관리자 권한 사용

방화벽 변경

DNS 변경

결제 관련 작업

비밀키 조회

강제 Git Push

클라우드 리소스 삭제

위험한 명령의 예시는 다음과 같다.

rm -rf
git reset --hard
git push --force
docker system prune -a
terraform destroy
kubectl delete
DROP DATABASE

권장되는 권한 구조는 다음과 같다.

1단계: 읽기 권한

로그 조회

서버 상태 확인

DB 조회

Git 변경사항 확인

2단계: 개발 환경 쓰기 권한

코드 수정

테스트 실행

개발 DB 마이그레이션

프리뷰 배포

3단계: 운영 작업 승인

운영 배포

운영 DB 변경

DNS 수정

서버 재시작

4단계: 고위험 작업 별도 승인

데이터 삭제

서버 삭제

인프라 제거

강제 롤백

권한 정책 변경

AI에게는 가능한 한 최소한의 권한만 제공하고, 위험한 작업은 사람이 최종 승인하는 구조가 바람직하다.

마무리

AI가 사용할 수 있는 전용 CLI가 따로 존재하는 것은 아니다.

사람이 터미널에서 사용할 수 있고 실행 결과가 텍스트나 JSON으로 반환되는 CLI라면 대부분 AI도 사용할 수 있다.

오히려 AI에게는 GUI보다 CLI가 더 적합하다.

현재 상태를 텍스트로 정확하게 확인할 수 있다.

실행할 명령이 명확하다.

반복 작업을 자동화하기 쉽다.

실행 기록을 남길 수 있다.

권한 범위를 세밀하게 제한할 수 있다.

앞으로 AI 개발 에이전트의 경쟁력은 단순한 코드 생성 능력보다, 얼마나 많은 실제 도구와 안전하게 연결되어 있는가에 따라 달라질 가능성이 크다.

Git, Docker, 데이터베이스, 클라우드, 브라우저 테스트, 배포 도구를 연결하면 AI는 단순한 코딩 도우미가 아니라 실제 개발팀의 일부처럼 일할 수 있다.

그리고 회사 내부 업무를 전용 CLI로 표준화하면, AI는 개발뿐 아니라 영업, 고객 관리, 배포, 운영까지 담당하는 실행형 에이전트로 확장될 수 있다.