Communitygithub.com

cli-anything-iterm2

Fournit les commandes cli-anything-iterm2 – le seul moyen d'envoyer du texte aux sessions iTerm2, de lire la sortie terminal en direct et l'historique de défilement, de gérer fenêtres/onglets/panneaux divisés, d'exécuter des workflows tmux -CC, de diffuser vers plusieurs panneaux, d'afficher des dialogues macOS, et de lire/écrire les préférences iTerm2. Inclut `app snapshot` – la commande d'orientation principale qui retourne chaque session.

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

cli-anything-iterm2 est un outil CLI avec état qui contrôle une instance iTerm2 en direct via l'API Python d'iTerm2 sur WebSocket. Il permet à un agent IA (comme Claude Code, Cursor ou Codex) d'interagir avec iTerm2 de manière programmatique : envoyer du texte, lire la sortie écran et l'historique de défilement, gérer les fenêtres, onglets et panneaux divisés, intégrer des workflows tmux -CC, et même diffuser des frappes sur plusieurs panneaux. La commande `app snapshot` est essentielle pour l'orientation : elle retourne pour chaque session le nom, le répertoire courant, le processus au premier plan, un label `user.role` et la dernière ligne de sortie visible. L'outil inclut un mode REPL interactif et de nombreux fichiers de référence documentant chaque sous-commande et les schémas JSON. Il est installable via pip et nécessite macOS avec iTerm2 et l'API Python activée.

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

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-iterm2 ?

CLI avec état pour iTerm2. Contrôle un processus iTerm2 en direct via l'API Python d'iTerm2 sur WebSocket.

Prérequis

  1. macOS + iTerm2 en cours d'exécution : brew install --cask iterm2
  2. API Python activée : iTerm2 → Préférences → Général → Magie → Activer l'API Python
  3. Installation : pip install cli-anything-iterm2 (ou pip install -e . depuis les sources)

Syntaxe de base

cli-anything-iterm2 [--json] <groupe> <commande> [OPTIONS] [ARGUMENTS]

Utilisez toujours --json pour une sortie lisible par machine (requis pour une utilisation par agent).

Groupes de commandes

GroupeObjectif
appStatut de l'application, instantané de l'espace de travail, gestion du contexte, variables d'application, dialogues modaux, panneaux de fichiers
windowCréer, lister, fermer, redimensionner, passer en plein écran les fenêtres
tabCréer, lister, fermer, activer les onglets ; naviguer entre les panneaux divisés par direction
sessionEnvoyer du texte, injecter des octets bruts, lire l'écran, tout le défilement, diviser les panneaux, détection d'invite
profileLister les profils, obtenir les détails d'un profil, lister/appliquer les préréglages de couleurs
arrangementSauvegarder et restaurer les dispositions de fenêtres
tmuxIntégration complète de tmux -CC : amorçage, connexions, fenêtres, commandes
broadcastSynchroniser les frappes entre les panneaux via des domaines de diffusion
menuInvoquer n'importe quel élément de menu iTerm2 par programmation
prefLire/écrire les préférences globales iTerm2 ; lister toutes les clés valides ; paramètres tmux

S'orienter dans un espace de travail existant

Utilisez app snapshot lorsque vous arrivez dans une session avec des panneaux existants et devez comprendre ce qui s'exécute sans lire le contenu complet de l'écran de chaque panneau :

cli-anything-iterm2 --json app snapshot

Retourne le nom, le répertoire courant, le processus au premier plan, le label user.role, et la dernière ligne de sortie visible pour chaque session dans toutes les fenêtres.

Convention de nommage — étiquetez les panneaux lors de la configuration d'un espace de travail afin de pouvoir les retrouver plus tard :

cli-anything-iterm2 session set-var user.role "api-server"
cli-anything-iterm2 session set-var user.role "log-tail"
cli-anything-iterm2 session set-var user.role "editor"

app snapshot remontera ces rôles avec le processus et le chemin, vous donnant une image complète en un seul appel.

Workflow typique d'un agent

# 1. S'orienter — instantané de chaque session : nom, chemin, processus, rôle, dernière ligne de sortie
cli-anything-iterm2 --json app snapshot

# 2. Établir le contexte (sauvegarde les ID de fenêtre/onglet/session pour les commandes suivantes)
cli-anything-iterm2 app current

# 3. Interagir — plus besoin de --session-id une fois le contexte défini
cli-anything-iterm2 session send "git status"
cli-anything-iterm2 --json session scrollback --tail 200 --strip

# 4. Créer un espace de travail multi-panneaux — étiquetez les panneaux pour que l'instantané les identifie plus tard
cli-anything-iterm2 session split --vertical --use-as-context
cli-anything-iterm2 session send "python3 -m http.server 8000"
cli-anything-iterm2 session set-var user.role "http-server"

Fichiers de référence

Ne lisez que ce que la tâche nécessite — chaque fichier couvre un seul sujet restreint (~10–30 lignes) :

FichierÀ lire quand vous avez besoin...
references/session-io.mdEnvoyer du texte, injecter des octets, lire l'écran/le défilement, obtenir la sélection
references/session-control.mdDiviser les panneaux, activer/fermer les sessions, redimensionner, renommer, variables de session
references/session-shell-integration.mdwait-prompt, wait-command-end, get-prompt ; motif fiable send→wait→read
references/layout-window-tab.mdCréer/fermer/redimensionner des fenêtres et onglets, naviguer entre les panneaux divisés
references/layout-arrangement.mdSauvegarder et restaurer les dispositions de fenêtres
references/app-context.mdSnapshot (orientation), statut, gestion du contexte, variables d'application, dialogues modaux, panneaux de fichiers
references/profile-pref.mdListe/profils/préréglages, lecture/écriture des préférences, raccourcis des préférences tmux
references/broadcast-menu.mdDiffuser des frappes vers plusieurs panneaux, invoquer des éléments de menu
references/tmux-commands.mdToutes les commandes CLI tmux (amorçage, envoi, onglets, create-window, set-visible)
references/tmux-guide.mdWorkflow complet tmux -CC, correspondance panneau → ID de session
references/json-session.mdSchémas --json pour session, fenêtre, onglet, écran, défilement, injection
references/json-tmux-app.mdSchémas --json pour tmux, dialogues d'application, préférences, erreurs

Mode REPL

Exécutez sans arguments pour un REPL interactif qui maintient le contexte entre les commandes :

cli-anything-iterm2

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