Communitygithub.com

cli-anything-inkscape

Une interface en ligne de commande avec état pour l'édition graphique vectorielle, utilisant le même modèle que les CLI GIMP et Blender. Manipule directement des documents SVG (XML) avec un format de projet JSON pour le suivi d'état.

Qu'est-ce que cli-anything-inkscape ?

Cet outil, cli-anything-inkscape, est un CLI avec état dédié à l'édition de graphiques vectoriels, conçu pour être utilisé par des agents IA ou des développeurs en mode terminal. Il suit le même modèle éprouvé que les CLI GIMP et Blender, manipulant directement des documents SVG (XML) tout en conservant un fichier de projet JSON pour le suivi d'état et les fonctionnalités d'annulation/répétition. L'outil est installé via pip, nécessite Python 3.10+ et Inkscape sur le système. Il prend en charge un mode REPL interactif avec complétion par tabulation et un mode batch avec sortie JSON pour une consommation automatique par des agents. Parmi ses fonctionnalités clés : la gestion de documents (création, ouverture, sauvegarde), l'ajout et la manipulation de formes (rectangles, cercles, polygones, chemins), le texte en boîte avec retour à la ligne automatique, les styles (couleurs, opacité), les transformations (translation, rotation, échelle), les opérations booléennes sur les chemins (union, intersection), les dégradés, les calques, et l'exportation en PNG, SVG ou PDF. Le CLI gère jusqu'à 50 niveaux d'historique pour l'annulation/répétition, et conserve l'état du projet entre les sessions via un fichier JSON.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-inkscape

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait cli-anything-inkscape ?

Une interface en ligne de commande avec état pour l'édition graphique vectorielle, suivant le même modèle que les CLI GIMP et Blender. Manipule directement des documents SVG (XML) avec un format de projet JSON pour le suivi d'état.

Installation

Ce CLI est installé dans le cadre du package cli-anything-inkscape :

pip install cli-anything-inkscape

Prérequis :

  • Python 3.10+
  • Inkscape doit être installé sur votre système

Utilisation

Commandes de base

# Afficher l'aide
cli-anything-inkscape --help

# Démarrer le mode REPL interactif
cli-anything-inkscape

# Créer un nouveau document
cli-anything-inkscape document new -o project.json

# Exécuter avec sortie JSON (pour consommation par un agent)
cli-anything-inkscape --json document info -p project.json

Mode REPL

Lorsqu'il est invoqué sans sous-commande, le CLI entre dans une session REPL interactive :

cli-anything-inkscape
# Saisissez les commandes de manière interactive avec complétion par tabulation et historique

Vous pouvez également démarrer le REPL avec un chemin de projet inexistant. Le CLI crée alors un nouveau document en mémoire au lieu d'échouer immédiatement :

cli-anything-inkscape --project /abs/path/new-title.inkscape-cli.json

Groupes de commandes

Document

Commandes de gestion de documents.

CommandeDescription
newCréer un nouveau document
openOuvrir un projet existant
saveSauvegarder le projet actuel
infoAfficher les informations du document
profilesLister les profils de documents disponibles
canvas-sizeDéfinir la taille du canevas
unitsDéfinir les unités du document
jsonAfficher le JSON brut du projet

Forme (Shape)

Commandes de gestion des formes.

CommandeDescription
add-rectAjouter un rectangle
add-circleAjouter un cercle
add-ellipseAjouter une ellipse
add-lineAjouter une ligne
add-polygonAjouter un polygone
add-pathAjouter un chemin
add-starAjouter une étoile
removeSupprimer une forme par son index
duplicateDupliquer une forme
listLister toutes les formes/objets
getObtenir des informations détaillées sur une forme

Texte

Commandes de gestion du texte.

CommandeDescription
addAjouter un élément de texte ; prend en charge --box-width, --box-height et --line-height pour les mises en page avec retour à la ligne
setDéfinir une propriété de texte (texte, font-family, font-size, fill, box-width, box-height, line-height, etc.)
listLister tous les objets texte

Style

Commandes de gestion du style.

