Sprite Sheet CLI — 구현 계획

Context

SwiftUI 앱에서 사용 중인 민트 슬라임 캐릭터(512x512, 3D 렌더링)를 웹/안드로이드/마케팅용으로 재활용하기 위해, Google Gemini API 기반으로 다양한 에셋을 배치 생성하는 CLI 도구 + Claude Code 스킬을 구축한다.

원래 계획의 문제점: Gemini CLI, NanoBanana는 실존하지 않는 도구. google-genai Python SDK로 직접 구현하는 것이 현실적.

사용자 확인 사항:


기술 스택

역할 도구
이미지 생성 Google Gemini API (google-genai SDK, gemini-2.5-flash-image 모델)
배경 제거 rembg (AI 기반)
이미지 처리 Pillow (리사이즈, 포맷 변환, 스프라이트 시트 조합)
CLI 프레임워크 click
설정 파일 YAML (pyyaml)
버전 관리 Git (Phase별 커밋)
패키징 Claude Code Skill (.claude/skills/) — /skill-creator 참고하여 구축

프로젝트 구조

sprite-sheet-cli/
├── CLAUDE.md
├── pyproject.toml
├── config/
│   ├── character.yaml          # 캐릭터 프롬프트 정의
│   ├── app_sprites.yaml        # 앱 스프라이트 배치 정의
│   ├── web_assets.yaml         # 웹 에셋 배치 정의
│   └── comic_assets.yaml       # 만화 에셋 배치 정의
├── src/
│   └── sprite_cli/
│       ├── __init__.py
│       ├── cli.py              # Click CLI 진입점
│       ├── gemini_client.py    # Gemini API 래퍼
│       ├── batch_runner.py     # 배치 실행 엔진 (rate limiting 포함)
│       ├── sprite_assembler.py # 스프라이트 시트 조합 + 메타데이터 JSON
│       └── post_processor.py   # 배경 제거, 리사이즈, 포맷 변환
├── refs/
│   └── slime_base.png          # 원천 레퍼런스 이미지
├── output/
│   ├── sprites/
│   ├── web/
│   └── comic/
├── .claude/
│   └── skills/
│       └── sprite/
│           ├── SKILL.md
│           └── scripts/
│               └── generate.sh
└── tests/
    ├── test_assembler.py
    └── test_post_processor.py

실행 단계

Phase 1: 프로젝트 초기화 + 환경 세팅 ✅

파일: pyproject.toml, CLAUDE.md, .gitignore, refs/slime_base.png

  1. git init — Git 저장소 초기화

  2. .gitignore 생성 — .venv/, output/, .env, __pycache__/, .egg-info/

  3. pyproject.toml 생성 — 의존성 정의:

    google-genai, Pillow, rembg, click, pyyaml, python-dotenv
    
  4. CLAUDE.md 작성 — 프로젝트 컨텍스트

  5. 원천 이미지를 refs/slime_base.png로 저장