CLI-Anything-Inkscape은(는) 무엇을 하나요?
GIMP 및 Blender CLI 도구와 동일한 패턴을 따르는, 벡터 그래픽 편집을 위한 상태 저장 명령줄 인터페이스입니다. 상태 추적을 위해 JSON 프로젝트 형식으로 SVG(XML) 문서를 직접 조작합니다.
설치
이 CLI는 cli-anything-inkscape 패키지의 일부로 설치됩니다:
pip install cli-anything-inkscape
필수 조건:
- Python 3.10+
- 시스템에 Inkscape가 설치되어 있어야 합니다
사용법
기본 명령어
# 도움말 보기
cli-anything-inkscape --help
# 대화형 REPL 모드 시작
cli-anything-inkscape
# 새 문서 만들기
cli-anything-inkscape document new -o project.json
# JSON 출력으로 실행 (에이전트 사용 용)
cli-anything-inkscape --json document info -p project.json
REPL 모드
하위 명령어 없이 호출하면 CLI가 대화형 REPL 세션에 진입합니다:
cli-anything-inkscape
# 탭 완성 및 기록 기능과 함께 명령어를 대화식으로 입력하세요
존재하지 않는 프로젝트 경로로 REPL을 시작할 수도 있습니다. 이제 CLI는 즉시 실패하는 대신 새 인메모리 문서를 시드합니다:
cli-anything-inkscape --project /abs/path/new-title.inkscape-cli.json
명령어 그룹
문서
문서 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
new | 새 문서 만들기 |
open | 기존 프로젝트 열기 |
save | 현재 프로젝트 저장 |
info | 문서 정보 보기 |
profiles | 사용 가능한 문서 프로필 나열 |
canvas-size | 캔버스 크기 설정 |
units | 문서 단위 설정 |
json | 원시 프로젝트 JSON 출력 |
도형
도형 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
add-rect | 사각형 추가 |
add-circle | 원 추가 |
add-ellipse | 타원 추가 |
add-line | 선 추가 |
add-polygon | 다각형 추가 |
add-path | 경로 추가 |
add-star | 별 추가 |
remove | 인덱스로 도형 제거 |
duplicate | 도형 복제 |
list | 모든 도형/객체 나열 |
get | 도형에 대한 상세 정보 얻기 |
텍스트
텍스트 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
add | 텍스트 요소 추가; 줄 바꿈 레이아웃을 위해 --box-width, --box-height, --line-height 지원 |
set | 텍스트 속성 설정 (text, font-family, font-size, fill, box-width, box-height, line-height 등) |
list | 모든 텍스트 객체 나열 |
스타일
스타일 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
set-fill | 객체의 채우기 색상 설정 |
set-stroke | 객체의 스트로크 색상 (및 선택적으로 두께) 설정 |
set-opacity | 객체의 불투명도 설정 (0.0-1.0) |
set | 객체에 임의의 스타일 속성 설정 |
get | 객체의 스타일 속성 얻기 |
list-properties | 사용 가능한 모든 스타일 속성 나열 |
변환
변환 작업 (이동, 회전, 크기 조정, 기울이기).
| 명령어 | 설명 |
|---|---|
translate | 객체 이동 |
rotate | 객체 회전 |
scale | 객체 크기 조정 |
skew-x | 객체 수평으로 기울이기 |
skew-y | 객체 수직으로 기울이기 |
get | 객체의 현재 변환 얻기 |
clear | 객체에서 모든 변환 제거 |
레이어
레이어 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
add | 새 레이어 추가 |
remove | 인덱스로 레이어 제거 |
move-object | 객체를 다른 레이어로 이동 |
set | 레이어 속성 설정 (name, visible, locked, opacity) |
list | 모든 레이어 나열 |
reorder | 레이어를 한 위치에서 다른 위치로 이동 |
get | 레이어에 대한 상세 정보 얻기 |
경로 그룹
경로 부울 연산.
| 명령어 | 설명 |
|---|---|
union | 두 객체의 합집합 |
intersection | 두 객체의 교집합 |
difference | 두 객체의 차집합 (A 빼기 B) |
exclusion | 두 객체의 배타적 합집합 (XOR) |
convert | 도형을 경로로 변환 |
list-operations | 사용 가능한 경로 부울 연산 나열 |
그라데이션
그라데이션 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
add-linear | 선형 그라데이션 추가 |
add-radial | 방사형 그라데이션 추가 |
apply | 객체에 그라데이션 적용 |
list | 모든 그라데이션 나열 |
내보내기 그룹
내보내기/렌더링 명령어입니다.
| 명령어 | 설명 |
|---|---|
png | 문서를 PNG로 렌더링 |
svg | 문서를 SVG로 내보내기 |
pdf | 문서를 PDF로 내보내기 (Inkscape 필요) |
presets | 내보내기 사전 설정 나열 |
세션
세션 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
status | 세션 상태 보기 |
undo | 마지막 작업 실행 취소 |
redo | 마지막으로 취소한 작업 다시 실행 |
history | 실행 취소 기록 보기 |
예제
새 프로젝트 만들기
새 Inkscape 프로젝트 파일을 만듭니다.
cli-anything-inkscape document new -o myproject.json
# 또는 프로그래밍 방식 사용을 위한 JSON 출력
cli-anything-inkscape --json document new -o myproject.json
대화형 REPL 세션
실행 취소/재실행 지원이 포함된 대화형 세션을 시작합니다.
cli-anything-inkscape
# 명령어를 대화식으로 입력하세요
# 'help'를 사용하여 사용 가능한 명령어 확인
# 'undo' 및 'redo'를 사용하여 기록 탐색
프로젝트 내보내기
프로젝트를 최종 출력 형식으로 내보냅니다.
cli-anything-inkscape --project myproject.json export pdf output.pdf --overwrite
줄 바꿈 텍스트 레이아웃
제목 카드, 칩 및 세로형 패널의 경우, 수동으로 줄 바꿈을 삽입하는 대신 줄 바꿈 텍스트 상자를 사용하는 것이 좋습니다:
cli-anything-inkscape --project title.json text add \
--text "Real capture + Veo cold open + Gemini score + thumbnail plate" \
--x 180 --y 470 --font-size 118 \
--box-width 1180 --box-height 260 --line-height 1.05
cli-anything-inkscape --project title.json text set 0 box-width 980
cli-anything-inkscape --project title.json text set 0 line-height 1.15
참고:
box-width는 긴 텍스트를 여러 내보내진 SVGtspan줄로 감쌉니다.box-height는 긴 텍스트가 캔버스 밖으로 나가는 대신 안전하게 실패하도록 합니다.- 수동 줄 바꿈을 사용하기 전에 긴 텍스트 그래픽에는 줄 바꿈 텍스트 상자를 사용하세요.
상태 관리
CLI는 세션 상태를 다음과 같이 유지합니다:
- 실행 취소/재실행: 최대 50단계 기록
- 프로젝트 지속성: 프로젝트 상태를 JSON으로 저장/불러오기
- 세션 추적: 수정 및 변경 사항 추적
출력 형식
모든 명령어는 이중 출력 모드를 지원합니다:
- 사람이 읽을 수 있는 (기본값): 표, 색상, 형식화된 텍스트
- 기계가 읽을 수 있는 (
--json플래그): 에이전트 사용을 위한 구조화된 JSON
# 사람 출력
cli-anything-inkscape project info -p project.json
# 에이전트용 JSON 출력
cli-anything-inkscape --json project info -p project.json
AI 에이전트를 위한 안내
이 CLI를 프로그래밍 방식으로 사용할 때:
- 항상
--json플래그를 사용하여 구문 분석 가능한 출력을 얻으세요. - 반환 코드를 확인하세요 - 0은 성공, 0이 아니면 오류입니다.
- 실패 시 오류 메시지를 위해 stderr를 구문 분석하세요.
- 모든 파일 작업에는 절대 경로를 사용하세요.
- 내보내기 작업 후 출력이 존재하는지 확인하세요.
- 헤드라인과 가변 길이 텍스트에는 줄 바꿈 텍스트 상자를 사용하여 레이아웃이 편집 간에 안정적으로 유지되도록 하세요.
추가 정보
- 전체 문서: 패키지의 README.md 참조
- 테스트 범위: 패키지의 TEST.md 참조
- 방법론: cli-anything-plugin의 HARNESS.md 참조
버전
1.0.1