nchime avatar
곽선생 Tech Blog
Published on

왜 개발자 도구는 CLI로 돌아가고 있는가?

1. 서론

최근 개발자 도구 생태계에서 눈에 띄는 변화가 일어나고 있습니다. 수년간 에디터(IDE) 중심으로 발전해왔던 개발자 도구들이 하나둘 CLI 환경으로 출시되고 있습니다. GitHub Copilot, Claude Code, Cursor 등 에디터 기반 AI 코딩 도구가 주목을 받던 것과 대조적으로, 2025년 말부터 2026년에 이르러 CLI 기반 도구들이 폭발적인 인기를 얻고 있습니다.

대표적인 예로 OpenAI의 Codex CLI, Anthropic의 Claude Code CLI, Google의 Gemini CLI 등 주요 AI 기업들이 앞다투어 CLI 기반 코딩 에이전트를 출시하고 있습니다. 과연 왜 개발자 도구들이 CLI 환경으로 회귀하고 있는 것일까요?


2. 에디터 중심 도구가 CLI로 출시되는 이유

2.1 에이전트 시대의 필연적인 귀결

가장 큰 이유는 AI 에이전트 시대의 도래입니다. 에디터 중심의 AI 도구는 본질적으로 "사용자가 코드를 편집하는 동안 옆에서 보조하는" 역할을 했습니다. 하지만 AI 에이전트는 "사용자를 대신해 코드를 작성하고, 테스트하고, 배포하는" 자율적인 역할을 수행합니다.

에이전트는 수십, 수백 번의 파일 읽기/쓰기/편집 작업을 자동으로 반복해야 합니다. 이러한 작업은 GUI의 마우스 클릭이나 메뉴 선택보다 CLI에서 훨씬 효율적으로 수행됩니다. 스크립트 실행, 파이프라인 구성, 멀티 에이전트 오케스트레이션 등은 CLI 환경에서 자연스럽게 이루어집니다.

2.2 원격 개발 환경과의 자연스러운 결합

클라우드 기반 개발 환경(GitHub Codespaces, Gitpod, AWS Cloud9 등)이 보편화되면서, CLI 기반 도구는 SSH나 터미널을 통해 어디서든 접근할 수 있는 이점을 가집니다. 반면 에디터 기반 도구는 특정 IDE의 플러그인으로 제공되는 경우가 많아, 원격 환경에서의 사용이 제한적이었습니다.

2.3 자동화와 CI/CD 파이프라인 통합

CLI 도구는 기존의 CI/CD 파이프라인과 자연스럽게 통합됩니다. GitHub Actions, GitLab CI, Jenkins 등에서 codex --approval-mode full-auto와 같은 커맨드 하나로 AI 코딩 에이전트를 실행할 수 있습니다. 반면 에디터 기반 도구는 GUI 상호작용이 필요하여 자동화 파이프라인에 포함시키기 어렵습니다.

2.4 개발자 경험(DX)의 재정의

CLI 도구들은 현대적인 UX를 제공하는 데 주력하고 있습니다. 단순한 텍스트 출력이 아니라 TUI(Terminal User Interface)를 활용해 대화형 인터페이스, 실시간 진행 상황 표시, 색상 코딩 등을 제공합니다. React Ink와 같은 라이브러리를 활용해 터미널에서도 에디터 못지않은 풍부한 사용자 경험을 제공하고 있습니다.

2.5 비용과 접근성

CLI 도구는 에디터 플러그인에 비해 상대적으로 낮은 비용으로 개발되고 배포됩니다. 하나의 CLI 바이너리가 여러 에디터(VS Code, JetBrains, Neovim 등)와 독립적으로 동작하므로, 플러그인 호환성 문제를 해결할 수 있습니다. 또한 라이선스 비용 없이 오픈소스로 제공되는 경우가 많아 접근성이 높습니다.


3. 주요 CLI 도구 사례