CommandeDescription
set-fillDéfinir la couleur de remplissage d'un objet
set-strokeDéfinir la couleur (et éventuellement l'épaisseur) du contour d'un objet
set-opacityDéfinir l'opacité d'un objet (0.0-1.0)
setDéfinir une propriété de style arbitraire sur un objet
getObtenir les propriétés de style d'un objet
list-propertiesLister toutes les propriétés de style disponibles

Transformation

Opérations de transformation (translation, rotation, échelle, inclinaison).

CommandeDescription
translateTranslater (déplacer) un objet
rotateFaire pivoter un objet
scaleMettre à l'échelle un objet
skew-xIncliner un objet horizontalement
skew-yIncliner un objet verticalement
getObtenir la transformation actuelle d'un objet
clearSupprimer toutes les transformations d'un objet

Calque (Layer)

Commandes de gestion des calques.

CommandeDescription
addAjouter un nouveau calque
removeSupprimer un calque par son index
move-objectDéplacer un objet vers un autre calque
setDéfinir une propriété de calque (nom, visible, verrouillé, opacité)
listLister tous les calques
reorderDéplacer un calque d'une position à une autre
getObtenir des informations détaillées sur un calque

Groupe de chemins (Path)

Opérations booléennes sur les chemins.

CommandeDescription
unionUnion de deux objets
intersectionIntersection de deux objets
differenceDifférence de deux objets (A moins B)
exclusionExclusion (XOR) de deux objets
convertConvertir une forme en chemin
list-operationsLister les opérations booléennes sur les chemins disponibles

Dégradé (Gradient)

Commandes de gestion des dégradés.

CommandeDescription
add-linearAjouter un dégradé linéaire
add-radialAjouter un dégradé radial
applyAppliquer un dégradé à un objet
listLister tous les dégradés

Groupe d'exportation (Export)

Commandes d'exportation/rendu.

CommandeDescription
pngRendre le document en PNG
svgExporter le document en SVG
pdfExporter le document en PDF (nécessite Inkscape)
presetsLister les préréglages d'exportation

Session

Commandes de gestion de session.

CommandeDescription
statusAfficher l'état de la session
undoAnnuler la dernière opération
redoRétablir la dernière opération annulée
historyAfficher l'historique des annulations

Exemples

Créer un nouveau projet

Créez un nouveau fichier de projet inkscape.

cli-anything-inkscape document new -o monprojet.json
# Ou avec sortie JSON pour une utilisation programmatique
cli-anything-inkscape --json document new -o monprojet.json

Session REPL interactive

Démarrez une session interactive avec prise en charge de l'annulation/répétition.

cli-anything-inkscape
# Saisissez les commandes de manière interactive
# Utilisez 'help' pour voir les commandes disponibles
# Utilisez 'undo' et 'redo' pour naviguer dans l'historique

Exporter le projet

Exportez le projet vers un format de sortie final.

cli-anything-inkscape --project monprojet.json export pdf sortie.pdf --overwrite

Mise en page de texte avec retour à la ligne

Pour les cartes de titre, les étiquettes et les panneaux adaptés au portrait, privilégiez les boîtes de texte avec retour à la ligne plutôt que l'insertion manuelle de sauts de ligne :

cli-anything-inkscape --project titre.json text add \
  --text "Capture réelle + Veo cold open + Gemini score + plaque miniature" \
  --x 180 --y 470 --font-size 118 \
  --box-width 1180 --box-height 260 --line-height 1.05

cli-anything-inkscape --project titre.json text set 0 box-width 980
cli-anything-inkscape --project titre.json text set 0 line-height 1.15

Notes :

  • box-width permet d'enrouler le texte long en plusieurs lignes tspan SVG exportées.
  • box-height permet au texte long d'échouer en toute sécurité plutôt que de sortir du canevas.
  • Utilisez des boîtes de texte avec retour à la ligne pour les graphiques à texte long avant de recourir à des sauts de ligne manuels.

Gestion d'état

Le CLI maintient l'état de la session avec :

  • Annulation/Répétition : Jusqu'à 50 niveaux d'historique
  • Persistance du projet : Sauvegarder/charger l'état du projet au format JSON
  • Suivi de session : Suivre les modifications et changements

Formats de sortie

Toutes les commandes prennent en charge deux modes de sortie :

  • Lisible par l'humain (par défaut) : Tableaux, couleurs, texte formaté
  • Lisible par machine (drapeau --json) : JSON structuré pour la consommation par un agent
# Sortie humaine
cli-anything-inkscape project info -p project.json

# Sortie JSON pour les agents
cli-anything-inkscape --json project info -p project.json

Pour les agents IA

Lorsque vous utilisez ce CLI de manière programmatique :

  1. Utilisez toujours le drapeau --json pour une sortie analysable
  2. Vérifiez les codes de retour - 0 pour succès, non nul pour erreurs
  3. Analysez stderr pour les messages d'erreur en cas d'échec
  4. Utilisez des chemins absolus pour toutes les opérations sur fichiers
  5. Vérifiez que les sorties existent après les opérations d'exportation
  6. Privilégiez les boîtes de texte avec retour à la ligne pour les titres et le texte de longueur variable afin que les mises en page restent stables entre les modifications

Plus d'informations

  • Documentation complète : Voir README.md dans le package
  • Couverture de test : Voir TEST.md dans le package
  • Méthodologie : Voir HARNESS.md dans le cli-anything-plugin

Version

1.0.1

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Skills associés