TrendShift · Agent CLI Infrastructure

CLI-Anything — 모든
소프트웨어를 AI의 손에

GIMP·Blender·LibreOffice·OBS… 어떤 GUI 소프트웨어든 7단계 파이프라인으로 에이전트가 다룰 수 있는 CLI로 자동 변환한다.

HKUDS/CLI-Anything · Python · 43k★ · 4k fork 2026-05-20 · TrendShift #13
00 — 들어가며Context

먼저, "AI가 진짜 도구를 못 쓴다"는 게 무슨 말?

에이전트가 직면한 인터페이스 절벽.

2026년 현재 AI 에이전트는 코드는 잘 쓰고 글도 잘 짓는다. 하지만 Blender로 3D 모델을 만들거나 GIMP로 포스터를 디자인하는 실제 전문 도구는 거의 못 다룬다. 이유는 단순하다 — 이 도구들은 사람이 마우스로 클릭하는 GUI로 만들어졌고, 에이전트는 키보드로 명령어를 치는 CLI밖에 못 쓰기 때문이다.

기존 해결책은 모두 한계가 있었다. RPA(스크린샷 클릭)는 해상도만 바뀌어도 깨지고, 각 앱의 공식 API는 기능의 10%만 노출하고, "AI용 GIMP-lite" 같은 재구현은 실무에 못 쓴다. CLI-Anything은 "실제 소프트웨어를 그대로 두고, 그 위에 에이전트용 CLI 껍데기만 자동으로 씌우자"는 발상으로 이 문제를 정면 돌파한다.

Term · 용어
CLI (Command Line Interface, 명령어 인터페이스)
마우스로 클릭하는 GUI 대신, 키보드로 명령어를 쳐서 프로그램을 다루는 방식. 패스트푸드 키오스크가 GUI라면, "콜라 라지 하나 주세요" 한마디가 CLI다. AI 에이전트는 결정적이고 파이프로 연결 가능한 CLI를 압도적으로 선호한다.
Term · 용어
SKILL.md (스킬 메타파일)
AI 에이전트가 "이 도구는 무엇이고 어떻게 부르나"를 자동 발견하도록 만든 표준 파일. YAML 헤더 + 마크다운 본문 구조. Claude Code, OpenCode, OpenClaw, Codex 등이 공유하는 약속.
Term · 용어
HARNESS (하니스)
원래는 말에 매다는 마구. 여기서는 실제 소프트웨어 위에 씌우는 에이전트용 통제 장치를 비유한다. 각 앱마다 agent-harness/ 폴더가 있는 이유. HARNESS.md는 7단계 파이프라인의 단일 진실 공급원.
01 — 한 줄 요약TL;DR

이 프로젝트의 핵심 메시지

한 문장으로 줄이면.

Core Message

"Blender·GIMP·LibreOffice를 AI가 그대로 다루게 만들고 싶다 — /cli-anything ./blender 한 줄로 5~10분 안에 완전한 CLI 패키지가 나온다."

CLI-Anything은 GUI 소프트웨어를 AI 에이전트가 다룰 수 있는 CLI로 자동 변환해주는 "에이전트 어댑터 공장"이다. 사람은 식당에서 메뉴판을 보고 손짓으로 주문할 수 있지만, 전화 주문만 받는 친구(AI 에이전트)는 메뉴판을 못 본다. CLI-Anything은 그 친구를 위해 메뉴를 전화 주문 양식(CLI 명령)으로 자동 번역해주는 통역사 역할이다.

핵심은 — 18개 이상의 실제 앱에 적용해 2,461개 테스트 100% 통과로 검증됐고, 생성물은 JSON 출력·REPL 모드·단위/E2E 테스트까지 포함된 완전한 Python 패키지라는 점. 홍콩대 Data Intelligence Lab(HKUDS) 작품.

02 — 왜 주목받는가Why now

2026년 5월, 트렌딩 13위에 오른 이유

기존 한계 + 경쟁 우위 + 생태계 야심.

이유 1 — "AI가 진짜 도구를 못 쓴다"는 근본 문제 정면 돌파

기존 세 가지 해결책은 모두 부족했다. CLI-Anything의 답은 단순하다 — 흉내내지 말고 진짜를 부르자.

