cli-anything-inkscape は何をしますか?
ベクターグラフィックス編集のためのステートフルなコマンドラインインターフェース。GIMPやBlender CLIハーネスと同じパターンに従います。SVG(XML)文書を直接操作し、JSONプロジェクト形式で状態を追跡します。
インストール
この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モード
サブコマンドなしで起動すると、インタラクティブな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 | 2つのオブジェクトの結合 |
intersection | 2つのオブジェクトの積集合 |
difference | 2つのオブジェクトの差(AからBを引く) |
exclusion | 2つのオブジェクトの排他的論理和(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