Communitygithub.com

cli-anything-iterm2

Fornece os comandos cli-anything-iterm2 — a única maneira de realmente enviar texto para sessões do iTerm2, ler saída do terminal ao vivo e histórico de scrollback, gerenciar janelas/abas/painéis divididos, executar workflows tmux -CC, transmitir para múltiplos painéis, exibir diálogos do macOS e ler/escrever preferências do iTerm2. Inclui `app snapshot` — o comando de orientação principal que retorna todas as sessões.

O que é cli-anything-iterm2?

O cli-anything-iterm2 é um harness de linha de comando stateful para controlar o iTerm2 programaticamente, ideal para agentes de IA que precisam interagir com terminais ao vivo no macOS. Ele se conecta ao iTerm2 via API Python sobre WebSocket, permitindo enviar texto, ler saída da tela e scrollback, gerenciar janelas, abas e painéis divididos, executar workflows tmux -CC, transmitir teclas para múltiplos painéis, exibir diálogos do sistema e ler/escrever preferências globais. O comando `app snapshot` é a principal ferramenta de orientação: ele retorna um resumo de todas as sessões ativas, incluindo nome, diretório atual, processo em foreground, rótulos `user.role` (definidos pelo usuário) e a última linha de saída visível, permitindo que o agente entenda rapidamente o workspace. A ferramenta também suporta modo REPL para manter contexto entre comandos e arquivos de referência detalhados para operações específicas, como controle de sessão, layout de janelas e integração com tmux. É compatível exclusivamente com macOS e iTerm2, exigindo a API Python habilitada nas configurações do iTerm2.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que cli-anything-iterm2 faz?

Harness de linha de comando stateful para iTerm2. Controla um processo iTerm2 ativo via API Python do iTerm2 sobre WebSocket.

Pré-requisitos

  1. macOS + iTerm2 em execução: brew install --cask iterm2
  2. API Python habilitada: iTerm2 → Preferências → Geral → Mágica → Habilitar API Python
  3. Instalação: pip install cli-anything-iterm2 (ou pip install -e . a partir do código-fonte)

Sintaxe Básica

cli-anything-iterm2 [--json] <grupo> <comando> [OPÇÕES] [ARGUMENTOS]

Use sempre --json para saída legível por máquina (obrigatório para uso por agente).

Grupos de Comandos

GrupoPropósito
appStatus do aplicativo, snapshot do workspace, gerenciamento de contexto, variáveis do app, diálogos modais, painéis de arquivo
windowCriar, listar, fechar, redimensionar, maximizar janelas
tabCriar, listar, fechar, ativar abas; navegar entre painéis divididos por direção
sessionEnviar texto, injetar bytes brutos, ler tela, scrollback completo, dividir painéis, detecção de prompt
profileListar perfis, obter detalhes do perfil, listar/aplicar predefinições de cores
arrangementSalvar e restaurar layouts de janela
tmuxIntegração completa com tmux -CC: inicialização, conexões, janelas, comandos
broadcastSincronizar teclas entre painéis via domínios de broadcast
menuInvocar qualquer item de menu do iTerm2 programaticamente
prefLer/escrever preferências globais do iTerm2; listar todas as chaves válidas; configurações de tmux

Orientando-se em um Workspace Existente

Use app snapshot ao chegar em uma sessão com painéis existentes e precisar entender o que está rodando sem ler o conteúdo completo da tela de cada painel:

cli-anything-iterm2 --json app snapshot

Retorna nome, diretório atual, processo em foreground, rótulo user.role e a última linha de saída visível para todas as sessões em todas as janelas.

Convenção de nomenclatura — rotule os painéis ao configurar um workspace para encontrá-los depois:

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 exibirá esses papéis junto com o processo e o caminho, dando a você uma visão completa em uma única chamada.

Workflow Típico de Agente

# 1. Orientar — snapshot de cada sessão: nome, caminho, processo, papel, última linha de saída
cli-anything-iterm2 --json app snapshot

# 2. Estabelecer contexto (salva IDs de janela/aba/sessão para comandos subsequentes)
cli-anything-iterm2 app current

# 3. Interagir — não é necessário --session-id após definir o contexto
cli-anything-iterm2 session send "git status"
cli-anything-iterm2 --json session scrollback --tail 200 --strip

# 4. Criar um workspace com múltiplos painéis — rotule os painéis para que o snapshot os identifique depois
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"

Arquivos de Referência

Leia apenas o que a tarefa exigir — cada arquivo trata de um único assunto (~10–30 linhas):

ArquivoLeia quando precisar...
references/session-io.mdEnviar texto, injetar bytes, ler tela/scrollback, obter seleção
references/session-control.mdDividir painéis, ativar/fechar sessões, redimensionar, renomear, variáveis de sessão
references/session-shell-integration.mdwait-prompt, wait-command-end, get-prompt; padrão confiável send→wait→read
references/layout-window-tab.mdCriar/fechar/redimensionar janelas e abas, navegar entre painéis divididos
references/layout-arrangement.mdSalvar e restaurar layouts de janela
references/app-context.mdSnapshot (orientação), status, gerenciamento de contexto, variáveis do app, diálogos modais, painéis de arquivo
references/profile-pref.mdListar/obter perfis, predefinições, ler/escrever preferências, atalhos de pref tmux
references/broadcast-menu.mdTransmitir teclas para múltiplos painéis, invocar itens de menu
references/tmux-commands.mdTodos os comandos CLI do tmux (inicialização, enviar, abas, criar janela, set-visible)
references/tmux-guide.mdWorkflow completo do tmux -CC, mapeamento painel→ID de sessão
references/json-session.mdEsquemas --json para sessão, janela, aba, tela, scrollback, injeção
references/json-tmux-app.mdEsquemas --json para tmux, diálogos do app, preferências, erros

Modo REPL

Execute sem argumentos para um REPL interativo que mantém o contexto entre comandos:

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

>-

Habilidades Relacionadas