Web Analytics

CLI-Anything

⭐ 24411 stars English by HKUDS

  CLI-Anything: Making ALL Software Agent-Native

Today's Software Serves Humans👨‍💻. Tomorrow's Users will be Agents🤖.
CLI-Anything: Bridging the Gap Between AI Agents and the World's Software

🌐 CLI-Hub: Explore all community-built CLIs and install with one command at the CLI-Hub. Want to add your own? Open a PR — the hub updates instantly.

Quick Start CLI Hub Demos Tests License

Python Click Pytest Coverage Output Feishu WeChat

One Command Line: Make any software agent-ready for OpenClaw, nanobot, Cursor, Claude Code, etc.  Chinese Documentation | Japanese Documentation

CLI-Anything typing demo

CLI-Anything Teaser


📰 News

Thanks to all invaluable efforts from the community! More updates continuously on the way everyday..

Earlier news

  • 2026-03-16 🤖 Added SKILL.md generation (Phase 6.5) — every generated CLI now ships with an AI-discoverable skill definition inside the Python package. ReplSkin auto-detects the skill file after pip install, and the REPL banner displays the absolute path for agents. Includes skill_generator.py, Jinja2 template, package_data in all setup.py files, and 51 new tests.
  • 2026-03-15 🐾 Support for OpenClaw from the community! Merged Windows cygpath guard to ensure CLI-Anything works reliably in Windows bash environments. Community contributions continue to strengthen cross-platform support.
  • 2026-03-14 🔒 Fixed a GIMP Script-Fu path injection vulnerability and added Japanese README translation. OpenCode version requirements documented alongside several Windows compatibility improvements.
  • 2026-03-13 🔌 Qodercli plugin officially merged as a community contribution with dedicated setup scripts. Codex skill gained a Windows install script, and placeholder URLs were cleaned up across the project.
  • 2026-03-12 📦 Codex skill integration landed, bringing CLI-Anything to yet another AI coding platform. Qodercli support was also introduced, and documentation was updated with limitations and experimental labels.
  • 2026-03-11 📞 Zoom video conferencing harness added as the 11th supported application. Multiple community fixes shipped for Shotcut auto-save, LibreOffice Windows/macOS backend, and OpenCode support.


🤔 Why CLI?

CLI is the universal interface for both humans and AI agents:

Structured & Composable - Text commands match LLM format and chain for complex workflows

Lightweight & Universal - Minimal overhead, works across all systems without dependencies

Self-Describing - --help flags provide automatic documentation agents can discover

Proven Success - Claude Code runs thousands of real workflows through CLI daily

Agent-First Design - Structured JSON output eliminates parsing complexity

Deterministic & Reliable - Consistent results enable predictable agent behavior

🚀 Quick Start

Prerequisites

Pick Your Platform

⚡ Claude Code

Step 1: Add the Marketplace

CLI-Anything is distributed as a Claude Code plugin marketplace hosted on GitHub.

# Add the CLI-Anything marketplace
/plugin marketplace add HKUDS/CLI-Anything

Step 2: Install the Plugin

# Install the cli-anything plugin from the marketplace
/plugin install cli-anything

That's it. The plugin is now available in your Claude Code session.

Note for Win Users: Claude Code runs shell commands via bash. On Windows, install Git for Windows (includes bash and
cygpath) or use WSL; otherwise commands may fail with cygpath: command not found.

Step 3: Build a CLI in One Command

# /cli-anything:cli-anything 

Generate a complete CLI for GIMP (all 7 phases)

/cli-anything:cli-anything ./gimp

Note: If your Claude Code is under 2.x, use "/cli-anything" instead.

This runs the full pipeline:
  • 🔍 Analyze — Scans source code, maps GUI actions to APIs
  • 📐 Design — Architects command groups, state model, output formats
  • 🔨 Implement — Builds Click CLI with REPL, JSON output, undo/redo
  • 📋 Plan Tests — Creates TEST.md with unit + E2E test plans
  • 🧪 Write Tests — Implements comprehensive test suite
  • 📝 Document — Updates TEST.md with results
  • 📦 Publish — Creates setup.py, installs to PATH
