cli-anything-gimp은(는) 무엇을 하나요?
상태 기반 명령줄 인터페이스로, Pillow를 기반으로 이미지 편집을 수행합니다. AI 에이전트와 고급 사용자가 GUI 없이 이미지를 생성하고 조작할 수 있도록 설계되었습니다.
설치
이 CLI는 cli-anything-gimp 패키지의 일부로 설치됩니다:
pip install cli-anything-gimp
필수 조건:
- Python 3.10+
- 기본 배치 렌더링에는 gimp가 권장되지만, GIMP를 사용할 수 없거나 지연된
draw작업이 있는 경우 내장 Pillow 경로를 통해 계층 구성이 렌더링될 수 있습니다.
사용법
기본 명령어
# 도움말 표시
cli-anything-gimp --help
# 대화형 REPL 모드 시작
cli-anything-gimp
# 새 프로젝트 생성
cli-anything-gimp project new -o project.json
# JSON 출력으로 실행 (에이전트 소비용)
cli-anything-gimp --json project info -p project.json
REPL 모드
서브명령어 없이 호출하면 CLI가 대화형 REPL 세션에 진입합니다:
cli-anything-gimp
# 탭 완성 및 히스토리와 함께 명령어를 대화형으로 입력
명령어 그룹
프로젝트
프로젝트 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
new | 새 프로젝트 생성 |
open | 기존 프로젝트 열기 |
save | 현재 프로젝트 저장 |
info | 프로젝트 정보 표시 |
profiles | 사용 가능한 캔버스 프로필 목록 |
json | 원시 프로젝트 JSON 출력 |
레이어
레이어 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
new | 새 빈 레이어 생성 |
add-from-file | 이미지 파일에서 레이어 추가 |
list | 모든 레이어 목록 |
remove | 인덱스로 레이어 제거 |
duplicate | 레이어 복제 |
move | 레이어를 새 위치로 이동 |
set | 레이어 속성 설정 (name, opacity, visible, mode, offset_x, offset_y); 음수 오프셋도 자연스럽게 허용 |
flatten | 모든 보이는 레이어 병합 |
merge-down | 레이어를 아래 레이어와 병합 |
캔버스
캔버스 작업입니다.
| 명령어 | 설명 |
|---|---|
info | 캔버스 정보 표시 |
resize | 캔버스 크기 조정 (내용 비율 조정 없음) |
scale | 캔버스 및 모든 내용 비율 조정 |
crop | 캔버스를 사각형으로 자르기 |
mode | 캔버스 색상 모드 설정 |
dpi | 캔버스 DPI 설정 |
필터 그룹
필터 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
list-available | 사용 가능한 모든 필터 목록 |
info | 필터 세부 정보 표시 |
add | 레이어에 필터 추가 |
remove | 인덱스로 필터 제거 |
set | 필터 매개변수 설정 |
list | 레이어의 필터 목록 |
미디어
미디어 파일 작업입니다.
| 명령어 | 설명 |
|---|---|
probe | 이미지 파일 분석 |
list | 프로젝트에서 참조된 미디어 파일 목록 |
check | 참조된 모든 미디어 파일이 존재하는지 확인 |
histogram | 이미지 히스토그램 분석 표시 |
내보내기 그룹
내보내기/렌더링 명령어입니다.
| 명령어 | 설명 |
|---|---|
presets | 내보내기 프리셋 목록 |
preset-info | 프리셋 세부 정보 표시 |
render | 프로젝트를 이미지 파일로 렌더링; 지연된 draw 작업은 렌더링 시 적용됨 |
세션
세션 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
status | 세션 상태 표시 |
undo | 마지막 작업 실행 취소 |
redo | 마지막 실행 취소 작업 재실행 |
history | 실행 취소 기록 표시 |
그리기
그리기 작업 (렌더링 시 적용됨).
| 명령어 | 설명 |
|---|---|
text | 레이어에 텍스트 그리기 (텍스트 레이어로 변환) |
rect | 사각형 그리기 (그리기 작업으로 저장됨) |
예제
새 프로젝트 생성
새 gimp 프로젝트 파일을 생성합니다.
cli-anything-gimp project new -o myproject.json
# 또는 프로그래밍 방식 사용을 위한 JSON 출력
cli-anything-gimp --json project new -o myproject.json
대화형 REPL 세션
실행 취소/재실행을 지원하는 대화형 세션을 시작합니다.
cli-anything-gimp
# 명령어를 대화형으로 입력
# 'help'를 사용하여 사용 가능한 명령어 확인
# 'undo' 및 'redo'를 사용하여 기록 탐색
프로젝트 내보내기
프로젝트를 최종 출력 형식으로 내보냅니다.
cli-anything-gimp --project myproject.json export render output.png --overwrite
계층 구성 워크플로우
오버레이가 많은 구성의 경우:
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_x -48
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_y 24
cli-anything-gimp --project poster.gimp-cli.json draw text --layer 0 --text "Launch Night" --x 96 --y 120 --size 72 --color "#f6f1e8"
cli-anything-gimp --project poster.gimp-cli.json export render output.png --overwrite
참고:
layer set은 이제 명령 모드와 REPL 모드 모두에서 음수offset_x및offset_y값을 허용합니다.draw text및draw rect는 렌더링 시 작업입니다. 프로젝트 JSON뿐만 아니라 내보낸 이미지를 검토 대상으로 간주하세요.- 지연된 draw 작업이 있는 프로젝트의 경우, GIMP가 설치되어 있어도 Pillow 렌더링 경로가 안정적인 기본값이 될 것으로 예상됩니다.
상태 관리
CLI는 세션 상태를 유지 관리합니다:
- 실행 취소/재실행: 최대 50단계 기록
- 프로젝트 지속성: 프로젝트 상태를 JSON으로 저장/로드
- 세션 추적: 수정 및 변경 사항 추적
출력 형식
모든 명령어는 이중 출력 모드를 지원합니다:
- 사람이 읽을 수 있는 (기본값): 표, 색상, 서식이 지정된 텍스트
- 기계가 읽을 수 있는 (
--json플래그): 에이전트 소비를 위한 구조화된 JSON
# 사람 출력
cli-anything-gimp project info -p project.json
# 에이전트용 JSON 출력
cli-anything-gimp --json project info -p project.json
AI 에이전트용
이 CLI를 프로그래밍 방식으로 사용할 때:
- 항상
--json플래그를 사용하여 구문 분석 가능한 출력을 얻으세요. - 반환 코드를 확인하세요 - 0은 성공, 0이 아닌 값은 오류입니다.
- stderr를 구문 분석하여 실패 시 오류 메시지를 확인하세요.
- 모든 파일 작업에 절대 경로를 사용하세요.
- 내보내기 작업 후 출력이 존재하는지 확인하세요.
- 오프셋, 그리기, 혼합 모드 또는 필터 변경 후에는 저장된 프로젝트 상태만 신뢰하지 말고 렌더링된 출력을 검토하세요.
추가 정보
- 전체 문서: 패키지의 README.md 참조
- 테스트 범위: 패키지의 TEST.md 참조
- 방법론: cli-anything-plugin의 HARNESS.md 참조
버전
1.0.0