CLI-Anything Turns All Software Agent-Native

Jeff Liu··3 min read·GitHub
CLI-Anything Turns All Software Agent-Native

Key Takeaways

  1. 1CLI-Anything, an open-source project, boasts over 48.3k GitHub stars.
  2. 2It enables AI agents to control complex software like Blender and GIMP via generated CLIs.
  3. 3A 7-phase automated pipeline generates new CLIs from software source code.
  4. 4The system achieves a 100% pass rate across 2,464 tests, ensuring high reliability.
  5. 5Developers access existing CLIs via CLI-Hub or generate new ones from source code.

CLI-Anything is an open-source project with over 48.3k GitHub stars that automatically generates command-line interfaces (CLIs) for virtually any software. This framework makes complex applications like Blender and GIMP controllable by AI agents, bridging the gap between agent logic and real-world tools by wrapping them in scriptable commands.

The project addresses a significant challenge in AI development: agents excel at reasoning but struggle to interact with the graphical user interfaces (GUIs) that most professional software relies on. Traditional solutions like UI automation are often brittle and break with minor updates. CLI-Anything provides a more robust, universal alternative by creating structured, text-based controls that integrate directly with a program's backend functionality.

How is a New CLI Generated?

A new CLI is created using a plugin within a supported AI coding agent, such as Claude Code or Cursor, to run a fully automated 7-phase pipeline. This process analyzes the target software's source code, designs a command structure, implements a Python-based CLI, and generates a comprehensive test suite to ensure reliability.

The entire methodology is codified in a document named `HARNESS.md`, which acts as a standard operating procedure for the generation process. A key principle is the use of the actual software backend for all operations. This ensures that a command to render a 3D scene uses Blender's real engine, not a simplified imitation, preserving the software's full power. Developers can also iteratively improve a generated CLI using a `refine` command.

Using the Ecosystem vs. Building From Scratch

Developers have two primary ways to engage with the project. They can immediately leverage an existing ecosystem of CLIs for dozens of popular applications using the `CLI-Hub` package manager. For custom or unsupported software, they can use the core generator to build a new agent-native CLI directly from a source code repository.

Feature Use Existing CLIs (via CLI-Hub) Build a New CLI (via Generator)
Starting Point Install the `cli-anything-hub` package. Install a plugin in a supported AI coding agent.
Primary Command `cli-hub install ` `/cli-anything `
Best For Quickly automating tasks in supported software like OBS Studio, Joplin, or Calibre. Making internal tools, niche open-source projects, or any unlisted software agent-controllable.
Outcome A ready-to-use CLI is installed on your system. A new, complete Python CLI package is generated in an `agent-harness/` directory.

Why Is This Better Than UI Automation?

CLI-Anything creates a deterministic and reliable interface with structured JSON output, which is ideal for agent consumption. Unlike UI automation that relies on screen coordinates and can break with visual changes, its commands are stable, composable, and integrate directly with software backends for consistent and predictable results.

This approach's reliability is highlighted by its extensive testing, boasting a 100% pass rate across 2,464 tests for dozens of applications. Furthermore, the framework automatically generates a `SKILL.md` file for each CLI. This file documents the available commands and their usage, making the new tools discoverable by various agent frameworks. This focus on discoverable skills is a concept shared by other projects in the ecosystem, such as Orchestra Research's AI Skills, which also aim to expand agent capabilities through modular, understandable tools.

🛠️ How to Use CLI-Anything to Make Software Agent-Native

This guide outlines the two primary methods for interacting with the CLI-Anything project: leveraging existing agent-native CLIs via CLI-Hub or generating new CLIs for custom software.

  1. 1

    Choose Your CLI-Anything Approach

    Decide whether you need to use an existing agent-native CLI for a popular application or generate a new CLI for custom or unsupported software.

  2. 2

    Option A: Use Existing CLIs via CLI-Hub

    If you choose to use existing CLIs, first install the `cli-anything-hub` package. Then, install a specific agent-native CLI for your desired software (e.g., OBS Studio, Joplin, or Calibre) using the command `cli-hub install <name>`. This will install a ready-to-use CLI on your system.

  3. 3

    Option B: Build a New CLI via Generator

    If you choose to build a new CLI, install a plugin in a supported AI coding agent (such as Claude Code or Cursor). Next, generate a new, complete Python CLI package by running the command `/cli-anything <path-or-repo>` against your software's source code repository. The new package will be generated in an `agent-harness/` directory.

Related Articles

More insights on trending topics and technology

The Signal

Everything worth knowing in AI.

One email a week.