기존 방식치명적 문제
GUI 자동화 (RPA)스크린샷 보고 클릭 — 화면 해상도·테마만 바뀌어도 깨짐
각 앱별 공식 APIAPI 자체가 없거나, 있어도 기능의 10%만 노출
다운그레이드된 재구현"AI용 GIMP-lite" 같은 장난감 — 실무에 못 씀

CLI-Anything은 Blender는 그대로 Blender를 부르고, LibreOffice는 그대로 LibreOffice를 호출한다. 기능 손실 0%, 호환성 100% — 이게 진짜 차별점이다.

이유 2 — 7단계 파이프라인으로 재현 가능한 결과

비슷한 시도(예: 단순 LLM 프롬프트 자동 생성)는 결과 품질이 들쭉날쭉했다. CLI-Anything은 7단계를 고정 SOP(Standard Operating Procedure)로 박아넣어 HARNESS.md 한 파일로 표준화했다. 18개 이상의 앱에 적용해 2,461개 테스트 100% 통과라는 검증된 메트릭이 가능해진 이유다.

이유 3 — "에이전트 시대의 운영체제"를 노리는 야심

홈페이지 슬로건이 인상적이다 — "Today's Software Serves Humans. Tomorrow's Users will be Agents." (오늘의 소프트웨어는 사람을 위한 것, 내일의 사용자는 에이전트). 별도로 CLI-Hub라는 npm/PyPI 같은 중앙 레지스트리를 운영해서 cli-hub install 한 줄로 누가 만든 CLI든 가져다 쓸 수 있게 했다. 생태계를 노리는 그림이다.

경쟁 비교

비교 대상한계CLI-Anything의 우위
Browser-Use / OS-Atlas픽셀 클릭 기반 GUI 자동화 — 깨지기 쉬움명령어 호출 — 안정성·속도 압승
LangChain Tools사람이 매번 도구 wrapper 직접 작성코드베이스만 던지면 끝
단순 MCP 서버플랫폼별 따로 작성SKILL.md까지 자동 생성, 다중 플랫폼 동시 지원
03 — 기술 스택Stack

전체 기술 지도

코어 · 에이전트 통합 · 백엔드 어댑터 · 출력 포맷.

코어 (Python 생태계)

언어 & CLI 프레임워크

  • Python 3.10+ — 모든 생성 CLI의 베이스 언어. 타입 힌트, match-case 등 신문법 활용
  • Click 8.0+ — Flask 만든 사람이 만든 CLI 프레임워크. 데코레이터 기반, --help 자동 생성
  • Jinja2 — SKILL.md, setup.py 등 보일러플레이트 템플릿 렌더링
  • setuptools / pip — 패키지 빌드. pip install -e .로 PATH 자동 등록

테스트 & 인터랙션

  • Pytest — 단위 + E2E + subprocess 3중 검증. 100% 통과 강제
  • ReplSkin (자체 모듈) — 16개 CLI가 공유하는 통합 REPL. 배너·프롬프트·진행률·히스토리 일관 제공

AI 에이전트 통합 계층

같은 기능을 다섯 플랫폼에 동시 배포한다. 어댑터 패턴의 모범 사례.