3.1 AI 코딩 에이전트

  • OpenAI Codex CLI: 터미널에서 AI 모델을 활용해 코드 생성, 리팩토링, 테스트 작성을 수행하는 CLI 도구입니다. codex 커맨드 하나로 프로젝트 전체를 분석하고 수정할 수 있습니다.
  • Claude Code: Anthropic에서 제공하는 CLI 기반 코딩 에이전트로, 파일 시스템 접근, Git 작업, 테스트 실행 등을 터미널에서 직접 수행합니다.
  • Gemini CLI: Google에서 출시한 Gemini 기반 CLI 코딩 도구로, 멀티모달 입력과 강력한 코드 분석 기능을 제공합니다.

3.2 인프라 및 DevOps 도구

  • k9s: Kubernetes 클러스터를 CLI에서 실시간으로 관리하는 도구입니다. kubectl의 복잡한 커맨드를 직관적인 TUI로 대체하여 클러스터 모니터링, 리소스 관리, 로그 확인 등을 간편하게 수행합니다.
  • Terraform CLI: 인프라를 코드로 관리하는 도구로, CLI를 통해 인프라 프로비저닝, 상태 관리, 변경 계획 등을 수행합니다.
  • Pulumi CLI: 프로그래밍 언어를 사용해 인프라를 관리하는 CLI 도구로,ulumi up, pulumi destroy 등의 커맨드로 인프라 라이프사이클을 관리합니다.

3.3 데이터베이스 및 데이터 도구

  • pgcli: PostgreSQL CLI 클라이언트로, 자동 완성, 구문 강조, 멀티라인 편집 등의 기능을 제공합니다.
  • mycli: MySQL/MariaDB용 CLI 도구로, PostgreSQL의 pgcli와 유사한 기능을 제공합니다.
  • litecli: SQLite용 CLI 도구로, 터미널에서 데이터베이스를 편리하게 관리할 수 있게 해줍니다.

3.4 모던 Unix 유틸리티

최근에는 전통적인 Unix 유틸리티의 현대적인 대체 도구들이 주목받고 있습니다:

  • ripgrep (rg): grep의 현대적인 대체 도구로, 더 빠른 검색 속도와 직관적인 출력을 제공합니다.
  • fd: find의 대체 도구로, 더 간단한 구문과 빠른 성능을 자랑합니다.
  • bat: cat의 대체 도구로, 구문 강조와 Git 통합 기능을 제공합니다.
  • exa/eza: ls의 대체 도구로, 컬러 출력과 Git 상태 표시 등의 기능을 추가합니다.
  • delta: git diff의 대체 도구로, 더 나은 diffs 출력과 구문 강조를 제공합니다.

3.5 패키지 관리자

  • Homebrew: macOS와 Linux를 위한 패키지 관리자로, CLI를 통해 소프트웨어 설치, 업데이트, 관리를 수행합니다.
  • nvm/nodenv: Node.js 버전 관리 CLI 도구로, 프로젝트별 Node.js 버전을 관리합니다.
  • pyenv: Python 버전 관리 CLI 도구로, 여러 Python 버전을 관리하고 전환할 수 있게 해줍니다.

4. CLI 환경의 장점

4.1 속도와 효율성

CLI 도구는 GUI 도구에 비해 일반적으로 더 빠르게 동작합니다. 그래픽 렌더링 오버헤드가 없고, 메모리 사용량이 적으며, 대량의 데이터를 빠르게 처리할 수 있습니다. 스크립팅이 가능하므로 반복적인 작업을 자동화할 수 있습니다.

4.2 원격 접근성

SSH를 통해 어디서든 CLI 도구에 접근할 수 있습니다. 원격 서버, 클라우드 인스턴스, 컨테이너 등에서 GUI를 사용하기 어려운 환경에서도 CLI 도구는 원활하게 동작합니다.

4.3 스크립팅과 자동화

CLI 도구는 쉘 스크립트, Makefile, CI/CD 파이프라인 등과 자연스럽게 통합됩니다. 여러 도구를 파이프(|)로 연결하거나, 리다이렉션을 활용해 복잡한 워크플로우를 구현할 수 있습니다.

4.4 리소스 효율성

CLI 도구는 GUI 도구에 비해 훨씬 적은 CPU와 메모리를 사용합니다. 특히 대규모 프로젝트나 리소스가 제한된 환경에서 significant한 이점을 제공합니다.

4.5 버전 관리와 재현성