Step 4 (Optional): Refine and Improve the CLI

After the initial build, you can iteratively refine the CLI to expand coverage and add missing capabilities:

# Broad refinement — agent analyzes gaps across all capabilities
/cli-anything:refine ./gimp

Focused refinement — target a specific functionality area

/cli-anything:refine ./gimp "I want more CLIs on image batch processing and filters"

The refine command performs gap analysis between the software's full capabilities and current CLI coverage, then implements new commands, tests, and documentation for the identified gaps. You can run it multiple times to steadily expand coverage — each run is incremental and non-destructive.

Alternative: Manual Installation

If you prefer not to use the marketplace:

# Clone the repo
git clone https://github.com/HKUDS/CLI-Anything.git

Copy plugin to Claude Code plugins directory

cp -r CLI-Anything/cli-anything-plugin ~/.claude/plugins/cli-anything

Reload plugins

/reload-plugins

⚡ OpenCode (Experimental)

Step 1: Install the Commands

Note: Please upgrade to the latest OpenCode. Older versions may use a different commands path.

Copy the CLI-Anything commands and HARNESS.md to your OpenCode commands directory:

# Clone the repo
git clone https://github.com/HKUDS/CLI-Anything.git

Global install (available in all projects)

cp CLI-Anything/opencode-commands/*.md ~/.config/opencode/commands/ cp CLI-Anything/cli-anything-plugin/HARNESS.md ~/.config/opencode/commands/

Or project-level install

cp CLI-Anything/opencode-commands/*.md .opencode/commands/ cp CLI-Anything/cli-anything-plugin/HARNESS.md .opencode/commands/

Note: HARNESS.md is the methodology spec that all commands reference. It must be in the same directory as the commands.

This adds 5 slash commands: /cli-anything, /cli-anything-refine, /cli-anything-test, /cli-anything-validate, and /cli-anything-list.

Step 2: Build a CLI in One Command

# Generate a complete CLI for GIMP (all 7 phases)
/cli-anything ./gimp

Build from a GitHub repo

/cli-anything https://github.com/blender/blender

The command runs as a subtask and follows the same 7-phase methodology as Claude Code.

Step 3 (Optional): Refine and Improve the CLI

# Broad refinement — agent analyzes gaps across all capabilities
/cli-anything-refine ./gimp

Focused refinement — target a specific functionality area

/cli-anything-refine ./gimp "batch processing and filters"

⚡ Goose (Desktop / CLI) Experimental Community

Step 1: Install Goose

Install Goose (Desktop or CLI) using the official Goose instructions for your OS.

Step 2: Configure a CLI Provider

Configure Goose to use a CLI provider such as Claude Code, and make sure that CLI is installed and authenticated.

Step 3: Use CLI-Anything in a Goose Session

Once Goose is configured, start a session and use the same CLI-Anything commands described above for Claude Code, for example:

/cli-anything:cli-anything ./gimp
/cli-anything:refine ./gimp "batch processing and filters"

Note: When Goose runs through a CLI provider, it uses that provider's capabilities and command format.

⚡ Qodercli Community

Step 1: Register the Plugin

git clone https://github.com/HKUDS/CLI-Anything.git
bash CLI-Anything/qoder-plugin/setup-qodercli.sh

This registers the cli-anything plugin in ~/.qoder.json. Start a new Qodercli session after registration.

Step 2: Use CLI-Anything from Qodercli

/cli-anything:cli-anything ./gimp
/cli-anything:refine ./gimp "batch processing and filters"
/cli-anything:validate ./gimp

⚡ OpenClaw Community

Step 1: Install the Skill

CLI-Anything provides a native OpenClaw SKILL.md file. Copy it to your OpenClaw skills directory:

# Clone the repo
git clone https://github.com/HKUDS/CLI-Anything.git

Install to the global skills folder

mkdir -p ~/.openclaw/skills/cli-anything cp CLI-Anything/openclaw-skill/SKILL.md ~/.openclaw/skills/cli-anything/SKILL.md

Step 2: Build a CLI

Now you can invoke the skill inside OpenClaw:

@cli-anything build a CLI for ./gimp

The skill follows the same 7-phase methodology as Claude Code and OpenCode.

⚡ Codex Experimental Community

Step 1: Install the Skill

Run the bundled installer:

# Clone the repo
git clone https://github.com/HKUDS/CLI-Anything.git

Install the skill

bash CLI-Anything/codex-skill/scripts/install.sh
On Windows PowerShell, use:

.\CLI-Anything\codex-skill\scripts\install.ps1

This installs the skill to $CODEX_HOME/skills/cli-anything (or ~/.codex/skills/cli-anything if CODEX_HOME is unset).

Restart Codex after installation so it is discovered.

Step 2: Use CLI-Anything from Codex

Describe the task in natural language, for example:

Use CLI-Anything to build a harness for ./gimp
Use CLI-Anything to refine ./shotcut for picture-in-picture workflows
Use CLI-Anything to validate ./libreoffice

The Codex skill adapts the same methodology used by the Claude Code plugin and OpenCode commands, while keeping the generated Python harness format unchanged.

⚡ GitHub Copilot CLI Community

Step 1: Install the Plugin

git clone https://github.com/HKUDS/CLI-Anything.git
cd CLI-Anything
copilot plugin install ./cli-anything-plugin

This installs the CLI-Anything plugin to GitHub Copilot CLI. The plugin should now be available in your GitHub Copilot CLI session.

Step 2: Use CLI-Anything from GitHub Copilot CLI

/cli-anything:cli-anything ./gimp
/cli-anything:refine ./gimp "batch processing and filters"
/cli-anything:validate ./gimp

🔮 More Platforms (Coming Soon)

CLI-Anything is designed to be platform-agnostic. Support for more AI coding agents is planned:

  • Codex — available via the bundled skill in codex-skill/
  • Cursor — coming soon
  • Windsurf — coming soon
  • Your favorite tool — contributions welcome! See the opencode-commands/ directory for a reference implementation.

Use the Generated CLI

Regardless of which platform you used to build it, the generated CLI works the same way:

# Install to PATH
cd gimp/agent-harness && pip install -e .

Use from anywhere

cli-anything-gimp --help cli-anything-gimp project new --width 1920 --height 1080 -o poster.json cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"

Enter interactive REPL

cli-anything-gimp

Each installed CLI ships with a SKILL.md inside the Python package (cli_anything//skills/SKILL.md). The REPL banner automatically displays the absolute path to this file so AI agents know exactly where to read the skill definition. No extra configuration needed — pip install makes the skill discoverable.


🤖 Empower Your Agents with CLI-Hub

CLI-Hub lets agents autonomously discover and install the CLIs they need — zero human intervention required.

We published a meta-skill that lets any AI agent freely explore the full catalog of community CLIs and pick the right one for the task.

Install in one command:

# OpenClaw
openclaw skills install cli-anything-hub

nanobot

nanobot skills install cli-anything-hub

Then just prompt your agent:

Find appropriate CLI software in CLI-Hub and complete the task: 
The agent will browse the catalog, install whichever CLI fits the task, and use it — all autonomously.

How it works under the hood:

The catalog auto-updates whenever registry.json changes — new community CLIs show up automatically.

For Claude Code users: Copy cli-hub-meta-skill/SKILL.md into your project or skills directory for the same automatic CLI discovery.


💡 CLI-Anything's Vision: Building Agent-Native Software

• 🌐 Universal Access - Every software becomes instantly agent-controllable through structured CLI.

• 🔗 Seamless Integration - Agents control any application without APIs, GUI, rebuilding or complex wrappers.

• 🚀 Future-Ready Ecosystem - Transform human-designed software into agent-native tools with one command.


🔧 When to Use CLI-Anything

| Category | How to be Agent-native | Notable Examples | |----------|----------------------|----------| | 📂 GitHub Repositories | Transform any open-source project into agent-controllable tools through automatic CLI generation | VSCodium, WordPress, Calibre, Zotero, Joplin, Logseq, Penpot, Super Productivity | | 🤖 AI/ML Platforms | Automate model training, inference pipelines, and hyperparameter tuning through structured commands | Stable Diffusion WebUI, ComfyUI, Ollama, InvokeAI, Text-generation-webui, Open WebUI, Fooocus, Kohya_ss, AnythingLLM, SillyTavern | | 📊 Data & Analytics | Enable programmatic data processing, visualization, and statistical analysis workflows | JupyterLab, Apache Superset, Metabase, Redash, DBeaver, KNIME, Orange, OpenSearch Dashboards, Lightdash | | 💻 Development Tools | Streamline code editing, building, testing, and deployment processes via command interfaces | Jenkins, Gitea, Hoppscotch, Portainer, pgAdmin, SonarQube, ArgoCD, OpenLens, Insomnia, Beekeeper Studio, iTerm2 | | 🎨 Creative & Media | Control content creation, editing, and rendering workflows programmatically | Blender, GIMP, OBS Studio, Audacity, Krita, Kdenlive, Shotcut, Inkscape, Darktable, LMMS, Ardour | | 🔬 Scientific Computing | Automate research workflows, simulations, and complex calculations | ImageJ, FreeCAD, QGIS, ParaView, Gephi, LibreCAD, Stellarium, KiCad, JASP, Jamovi | | 🏢 Enterprise & Office | Convert business applications and productivity tools into agent-accessible systems | NextCloud, GitLab, Grafana, Mattermost, LibreOffice, AppFlowy, NocoDB, Odoo (Community), Plane, ERPNext | | 📞 Communication & Collaboration | Automate meeting scheduling, participant management, recording retrieval, and reporting through structured CLI | Zoom, Jitsi Meet, BigBlueButton, Mattermost | | 📐 Diagramming & Visualization | Create and manipulate diagrams, flowcharts, architecture diagrams, and visual documentation programmatically | Draw.io (diagrams.net), Mermaid, PlantUML, Excalidraw, yEd | | 🌐 Network & Infrastructure | Manage network services, DNS, ad-blocking, and infrastructure through structured CLI commands | AdGuardHome | | 🔬 Graphics & GPU Debugging | Analyze GPU frame captures, inspect pipeline state, export shaders, and diff rendering state | RenderDoc |

| ✨ AI Content Generation | Generate professional deliverables (slides, docs, diagrams, websites, research reports) through AI-powered cloud APIs | AnyGen, Gamma, Beautiful.ai, Tome |


CLI-Anything's Key Features

The Agent-Software Gap

AI agents are great at reasoning but terrible at using real professional software. Current solutions are fragile UI automation, limited APIs, or dumbed-down reimplementations that miss 90% of functionality.

CLI-Anything's Solution: Transform any professional software into agent-native tools without losing capabilities.

| Current Pain Point | CLI-Anything's Fix | |----------|----------------------| | 🤖 "AI can't use real tools" | Direct integration with actual software backends (Blender, LibreOffice, FFmpeg) — full professional capabilities, zero compromises | | 💸 "UI automation breaks constantly" | No screenshots, no clicking, no RPA fragility. Pure command-line reliability with structured interfaces | | 📊 "Agents need structured data" | Built-in JSON output for seamless agent consumption + human-readable formats for debugging | | 🔧 "Custom integrations are expensive" | One Claude plugin auto-generates CLIs for ANY codebase through proven 7-phase pipeline | | ⚡ "Prototype vs Production gap" | 1,839+ tests with real software validation. Battle-tested across 16 major applications |


🎯 What Can You Do with CLI-Anything?

🛠️ Let Agents Take Your Workflows

Professional or everyday — just throw the codebase at /cli-anything. GIMP, Blender, Shotcut for creative work. LibreOffice, OBS Studio for daily tasks. Don't have the source? Find an open-source alternative and throw that in. You'll instantly get a full CLI your agents can use.

🔗 Unify Scattered APIs into One CLI

Tired of juggling fragmented web service APIs? Feed the docs or SDK manuscripts to /cli-anything and your agents get a powerful, stateful CLI that wraps those individual endpoints into coherent command groups. One tool instead of dozens of raw API calls — stronger capabilities while saving tokens.

🚀 Replace or Supercharge GUI Agents

CLI-Anything can flat-out replace GUI-based agent approaches — no more screenshots, no brittle pixel-clicking. But here's the fun part: once you /cli-anything a GUI software, you can synthesize agent tasks, evaluators, and benchmarks entirely via code and terminal — fully automated, iteratively refinable, massively more efficient.


✨ ⚙️ How CLI-Anything Works

🏗️ Fully Automated 7-Phase Pipeline

From codebase analysis to PyPI publishing — the plugin handles architecture design, implementation, test planning, test writing, and documentation completely automatically.

🎯 Authentic Software Integration

Direct calls to real applications for actual rendering. LibreOffice generates PDFs, Blender renders 3D scenes, Audacity processes audio via sox. Zero compromises, Zero toy implementations.

🔁 Smart Session Management

Persistent project state with undo/redo capabilities, plus unified REPL interface (ReplSkin) that delivers consistent interactive experience across all CLIs.

📦 Zero-Config Installation

Simple pip install -e . puts cli-anything- directly on PATH. Agents discover tools via standard which commands. No setup, no wrappers.

🧪 Production-Grade Testing

Multi-layered validation: unit tests with synthetic data, end-to-end tests with real files and software, plus CLI subprocess verification of installed commands.

🐍 Clean Package Architecture

All CLIs organized under cli_anything.* namespace — conflict-free, pip-installable, with consistent naming: cli-anything-gimp, cli-anything-blender, etc.

🤖 SKILL.md Generation

Each generated CLI includes a SKILL.md file inside the Python package at cli_anything//skills/SKILL.md. This self-contained skill definition enables AI agents to discover and use the CLI through Claude Code's skill system or other agent frameworks.

What SKILL.md provides:

SKILL.md files are auto-generated during Phase 6.5 of the pipeline using skill_generator.py, which extracts metadata directly from the CLI's Click decorators, setup.py, and README. Because the file lives inside the package, it is installed alongside the CLI via pip install and auto-detected by the REPL banner — agents can read the absolute path displayed at startup.


🎬 Demonstrations

🎯 General-Purpose

CLI-Anything works on any software with a codebase — no domain restrictions or architectural limitations.

🏭 Professional-Grade Testing

Tested across 16 diverse, complex applications spanning creative, productivity, communication, diagramming, AI image generation, AI content generation, network ad blocking, and local LLM inference domains previously inaccessible to AI agents.

🎨 Diverse Domain Coverage

From creative workflows (image editing, 3D modeling, vector graphics) to production tools (audio, office, live streaming, video editing).

✅ Full CLI Generation

Each application received complete, production-ready CLI interfaces — not demos, but comprehensive tool access preserving full capabilities.

Software Domain CLI Command Backend Tests
🎨 GIMP Image Editing cli-anything-gimp Pillow + GEGL/Script-Fu ✅ 107
🧊 Blender 3D Modeling & Rendering cli-anything-blender bpy (Python scripting) ✅ 208
✏️ Inkscape Vector Graphics cli-anything-inkscape Direct SVG/XML manipulation ✅ 202
🎵 Audacity Audio Production cli-anything-audacity Python wave + sox ✅ 161
🌐 Browser Browser Automation cli-anything-browser DOMShell MCP + Accessibility Tree New
📄 LibreOffice Office Suite (Writer, Calc, Impress) cli-anything-libreoffice ODF generation + headless LO ✅ 158
📝 Mubu Knowledge Management & Outlining cli-anything-mubu Local Mubu data + sync logs ✅ 96
📹 OBS Studio Live Streaming & Recording cli-anything-obs-studio JSON scene + obs-websocket ✅ 153
🎞️ Kdenlive Video Editing cli-anything-kdenlive MLT XML + melt renderer ✅ 155
🎬 Shotcut Video Editing cli-anything-shotcut Direct MLT XML + melt ✅ 154
📞 Zoom Video Conferencing cli-anything-zoom Zoom REST API (OAuth2) ✅ 22
🎵 MuseScore Music Notation cli-anything-musescore mscore CLI (MSCX/MusicXML) ✅ 56
📐 Draw.io Diagramming cli-anything-drawio mxGraph XML + draw.io CLI ✅ 138
🧜 Mermaid Live Editor Diagramming cli-anything-mermaid Mermaid state + mermaid.ink renderer ✅ 10
✨ AnyGen AI Content Generation cli-anything-anygen AnyGen REST API (anygen.io) ✅ 50
🧠 NotebookLM AI Research Assistant cli-anything-notebooklm NotebookLM CLI wrapper (experimental) ✅ 21
🖼️ ComfyUI AI Image Generation cli-anything-comfyui ComfyUI REST API ✅ 70
🛡️ AdGuard Home Network-wide Ad Blocking cli-anything-adguardhome AdGuard Home REST API ✅ 36
🦙 Ollama Local LLM Inference cli-anything-ollama Ollama REST API ✅ 98
🎨 Sketch UI Design sketch-cli sketch-constructor (Node.js) ✅ 19
Total ✅ 1,858

100% pass rate across all 1,858 tests — 1,355 unit tests + 484 end-to-end tests + 19 Node.js tests.


📊 Test Results

Each CLI harness undergoes rigorous multi-layered testing to ensure production reliability:

| Layer | What it tests | Example | |-------|---------------|---------| | Unit tests | Every core function in isolation with synthetic data | test_core.py — project creation, layer ops, filter params | | E2E tests (native) | Project file generation pipeline | Valid ODF ZIP structure, correct MLT XML, SVG well-formedness | | E2E tests (true backend) | Real software invocation + output verification | LibreOffice → PDF with %PDF- magic bytes, Blender → rendered PNG | | CLI subprocess tests | Installed command via subprocess.run | cli-anything-gimp --json project new → valid JSON output |

================================ Test Summary ================================
gimp          107 passed  ✅   (64 unit + 43 e2e)
blender       208 passed  ✅   (150 unit + 58 e2e)
inkscape      202 passed  ✅   (148 unit + 54 e2e)
audacity      161 passed  ✅   (107 unit + 54 e2e)
libreoffice   158 passed  ✅   (89 unit + 69 e2e)
mubu           96 passed  ✅   (85 unit + 11 e2e)
obs-studio    153 passed  ✅   (116 unit + 37 e2e)
kdenlive      155 passed  ✅   (111 unit + 44 e2e)
shotcut       154 passed  ✅   (110 unit + 44 e2e)
zoom           22 passed  ✅   (22 unit + 0 e2e)
drawio        138 passed  ✅   (116 unit + 22 e2e)
mermaid        10 passed  ✅   (5 unit + 5 e2e)
anygen         50 passed  ✅   (40 unit + 10 e2e)
notebooklm     21 passed  ✅   (21 unit + 0 e2e)
comfyui        70 passed  ✅   (60 unit + 10 e2e)
adguardhome    36 passed  ✅   (24 unit + 12 e2e)
ollama         98 passed  ✅   (87 unit + 11 e2e)
sketch         19 passed  ✅   (19 jest, Node.js)
renderdoc      59 passed  ✅   (45 unit + 14 e2e)
──────────────────────────────────────────────────────────────────────────────
TOTAL        1,917 passed  ✅   100% pass rate


🏗️ CLI-Anything's Architecture

CLI-Anything Architecture

🎯 Core Design Principles

---

📂 Project Structure

cli-anything/
├── 📄 README.md                          # You are here
├── 📁 assets/                            # Images and media
│   ├── icon.png                          # Project icon
│   └── teaser.png                        # Teaser figure
│
├── 🔌 cli-anything-plugin/               # The Claude Code plugin
│   ├── HARNESS.md                        # Methodology SOP (source of truth)
│   ├── README.md                         # Plugin documentation
│   ├── QUICKSTART.md                     # 5-minute getting started
│   ├── PUBLISHING.md                     # Distribution guide
│   ├── repl_skin.py                      # Unified REPL interface
│   ├── commands/                         # Plugin command definitions
│   │   ├── cli-anything.md               # Main build command
│   │   ├── refine.md                     # Expand existing harness coverage
│   │   ├── test.md                       # Test runner
│   │   └── validate.md                   # Standards validation
│   └── scripts/
│       └── setup-cli-anything.sh         # Setup script
│
├── 🤖 codex-skill/                      # Codex skill entry point
├── 🎨 gimp/agent-harness/               # GIMP CLI (107 tests)
├── 🧊 blender/agent-harness/            # Blender CLI (208 tests)
├── ✏️ inkscape/agent-harness/            # Inkscape CLI (202 tests)
├── 🎵 audacity/agent-harness/           # Audacity CLI (161 tests)
├── 🌐 browser/agent-harness/            # Browser CLI (DOMShell MCP, new)
├── 📄 libreoffice/agent-harness/        # LibreOffice CLI (158 tests)
├── 📝 mubu/agent-harness/               # Mubu CLI (96 tests)
├── 📹 obs-studio/agent-harness/         # OBS Studio CLI (153 tests)
├── 🎞️ kdenlive/agent-harness/           # Kdenlive CLI (155 tests)
├── 🎬 shotcut/agent-harness/            # Shotcut CLI (154 tests)
├── 📞 zoom/agent-harness/               # Zoom CLI (22 tests)
├── 🎵 musescore/agent-harness/          # MuseScore CLI (56 tests)
├── 📐 drawio/agent-harness/             # Draw.io CLI (138 tests)
├── 🧜 mermaid/agent-harness/            # Mermaid Live Editor CLI (10 tests)
├── ✨ anygen/agent-harness/             # AnyGen CLI (50 tests)
├── 🖼️ comfyui/agent-harness/            # ComfyUI CLI (70 tests)
├── 🧠 notebooklm/agent-harness/         # NotebookLM CLI (experimental, 21 tests)
├── 🛡️ adguardhome/agent-harness/       # AdGuard Home CLI (36 tests)
├── 🦙 ollama/agent-harness/             # Ollama CLI (98 tests)
├── 🎨 sketch/agent-harness/             # Sketch CLI (19 tests, Node.js)
└── 🔬 renderdoc/agent-harness/          # RenderDoc CLI (59 tests)

Each agent-harness/ contains an installable Python package under cli_anything./ with Click CLI, core modules, utils (including repl_skin.py and backend wrapper), and comprehensive tests.


🎯 Plugin Commands

| Command | Description | |---------|-------------| | /cli-anything | Build complete CLI harness — all 7 phases | | /cli-anything:refine [focus] | Refine an existing harness — expand coverage with gap analysis | | /cli-anything:test | Run tests and update TEST.md with results | | /cli-anything:validate | Validate against HARNESS.md standards |

Examples

# Build a complete CLI for GIMP from local source
/cli-anything /home/user/gimp

Build from a GitHub repo

/cli-anything https://github.com/blender/blender

Refine an existing harness — broad gap analysis

/cli-anything:refine /home/user/gimp

Refine with a specific focus area

/cli-anything:refine /home/user/shotcut "vid-in-vid and picture-in-picture compositing"

Run tests and update TEST.md

/cli-anything:test /home/user/inkscape

Validate against HARNESS.md standards

/cli-anything:validate /home/user/audacity


🎮 Demo: Using a Generated CLI

Here's what an agent can do with cli-anything-libreoffice:

# Create a new Writer document
$ cli-anything-libreoffice document new -o report.json --type writer
✓ Created Writer document: report.json

Add content

$ cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1 ✓ Added heading: "Q1 Report"

$ cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3 ✓ Added 4×3 table

Export to real PDF via LibreOffice headless

$ cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite ✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless

JSON mode for agent consumption

$ cli-anything-libreoffice --json document info --project report.json { "name": "Q1 Report", "type": "writer", "pages": 1, "elements": 2, "modified": true }

REPL Mode

$ cli-anything-blender
╔══════════════════════════════════════════╗
║       cli-anything-blender v1.0.0       ║
║     Blender CLI for AI Agents           ║
╚══════════════════════════════════════════╝

blender> scene new --name ProductShot ✓ Created scene: ProductShot

blender[ProductShot]> object add-mesh --type cube --location 0 0 1 ✓ Added mesh: Cube at (0, 0, 1)

blender[ProductShot]*> render execute --output render.png --engine CYCLES ✓ Rendered: render.png (1920×1080, 2.3 MB) via blender --background

blender[ProductShot]> exit Goodbye! 👋


📖 The Standard Playbook: HARNESS.md

HARNESS.md is our definitive SOP for making any software agent-accessible via automated CLI generation.

It encodes proven patterns and methodologies refined through automated generation processes.

The playbook distills key insights from successfully building all 16 diverse, production-ready harnesses.

Critical Lessons

| Lesson | Description | |--------|-------------| | Use the real software | The CLI MUST call the actual application for rendering. No Pillow replacements for GIMP, no custom renderers for Blender. Generate valid project files → invoke the real backend. | | The Rendering Gap | GUI apps apply effects at render time. If your CLI manipulates project files but uses a naive export tool, effects get silently dropped. Solution: native renderer → filter translation → render script. | | Filter Translation | When mapping effects between formats (MLT → ffmpeg), watch for duplicate filter merging, interleaved stream ordering, parameter space differences, and unmappable effects. | | Timecode Precision | Non-integer frame rates (29.97fps) cause cumulative rounding. Use round() not int(), integer arithmetic for display, and ±1 frame tolerance in tests. | | Output Verification | Never trust that export worked because it exited 0. Verify: magic bytes, ZIP/OOXML structure, pixel analysis, audio RMS levels, duration checks. |

See the full methodology: cli-anything-plugin/HARNESS.md


📦 Installation & Usage

For Plugin Users (Claude Code)

# Add marketplace & install (recommended)
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything

Build a CLI for any software with a codebase

/cli-anything

For Generated CLIs

# Install any generated CLI
cd /agent-harness
pip install -e .

Verify

which cli-anything-

Use

cli-anything- --help cli-anything- # enters REPL cli-anything- --json # JSON output for agents

Running Tests

# Run tests for a specific CLI
cd /agent-harness
python3 -m pytest cli_anything//tests/ -v

Force-installed mode (recommended for validation)

CLI_ANYTHING_FORCE_INSTALLED=1 python3 -m pytest cli_anything//tests/ -v -s


🤝 Contributing

We welcome contributions! CLI-Anything is designed to be extensible:

Limitations

Roadmap

---

📖 Documentation

| Document | Description | |----------|-------------| | cli-anything-plugin/HARNESS.md | The methodology SOP — single source of truth | | cli-anything-plugin/README.md | Plugin documentation — commands, options, phases | | cli-anything-plugin/QUICKSTART.md | 5-minute getting started guide | | cli-anything-plugin/PUBLISHING.md | Distribution and publishing guide |

Each generated harness also includes:

---

⭐ Star History

If CLI-Anything helps make your software Agent-native, give us a star! ⭐

Star History Chart


📄 License

MIT License — free to use, modify, and distribute.


CLI-AnythingMake any software with a codebase Agent-native.

A methodology for the age of AI agents | 16 professional software demos | 1,839 passing tests


CLI-Anything Icon

Thanks for visiting ✨ CLI-Anything!

Views

--- Tranlated By Open Ai Tx | Last indexed: 2026-03-29 ---