mcpField
C
cli-anything-gimp

cli-anything-gimp

github.com/hkudsクリエイティブ・メディア57.6k627 回インストール5 週間前に更新
リポジトリ

cli-anything-gimp について

cli-anything-gimpは、AIエージェントや上級ユーザー向けのPillowベースの画像編集CLIです。レイヤー構成のプロジェクトを操作し、対話セッション、取り消し・やり直し、JSON出力に対応します。

主な機能

  1. 01レイヤーとキャンバスの編集
  2. 02フィルターの追加と設定
  3. 03テキストと矩形の描画
  4. 04画像のレンダリングと書き出し
  5. 05操作の取り消し・やり直しと履歴
  6. 06人間向けまたはJSON形式の出力

活用シーン

  1. 01コマンドでレイヤー画像を作成
  2. 02キャンバスやレイヤーの属性を調整
  3. 03AIエージェントでプロジェクト状態を確認し画像を書き出し

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-gimp

インストール後、Claude Code で/cli-anything-gimpを入力して読み込まれたか確認します。

詳細

cli-anything-gimp

Pillow 上に構築された、画像編集用のステートフルなコマンドラインインターフェースです。GUI なしで画像を作成・操作する必要がある AI エージェントやパワーユーザー向けに設計されています。

インストール

この CLI は cli-anything-gimp パッケージの一部としてインストールされます:

pip install cli-anything-gimp

前提条件:

  • Python 3.10+
  • ネイティブのバッチレンダリングには gimp を推奨しますが、GIMP が利用できない場合や、遅延された draw 操作が存在する場合でも、レイヤー構成は組み込みの Pillow パスを通じてレンダリングできます

使用方法

基本コマンド
# Show help
cli-anything-gimp --help

# Start interactive REPL mode
cli-anything-gimp

# Create a new project
cli-anything-gimp project new -o project.json

# Run with JSON output (for agent consumption)
cli-anything-gimp --json project info -p project.json
REPL モード

サブコマンドを指定せずに呼び出すと、CLI は対話型の REPL セッションに入ります:

cli-anything-gimp
# Enter commands interactively with tab-completion and history

コマンドグループ

Project

プロジェクト管理コマンド。

コマンド説明
new新しいプロジェクトを作成します
open既存のプロジェクトを開きます
save現在のプロジェクトを保存します
infoプロジェクト情報を表示します
profiles利用可能なキャンバスプロファイルを一覧表示します
json生のプロジェクト JSON を出力します
Layer

レイヤー管理コマンド。

コマンド説明
new新しい空白のレイヤーを作成します
add-from-file画像ファイルからレイヤーを追加します
listすべてのレイヤーを一覧表示します
removeインデックスを指定してレイヤーを削除します
duplicateレイヤーを複製します
moveレイヤーを新しい位置に移動します
setレイヤーのプロパティ(name、opacity、visible、mode、offset_x、offset_y)を設定します。負のオフセットも自然に受け付けます
flattenすべての可視レイヤーを統合します
merge-downレイヤーをその下のレイヤーと結合します
Canvas

キャンバス操作。

コマンド説明
infoキャンバス情報を表示します
resizeキャンバスのサイズを変更します(コンテンツは拡大縮小しません)
scaleキャンバスとすべてのコンテンツを比例縮尺します
cropキャンバスを矩形に切り抜きます
modeキャンバスのカラーモードを設定します
dpiキャンバスの DPI を設定します
Filter Group

フィルター管理コマンド。

コマンド説明
list-available利用可能なすべてのフィルターを一覧表示します
infoフィルターの詳細を表示します
addレイヤーにフィルターを追加します
removeインデックスを指定してフィルターを削除します
setフィルターのパラメーターを設定します
listレイヤー上のフィルターを一覧表示します
Media

メディアファイル操作。

コマンド説明
probe画像ファイルを解析します
listプロジェクトで参照されているメディアファイルを一覧表示します
check参照されているすべてのメディアファイルが存在することを確認します
histogram画像のヒストグラム分析を表示します
Export Group

エクスポート/レンダリングコマンド。

コマンド説明
presetsエクスポートプリセットを一覧表示します
preset-infoプリセットの詳細を表示します
renderプロジェクトを画像ファイルにレンダリングします。遅延された draw 操作はレンダリング時に適用されます
Session

セッション管理コマンド。

コマンド説明
statusセッションのステータスを表示します
undo最後の操作を元に戻します
redo最後に元に戻した操作をやり直します
historyundo 履歴を表示します
Draw

描画操作(レンダリング時に適用されます)。

コマンド説明
textレイヤーにテキストを描画します(テキストレイヤーに変換することにより)
rect矩形を描画します(描画操作として保存されます)

例

新しいプロジェクトの作成

新しい gimp プロジェクトファイルを作成します。

cli-anything-gimp project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-gimp --json project new -o myproject.json
対話型 REPL セッション

undo/redo をサポートする対話型セッションを開始します。

cli-anything-gimp
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
プロジェクトのエクスポート

プロジェクトを最終的な出力形式にエクスポートします。

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 だけでなく、エクスポートされた画像をレビュー対象として扱ってください。
  • 遅延描画操作を含むプロジェクトでは、GIMP がインストールされていても、Pillow のレンダリングパスが安定したデフォルトになると想定してください。

状態管理

CLI は次のものでセッション状態を維持します:

  • Undo/Redo: 最大 50 レベルの履歴
  • プロジェクトの永続化: プロジェクト状態を JSON として保存/読み込み
  • セッション追跡: 変更と更新の追跡

出力形式

すべてのコマンドは 2 つの出力モードをサポートします:

  • 人間が読みやすい形式 (デフォルト): テーブル、色、整形されたテキスト
  • 機械可読形式 (--json フラグ): エージェントが利用するための構造化 JSON
# Human output
cli-anything-gimp project info -p project.json

# JSON output for agents
cli-anything-gimp --json project info -p project.json

AI エージェント向け

この CLI をプログラムから使用する場合:

  1. 常に --json フラグを使用する - 解析可能な出力のため
  2. リターンコードを確認する - 成功なら 0、エラーなら非ゼロ
  3. 失敗時は stderr を解析する - エラーメッセージのため
  4. すべてのファイル操作に絶対パスを使用する
  5. エクスポート操作後に出力が存在することを確認する
  6. オフセット、描画、ブレンドモード、フィルターの変更後は、保存されたプロジェクト状態だけを信用せず、レンダリングされた出力をレビューする

詳細情報

  • 完全なドキュメント: パッケージ内の README.md を参照してください
  • テストカバレッジ: パッケージ内の TEST.md を参照してください
  • 方法論: cli-anything-plugin 内の HARNESS.md を参照してください

バージョン

1.0.0

コメント