CLI 도구의 설정 파일과 스크립트는 Git과 같은 버전 관리 시스템으로 관리할 수 있습니다. 이를 통해 팀원 간 설정 공유, 화면 재현, 코드 리뷰 등을 용이하게 할 수 있습니다.

4.6 확장성과 커스터마이징

CLI 도구는 일반적으로 플러그인 시스템, 환경 변수, 설정 파일 등을 통해 높은 수준의 커스터마이징을 제공합니다. 개발자의 워크플로우에 맞게 도구를 유연하게 조정할 수 있습니다.


5. 향후 CLI 기반 오픈소스의 전망과 발전 방향

5.1 AI 통합의 가속화

CLI 도구들의 AI 통합은 더욱 가속화될 것입니다. 현재의 AI 코딩 에이전트(Codex CLI, Claude Code, Gemini CLI)를 시작으로, 데이터베이스 관리, 인프라 배포, 모니터링 등 거의 모든 CLI 도구에 AI 기능이 통합될 것으로 예상됩니다. 예를 들어, Terraform CLI에 AI가 자동으로 인프라 아키텍처를 제안하거나, k9s에 AI가 실시간으로 클러스터 이상을 진단하는 기능이 추가될 수 있습니다.

5.2 멀티 에이전트 오케스트레이션

CLI 환경은 여러 AI 에이전트를 동시에 실행하고 관리하는 데 적합합니다. 향후에는 하나의 CLI 인터페이스를 통해 코딩 에이전트, 테스트 에이전트, 배포 에이전트 등이 협업하는 멀티 에이전트 시스템이 보편화될 것입니다.

5.3 TUI의 진화

터미널 사용자 인터페이스(TUI)는 계속해서 발전할 것입니다. React Ink, Bubble Tea, Textual 등의 프레임워크를 통해 터미널에서도 에디터 못지않은 풍부한 인터페이스를 제공하는 도구들이 증가할 것입니다. AI 기반 대화형 인터페이스도 TUI의 중요한 발전 방향 중 하나입니다.

5.4 클라우드 네이티브 CLI

클라우드 네이티브 환경에서의 CLI 도구 사용은 더욱 확대될 것입니다. Kubernetes, Docker, Serverless 등의 클라우드 기술과 자연스럽게 통합되는 CLI 도구들이 개발될 것이며, 멀티 클라우드 환경을 통합 관리하는 CLI 도구도 주목받을 것입니다.

5.5 오픈소스 생태계의 확장

CLI 기반 오픈소스 프로젝트의 생태계는 계속해서 확장될 것입니다. GitHub의 cli-tools 토픽에만 739개 이상의 공개 레포지토리가 등록되어 있으며, 이 수는 지속적으로 증가하고 있습니다. Rust, Go, TypeScript 등의 언어로 작성된 고성능 CLI 도구들이 오픈소스 커뮤니티에서 활발하게 개발되고 있습니다.

5.6 보안과 거버넌스

CLI 도구의 보안과 거버넌스도 중요한 발전 방향입니다. AI 에이전트의 자율적인 코드 수정 작업을 안전하게 관리하기 위한 거버넌스 프레임워크, 감사 로깅, 접근 제어 등의 기능이 CLI 도구에 통합될 것입니다.


6. 결론

CLI 환경으로의 회귀는 단순한 유행이 아닙니다. AI 에이전트 시대, 클라우드 네이티브 개발, 자동화 워크플로우 등의 기술적 변화에 따른 자연스러운 진화입니다. CLI 도구들은 에디터 도구와 상호 보완적인 관계를 형성하며, 개발자 생태계에서 핵심적인 역할을 수행하고 있습니다.

향후에는 AI와의 더 깊은 통합, TUI의 발전, 클라우드 네이티브 환경과의 결합 등을 통해 CLI 기반 도구들은 더욱 강력하고 편리하게 발전할 것입니다. 개발자들은 CLI 도구의 장점을 활용해 더 효율적이고 자동화된 개발 워크플로우를 구축할 수 있을 것입니다.

CLI는 죽지 않았습니다. 오히려 새로운 활력을 얻어 개발자 도구의 미래를 이끌어가고 있습니다.


참고 자료