플랫폼통합 방식설치 명령
Claude Code플러그인 마켓플레이스/plugin install cli-anything
OpenCode커스텀 슬래시 커맨드cp opencode-commands/*.md ~/.config/opencode/
OpenClawSKILL.md 기반 스킬cp openclaw-skill/SKILL.md ~/.openclaw/skills/
Codex스킬 패키지bash codex-skill/scripts/install.sh
Qodercli플러그인 등록bash qoder-plugin/setup-qodercli.sh
GooseCLI provider 경유Claude Code provider 설정 후 사용

백엔드 어댑터 — 진짜 소프트웨어와의 연결

이게 CLI-Anything의 진짜 노하우다. 각 앱마다 다른 방식으로 진짜 프로그램을 부른다.

소프트웨어백엔드 호출 방식
GIMPPillow + GEGL/Script-Fu 스크립트 주입
Blenderbpy Python API (Blender 내장 인터프리터)
InkscapeSVG/XML 직접 조작 (Inkscape 호출 없이도 동작)
LibreOfficeODF 파일 생성 + libreoffice --headless 변환
OBS Studioobs-websocket 프로토콜 + JSON 씬 파일
Kdenlive / ShotcutMLT XML 직접 작성 + melt 렌더러
ZoomZoom REST API + OAuth2
Ollama / AdGuardREST API 래핑
ComfyUIComfyUI REST API 호출

출력 / 통신 포맷

  • JSON 모드--json 플래그로 모든 명령이 구조화 출력. 에이전트 소비용
  • 휴먼 모드 — 컬러 테이블, ASCII 로고. 사람이 디버깅할 때 가독성
  • SKILL.md — 각 CLI마다 자동 생성. 에이전트가 첫 진입 시 자동 발견
04 — 아키텍처Design

시스템 구조와 5가지 설계 패턴

전체 구조도 → 핵심 패턴 → 7단계 파이프라인.

시스템 구조도

┌─────────────────────────────────────────────────────────────────┐
│                  사용자 (개발자) — Claude Code 등                 │
└───────────────────────────┬─────────────────────────────────────┘
                            │ /cli-anything ./gimp
                            ▼
┌─────────────────────────────────────────────────────────────────┐
│           CLI-Anything Plugin (HARNESS.md SOP)                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │  7-Phase Auto Pipeline                                    │   │
│  │  1 Analyze  → 2 Design → 3 Implement → 4 Plan Tests       │   │
│  │  5 Write Tests → 6 Document → 6.5 SKILL.md → 7 Publish    │   │
│  └──────────────────────────────────────────────────────────┘   │
└───────────────────────────┬─────────────────────────────────────┘
                            │ generates
                            ▼
┌─────────────────────────────────────────────────────────────────┐
│         agent-harness/  (생성된 Python 패키지)                    │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐   │
│  │ Click CLI   │ │ ReplSkin    │ │ Backend Adapter         │   │
│  │ (commands)  │ │ (REPL UI)   │ │ (bpy / API / XML 조작)  │   │
│  └─────────────┘ └─────────────┘ └────────────┬────────────┘   │
│                                                │                 │
│  ┌─────────────────────────────────┐           │                 │
│  │ Tests (단위/E2E/subprocess)     │           │                 │
│  └─────────────────────────────────┘           │                 │
│  ┌─────────────────────────────────┐           │                 │
│  │ SKILL.md (에이전트 자동 발견용) │           │                 │
│  └─────────────────────────────────┘           │                 │
└─────────────────────────────────────────────────┼─────────────────┘
                                                  ▼
                              ┌──────────────────────────┐
                              │   실제 소프트웨어 백엔드   │
                              │  (Blender / GIMP / OBS…) │
                              └──────────────────────────┘

패턴 1 — Authentic Software Integration (정통 통합)

"흉내내지 않고 진짜를 부른다." LibreOffice CLI가 PDF를 만들 때 실제 LibreOffice 바이너리를 headless 모드로 호출한다. 그래서 백엔드가 없으면 테스트가 skip이 아니라 fail 된다 — 가짜 기능을 못 만들게 강제하는 설계 철학.

패턴 2 — Dual Interaction Mode (이중 인터랙션)

같은 CLI가 두 가지 모드로 동작한다.

패턴 3 — Stateful Project File (상태 외부화)

모든 작업은 프로젝트 파일(JSON)에 저장된다. --project report.json으로 같은 상태를 여러 명령이 공유. 덕분에 undo/redo, 세션 복원, 병렬 작업 모두 가능해진다.

패턴 4 — Agent-Native I/O (에이전트 우선 입출력)

--json 플래그 하나로 모든 출력을 머신 친화적 형식으로 전환. 에이전트는 --helpwhich 표준 명령만으로 능력을 발견한다.

패턴 5 — Zero-Config Discoverability (자동 발견)

pip install -e .만 하면 PATH에 자동 등록되고, 각 패키지 안의 SKILL.md가 REPL 배너에 절대경로로 표시되어 에이전트가 "스킬 파일이 여기 있다"는 걸 즉시 안다.

Trap · 함정
"AI용 lite 버전"을 다시 만들기

"Blender를 AI가 못 쓰니까, AI 친화적인 미니 3D 도구를 새로 만들자"는 유혹. 그러면 결국 진짜 Blender의 기능 10%짜리 장난감이 되고, 사용자는 결과물의 품질에 실망한다.

Fix · 해결책
진짜 백엔드를 그대로 부른다

CLI-Anything은 GUI는 잘라내고 CLI 껍데기만 새로 씌운다. Blender의 모든 기능을 bpy API로 그대로 부르고, LibreOffice는 --headless로 실제 바이너리를 호출한다. 기능 손실 0%.

7단계 자동 파이프라인 상세

Phase이름하는 일
Phase 1Analyze소스코드 스캔, GUI 액션 → API 매핑, 의존성 파악
Phase 2Design명령 그룹·상태 모델·출력 포맷 아키텍처 설계
Phase 3ImplementClick CLI 작성, REPL/JSON/undo-redo 구현
Phase 4Plan TestsTEST.md에 단위+E2E 테스트 계획 명시
Phase 5Write Tests실제 테스트 코드 작성 + 진짜 백엔드로 검증
Phase 6DocumentTEST.md에 결과 업데이트, README 정리
Phase 6.5SKILL.mdClick 데코레이터에서 메타데이터 추출 → 에이전트용 스킬 파일
Phase 7Publishsetup.py 생성, pip install로 PATH 등록
05 — 디렉토리Repo map

레포 구조 해부

어디에 뭐가 있는지.

cli-anything/
├── cli-anything-plugin/         # Claude Code 플러그인 본체
│   ├── HARNESS.md               #   7단계 SOP "성경"
│   ├── repl_skin.py             #   모든 CLI가 공유하는 REPL UI
│   ├── commands/                #   슬래시 커맨드 정의
│   │   ├── cli-anything.md      #     메인 빌드 커맨드
│   │   ├── refine.md            #     점진적 개선
│   │   ├── test.md              #     테스트 실행
│   │   └── validate.md          #     표준 준수 검증
│   └── scripts/
│
├── codex-skill/                 # Codex용 어댑터
├── openclaw-skill/              # OpenClaw용 SKILL.md
├── opencode-commands/           # OpenCode 슬래시 커맨드
├── qoder-plugin/                # Qodercli 플러그인
│
├── gimp/agent-harness/          # 16개 앱 어댑터 (각각 별도)
├── blender/agent-harness/
├── inkscape/agent-harness/
├── audacity/agent-harness/
├── libreoffice/agent-harness/
├── obs-studio/agent-harness/
├── kdenlive/agent-harness/
├── shotcut/agent-harness/
├── zoom/agent-harness/
├── drawio/agent-harness/
├── mermaid/agent-harness/
├── anygen/agent-harness/
├── comfyui/agent-harness/
├── notebooklm/agent-harness/
├── adguardhome/agent-harness/
├── ollama/agent-harness/
├── mubu/agent-harness/
│
├── docs/hub/                    # CLI-Hub 정적 페이지
├── skill_generation/tests/      # SKILL.md 생성기 테스트
├── registry.json                # CLI-Hub 중앙 레지스트리
├── CONTRIBUTING.md              # 새 앱 추가 가이드
└── README.md / _CN / _JA        # 다국어 README

agent-harness/ 내부 표준 구조

{software}/agent-harness/
├── cli_anything/{software}/     # 실제 Python 패키지
│   ├── cli.py                   #   Click 엔트리포인트
│   ├── core/                    #   도메인 로직
│   ├── utils/
│   │   ├── repl_skin.py         #     공통 REPL (복사본)
│   │   └── backend.py           #     백엔드 어댑터 (앱별 다름)
│   ├── skills/SKILL.md          #   자동 생성된 에이전트 스킬
│   └── tests/
│       ├── test_core.py         #   단위 테스트
│       ├── test_e2e.py          #   진짜 백엔드 호출 테스트
│       └── test_cli.py          #   subprocess.run 검증
├── setup.py                     # pip 패키지 정의
├── README.md
└── TEST.md                      # 테스트 계획 + 결과
Analogy · 관전 포인트

HARNESS.md가 단순 README가 아니라 LLM에게 던지는 실행 명세서다. "Skill-as-Code" 패턴 — 이 파일 하나가 7단계 파이프라인의 단일 진실 공급원(SoT) 역할을 한다.

각 어댑터는 완전 독립된 Python 패키지라 하나만 골라 설치/배포 가능. registry.json은 CLI-Hub의 중앙 인덱스로, PR로 항목 하나 추가하면 Hub가 자동 업데이트된다.

06 — 학습 포인트What to learn

분야별 배울 것

기술 영역마다 무엇을 가져갈지.

Python Click 프레임워크

이 레포의 모든 CLI는 Click으로 작성된다. 데코레이터 기반 명령 그룹화, 자동 --help 생성, 타입 변환을 한 번에 익힐 수 있다.

import click

@click.group()
@click.option('--json', 'json_mode', is_flag=True, help='JSON 출력')
@click.pass_context
def cli(ctx, json_mode):
    ctx.obj = {'json': json_mode}

@cli.group()
def project():
    """프로젝트 명령 그룹"""

@project.command()
@click.option('--width', type=int, default=1920)
@click.option('--height', type=int, default=1080)
@click.option('-o', '--output', required=True)
def new(width, height, output):
    """새 프로젝트 생성"""
    click.echo(f"Created {width}x{height} project: {output}")

실습 아이디어: 자주 쓰는 도구 하나(가계부 엑셀, 자동 SSH 접속)를 Click 기반 CLI로 만들어보기. --json 플래그도 같이.

SKILL.md / 에이전트 스킬 시스템

Claude Code, OpenCode, Codex 등 모던 AI 에이전트는 "SKILL.md"라는 표준 파일로 능력을 발견한다. CLI-Anything은 이걸 코드 메타데이터에서 자동 추출해준다.

---
name: cli-anything-gimp
description: GIMP 이미지 편집을 위한 에이전트 CLI
---

## Commands
- `cli-anything-gimp project new` — 새 이미지 생성
- `cli-anything-gimp layer add` — 레이어 추가

## Usage
사용자가 "포스터 만들어줘" 요청 시:
1. project new --width 1920 ...
2. layer add --type text ...

실습 아이디어: 본인의 작업 흐름 하나를 SKILL.md로 작성해보고 Claude Code에 install. 호출되는지 검증.

멀티 플랫폼 플러그인 배포 (어댑터 패턴)

같은 기능을 Claude Code 플러그인, OpenCode 커맨드, OpenClaw 스킬, Codex 스킬, Qodercli 플러그인 다섯 곳에 동시 배포하는 방법을 보여준다. 각 플랫폼의 인터페이스 차이를 추상화하는 어댑터 패턴을 코드로 학습할 수 있다.

3중 테스트 전략 (Pytest)

레이어역할대상
Unit로직 검증합성 데이터로 함수 단위
E2E (native)파일 포맷 검증ODF/MLT/SVG 등이 정상 생성되는가
E2E (true backend)진짜 호출실제 LibreOffice → PDF, Blender → PNG
CLI subprocess설치 검증subprocess.run("cli-anything-gimp --json ...")

실습 아이디어: 본인 프로젝트에 이 3중 구조 도입. 특히 "백엔드 없으면 fail" 패턴은 통합 테스트 신뢰도를 크게 올려준다.

setup.py / 패키지 자동 생성

Phase 7에서 Jinja2 템플릿으로 setup.py가 자동 생성된다. entry_pointscli-anything-{name} 명령을 PATH에 등록하는 패턴이 핵심.

REPL 인터페이스 설계 (ReplSkin)

16개 CLI가 모두 같은 룩앤필을 갖도록 한 모듈에 집중. prompt_toolkit, rich, ANSI 컬러로 통합 UX를 만드는 좋은 케이스 스터디다.

07 — 요구사항Setup

하드웨어·시스템 요구사항

의존성 + 운영체제별 주의.

항목요구사항비고
Python3.10 이상match-case 등 신문법 사용
Click8.0 이상그룹·서브커맨드 핵심 의존
AI 에이전트1개 이상Claude Code · OpenCode · OpenClaw · Codex · Qodercli 중
대상 소프트웨어설치 필수Blender CLI를 쓰려면 진짜 Blender가 깔려 있어야 함 (가짜 안 됨)
RAM일반 노트북CLI 자체는 가벼움 · 백엔드 앱의 요구사항을 따름
Trap · Windows 사용자 주의

Claude Code가 bash로 셸 명령을 실행하기 때문에 Windows에서는 Git for Windows(bash + cygpath 포함) 또는 WSL이 필수다. 그렇지 않으면 cygpath: command not found 에러로 실패한다.

08 — 실습 과제Hands-on

직접 해볼 수 있는 5단계

난이도별 실습 — Easy → Hard.

실습 1 — 기존 CLI 그대로 써보기Easy

1) pip install cli-anything-hub 2) cli-hub list로 카탈로그 탐색 3) 마음에 드는 앱(예: ollama) install 4) cli-anything-ollama --help로 명령 탐색 5) 본인 ollama 모델로 prompt 실행.

배우는 것: CLI-Hub 사용법, 자동 PATH 등록, JSON 출력 구조 (예상 30분)

실습 2 — Claude Code 플러그인으로 작은 레포 변환Easy

1) Claude Code에서 /plugin marketplace add HKUDS/CLI-Anything 2) /plugin install cli-anything 3) 본인이 만든 작은 Python 프로젝트를 /cli-anything ./내프로젝트로 변환 4) 생성된 HARNESS.mdSKILL.md 정독.

배우는 것: 7단계 파이프라인 실제 흐름, 자동 생성물의 구조 (예상 1시간)

실습 3 — 미지원 앱 어댑터 직접 작성Medium

1) blender/agent-harness/ 폴더를 복사 2) 본인이 좋아하는 앱(VS Code·Notion·Obsidian)에 맞게 수정 3) backend.py 호출 방식 결정 (REST API? 파일 직접? subprocess?) 4) 3중 테스트 작성 5) PR 양식(.github/PULL_REQUEST_TEMPLATE.md) 따라 본 레포에 PR 시도.

배우는 것: 어댑터 패턴 적용, 백엔드 호출 방식 선택 (예상 반나절~1일)

실습 4 — SKILL.md 자동 생성기 직접 작성Medium

1) skill_generation/ 폴더 정독 2) 본인의 Click CLI에서 데코레이터 메타데이터를 추출하는 코드 작성 3) Jinja2 템플릿으로 SKILL.md 렌더링 4) 51개 기존 테스트 케이스를 검증 기준으로 활용.

배우는 것: Click 내부 구조, 코드 메타데이터 자동 추출 (예상 1~2일)

실습 5 — 새 AI 에이전트 플랫폼용 어댑터 작성Hard

1) Cursor/Windsurf/Aider/Continue 중 본인이 자주 쓰는 도구 선정 2) opencode-commands/를 reference로 슬래시 커맨드 패턴 이식 3) 해당 플랫폼의 스킬·툴 정의 방식 분석 4) 5개 플랫폼 비교표 작성.

배우는 것: 멀티 플랫폼 추상화, 스킬 인터페이스 비교 분석 (예상 2~3일)

09 — 학습 로드맵8 weeks

8주 심화 학습 로드맵

주차별로 따라가면 CLI 패턴 마스터.

Week 01
Python CLI 기초

Click 공식 튜토리얼 완주, argparse와 비교 → 본인 도구 1개 CLI화. 그룹·서브커맨드·옵션 타입 변환 익히기.

Week 02
구조화 출력 패턴

JSON 출력 패턴, dataclasses + asdict(), Pydantic 입문 → 같은 명령이 휴먼/머신 모드 둘 다 지원하도록 구현.

Week 03
3중 테스트 전략

pytest 단위 → E2E → subprocess 흐름 직접 구현. fixture 패턴, "백엔드 없으면 fail" 정책 적용.

Week 04
패키지 배포

setup.py / pyproject.toml, entry_points로 PATH 등록, PyPI 첫 배포까지.

Week 05
REPL UI 만들기

prompt_toolkit, rich로 인터랙티브 셸 만들기 — CLI-Anything의 repl_skin.py 정독하고 본인 CLI에 이식.

Week 06
AI 에이전트 스킬

Anthropic Agent Skills, MCP 프로토콜, SKILL.md 작성법. 본인 도구에 YAML 헤더 추가하고 Claude Code에서 호출 검증.

Week 07
Claude Code 플러그인 개발

플러그인 마켓플레이스 구조, 슬래시 커맨드, 직접 플러그인 1개 빌드·배포.

Week 08
캡스톤 — 진짜 앱 변환

좋아하는 도구 1개를 CLI-Anything 패턴으로 처음부터 끝까지 변환 → 본 레포에 PR 제출.

10 — 키워드 사전Glossary

핵심 용어 한눈에

자주 마주칠 단어들.

CLI (Command Line Interface)
마우스로 클릭하는 GUI 대신, 키보드로 명령어를 쳐서 프로그램을 다루는 인터페이스. 비유: 키오스크가 GUI라면, "콜라 라지 주세요" 한마디가 CLI.
Agent-Native
사람이 아니라 AI 에이전트가 다루기 좋게 설계된 인터페이스. JSON 출력, 결정적 동작, 자동 도움말 같은 특징.
REPL (Read-Eval-Print Loop)
명령을 한 줄씩 입력하면 즉시 실행되어 결과를 보여주는 대화형 셸. python이 대표 예. CLI-Anything의 모든 CLI에 내장.
Harness (하니스)
원래는 말에 매다는 마구. 여기서는 실제 소프트웨어 위에 씌우는 에이전트용 통제 장치. 각 앱마다 agent-harness/ 폴더가 있는 이유.
SKILL.md
AI 에이전트가 "이 도구는 무엇이고 어떻게 부르나"를 자동 발견하도록 만든 표준 메타파일. YAML 헤더 + 마크다운 본문.
Click (Python)
Flask 만든 사람이 만든 Python CLI 프레임워크. @click.command() 데코레이터만 붙이면 명령·옵션·도움말이 자동 생성됨.
Headless 모드
GUI를 띄우지 않고 백그라운드에서만 동작하는 실행 모드. libreoffice --headless로 PDF 변환만 수행. CLI-Anything이 거의 항상 사용.
MLT XML
Kdenlive/Shotcut이 내부적으로 쓰는 오픈소스 비디오 프로젝트 포맷. CLI-Anything은 이 XML을 직접 쓰고 melt로 렌더링.
ODF (Open Document Format)
LibreOffice/OpenOffice가 쓰는 표준 문서 포맷(.odt, .ods, .odp). 사실은 XML들을 ZIP으로 묶은 것.
bpy
Blender 내장 Python API. Blender를 시작하지 않고도 bpy.ops.mesh.primitive_cube_add()로 큐브 생성 가능.
obs-websocket
OBS Studio를 외부에서 WebSocket으로 제어하는 프로토콜. StreamDeck 같은 외부 장치가 OBS를 조작할 때 사용. CLI-Anything도 동일.
HARNESS.md
CLI-Anything이 LLM에게 "7단계로 CLI를 이렇게 만들어라"고 알려주는 실행 명세서. 슬래시 커맨드가 직접 참조하는 진실 공급원(SoT).
CLI-Hub
npm/PyPI 같은 역할의 CLI-Anything 전용 중앙 레지스트리. pip install cli-anything-hub 한 줄로 누가 만든 어댑터든 가져다 씀.
7-Phase Pipeline
Analyze → Design → Implement → Plan Tests → Write Tests → Document → SKILL.md → Publish. HARNESS.md에 박혀 있는 고정 SOP.
ReplSkin
16개 CLI가 공유하는 자체 REPL UI 모듈. 배너·프롬프트·진행률·히스토리를 일관되게 제공.
Stateful Project File
모든 작업 상태를 JSON 파일에 외부화. --project report.json으로 명령들이 같은 상태 공유 → undo/redo·세션 복원 가능.
11 — 참고 링크Refs

더 깊이 파고들 자료

공식 · 명세 · 학습 리소스.

공식 자료

핵심 명세 · 가이드

관련 라이브러리 · 학습 리소스

Action · 이번 주에 해볼 것

CLI-Anything을 처음 만났다면 이 순서로 5단계.

  1. Hub 카탈로그 둘러보기. pip install cli-anything-hubcli-hub list. 16개 어댑터 중 본인이 쓰는 도구가 있는지 확인, 하나 골라 install 후 --help 정독.
  2. Claude Code 플러그인 설치. /plugin marketplace add HKUDS/CLI-Anything/plugin install cli-anything. HARNESS.md도 같이 띄워 7단계 SOP를 머리에 새긴다.
  3. 작은 Python 프로젝트로 변환 1회. 본인이 만든 작은 레포에 /cli-anything ./내프로젝트. 5~10분 후 생성된 agent-harness/ 폴더를 끝까지 정독 — 어떤 파일들이 자동 생성되었는지 체득.
  4. JSON 모드와 REPL 모드 비교. 생성된 CLI를 --json 없이 한 번, --json으로 한 번 호출해 출력 차이를 본다. 인자 없이도 실행해 REPL 모드 체험.
  5. 미지원 앱 어댑터 PR 시도. 좋아하는 도구(VS Code·Notion 등) 하나를 blender/agent-harness/ 복사로 시작해 어댑터 작성. 3중 테스트 통과시키고 본 레포에 PR 제출 — 진짜 학습은 여기서 일어난다.
원문 · HKUDS/CLI-Anything (GitHub) · 2026-05-20 · TrendShift #13 · 인범의 유행레포정리 프로젝트
이 자료는 학습용으로 작성되었으며, 원저작권은 HKUDS와 CLI-Anything 기여자들에게 있습니다.