[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1817":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},1817,"CLI-Anything","HKUDS\u002FCLI-Anything","HKUDS","\"CLI-Anything: Making ALL Software Agent-Native\" -- CLI-Hub: https:\u002F\u002Fclianything.cc\u002F","https:\u002F\u002Fclianything.cc\u002F",null,"Python",42741,4024,170,35,0,117,713,8497,605,45,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:00:33","\u003Ch1 align=\"center\">\u003Cimg src=\"assets\u002Ficon.png\" alt=\"\" width=\"64\" style=\"vertical-align: middle;\">&nbsp; CLI-Anything: Making ALL Software Agent-Native\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Today's Software Serves Humans👨‍💻. Tomorrow's Users will be Agents🤖.\u003Cbr>\nCLI-Anything: Bridging the Gap Between AI Agents and the World's Software\u003C\u002Fstrong>\u003Cbr>\n\u003C\u002Fp>\n\n**🌐 [CLI-Hub](https:\u002F\u002Fhkuds.github.io\u002FCLI-Anything\u002F)**: `pip install cli-anything-hub` then `cli-hub install \u003Cname>` — browse, install, and manage all community-built CLIs. Want to add your own? [Open a PR](https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) — the hub updates instantly.\n\n**🎬 [See Demos](#-real-world-demos)**: Watch AI agents use generated CLIs plus preview, live preview, and trajectory loops to produce real artifacts — CAD builds, 3D scenes, diagrams, gameplay, subtitles, and more.\n\n**🙋 [Become a Contributor, or Request a CLI]**: [Join us](https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything\u002Fissues\u002Fnew?template=contributor-signup.yml)! Sign up to build a new CLI harness — once reviewed and merged, you'll gain access as one of our community contributors! Wish CLI-Anything supported a specific software or service? Submit a [wishlist request](https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything\u002Fissues\u002Fnew?template=cli-wishlist.yml)!\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-quick-start\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQuick_Start-5_min-blue?style=for-the-badge\" alt=\"Quick Start\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fhkuds.github.io\u002FCLI-Anything\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCLI_Hub-Browse_%26_Install-ff69b4?style=for-the-badge\" alt=\"CLI Hub\">\u003C\u002Fa>\n  \u003Ca href=\"#-demonstrations\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDemos-18_Apps-green?style=for-the-badge\" alt=\"Demos\">\u003C\u002Fa>\n  \u003Ca href=\"#-test-results\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTests-2%2C269_Passing-brightgreen?style=for-the-badge\" alt=\"Tests\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-yellow?style=for-the-badge\" alt=\"License\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-≥3.10-blue?logo=python&logoColor=white\" alt=\"Python\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fclick-≥8.0-green\" alt=\"Click\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpytest-100%25_pass-brightgreen\" alt=\"Pytest\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcoverage-unit_%2B_e2e-orange\" alt=\"Coverage\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Foutput-JSON_%2B_Human-blueviolet\" alt=\"Output\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FHKUDS\u002F.github\u002Fblob\u002Fmain\u002Fprofile\u002FREADME.md\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFeishu-Group-E9DBFC?style=flat&logo=feishu&logoColor=white\" alt=\"Feishu\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FHKUDS\u002F.github\u002Fblob\u002Fmain\u002Fprofile\u002FREADME.md\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWeChat-Group-C5EAB4?style=flat&logo=wechat&logoColor=white\" alt=\"WeChat\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n**One Command Line**: Make any software agent-ready for Pi, OpenClaw, nanobot, Cursor, Claude Code, etc.&nbsp;&nbsp;[**中文文档**](README_CN.md) | [**日本語ドキュメント**](README_JA.md)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fcli-typing.gif\" alt=\"CLI-Anything typing demo\" width=\"800\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fteaser.png\" alt=\"CLI-Anything Teaser\" width=\"800\">\n\u003C\u002Fp>\n\n---\n\n## 📰 News\n\n> Thanks to all invaluable efforts from the community! More updates continuously on the way everyday..\n\n- **2026-04-18** 🧩 **All SKILL.md files are now being unified under the top-level `skills\u002F` directory** — every CLI skill can be installed from one canonical source with `npx skills add HKUDS\u002FCLI-Anything --skill \u003Cskill-name> -g -y`. We also added root-skill validation CI, synced contribution \u002F PR docs and REPL skill-path hints to the new layout, and refreshed the **CLI-Hub** install-first frontend around the new `npx skills` flow.\n\n- **2026-04-17** 🌐 **CLI-Hub** received another install UX pass — public registry metadata and skill coverage were tightened, visit counting was corrected, and the web hub was further refined. 🧪 **Shotcut** render output duration was fixed (#92). 📝 **SKILL** contribution paths were corrected for the new docs flow (#224), and the skill generator now safely handles empty intros (#203).\n\n- **2026-04-16** 🗺️ **QGIS CLI** merged (#207) — a full GIS \u002F map authoring harness landed. 🧬 **UniMol Tools CLI** merged (#219) for molecular modeling workflows. 🌐 **CLI-Hub** also added more public CLIs, including **py4csr**, refreshed its generated meta-skill, corrected SKILL contribution docs, and fixed `apt-get` package extraction in skill generation (#204).\n\n- **2026-04-16** 📈 **Unreal Insights CLI** expanded — added background capture session control (`capture start\u002Fstatus\u002Fsnapshot\u002Fstop`), engine-root-matched `UnrealInsights.exe` resolution\u002Fbuild flows, and refreshed docs\u002Ftests for the new orchestration workflow.\n\n- **2026-04-15** 🌐 **CLI-Hub** updated to **v0.2.0** — the PyPI package now supports public CLIs from multiple install sources (`pip`, `npm`, `brew`, bundled\u002Fsystem tools), backed by a new `public_registry.json`. The Hub frontend was redesigned with separate **CLI-Anything CLIs** and **Public CLIs** decks, and live end-to-end checks now cover real install, update, and uninstall flows across both pip and npm packages.\n\n- **2026-04-14** 🧭 **Safari CLI** merged (#212) and added to the Hub registry — browser automation via `safari-mcp`. 🎬 **Kdenlive** also received compatibility fixes for Gen 5 project output and invalid project generation.\n\n- **2026-04-13** 📓 **Obsidian CLI** merged (#211) — knowledge management harness via the Local REST API, with 48 unit tests and 7 E2E tests. ⛓️ **Eth2-Quickstart CLI** merged (#195) — Ethereum staking node management harness. 📚 **Zotero CLI** updated to v0.4.1 (#201) — now shipped from its standalone repo, and CLI-Hub gained support for remote `skill_md` URLs.\n\n- **2026-04-11** 🔗 **n8n CLI** merged (#188) — workflow automation harness for self-hosted automation flows. 🔧 **Exa CLI** fix (#205) added the `x-exa-integration` header for usage tracking. 📦 **CLI-Hub** also gained its PyPI auto-publish workflow and package refresh pipeline.\n\n- **2026-04-10** 📦 **CLI-Hub package manager** launched — `pip install cli-anything-hub` to browse, search, install, update, and uninstall CLI-Anything harnesses from one command. The web Hub also shipped its first install-focused frontend refresh and \"Empower yourself\" toolkit card.\n\n\u003Cdetails>\n\u003Csummary>Earlier news (Apr 1–9)\u003C\u002Fsummary>\n\n- **2026-04-09** 🧹 Cleanup and docs pass (#200) — fixed Openscreen test subtotals, added Openscreen to the Chinese README and project structure, and clarified `\u002Fcli-anything` command syntax in the docs.\n\n- **2026-04-08** 🎬 **Openscreen CLI** merged (#183) — screen recording editor harness with 101 tests. ☁️ **CloudAnalyzer CLI** merged (#181) — cloud cost analysis harness with 27 commands. 🌊 **SeaClip \u002F PM2 \u002F ChromaDB** harnesses merged (#129).\n\n- **2026-04-07** 🔄 **Dify Workflow CLI** merged (#191) — workflow automation wrapper. 🔧 **Inkscape** auto-save fix (#193, fixes #182). 🛡️ **DomShell security hardening** (#156) — URL validation and DOM sanitization for the browser CLI. 🥧 **Pi Coding Agent extension** merged (#178).\n\n- **2026-04-06** 🔍 **Exa CLI** merged (#172) — AI-powered web search and answers harness. 🎮 **Godot CLI** merged (#140) — game engine harness with a full demo-game E2E pipeline. ☁️ **CloudAnalyzer** review fixes and frontend improvements also landed.\n\n- **2026-04-03** 🧪 **WireMock CLI** merged (#170) — HTTP mock server harness for API testing. 🥧 **Pi Coding Agent** extension support also landed, and CLI demo recordings were added to the docs.\n\n- **2026-04-01** ⚔️ **Slay the Spire II CLI** merged (#148) — deck-building roguelike harness. 🎥 **VideoCaptioner CLI** merged (#166) — AI-powered video captioning harness. 🛰️ **IntelWatch** was added to the registry for B2B OSINT workflows.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Earlier news (Mar 23–30)\u003C\u002Fsummary>\n\n- **2026-03-30** 🏗️ **CLI-Anything v0.2.0** — HARNESS.md progressive disclosure redesign. Detailed guides extracted into `guides\u002F` for on-demand loading. Phases 1–7 now contiguous. Key Principles and Rules merged into a single authoritative section.\n\n- **2026-03-29** 📐 Blender skill docs updated — enforce absolute render paths and correct prerequisites.\n\n- **2026-03-28** 🌐 **CLIBrowser** added to CLI-Hub registry for agent-accessible browser automation.\n\n- **2026-03-27** 📚 Zotero SKILL.md enhanced with agent-facing constraints; REPL config and executable resolution fixes.\n\n- **2026-03-26** 📖 **Zotero CLI** harness landed for Zotero desktop (library management, collections, citations). Draw.io custom ID bugfix (#132) and registry.json syntax fix.\n\n- **2026-03-25** 🎮 **RenderDoc CLI** merged for GPU frame capture analysis. FreeCAD updated for v1.1. Blender EEVEE engine name corrected. Zoom token permissions hardened.\n\n- **2026-03-24** 🏭 **FreeCAD CLI** added with 258 commands across 17 groups. **iTerm2** and **Teltonika RMS** harnesses added to registry.\n\n- **2026-03-23** 🤖 Launched **CLI-Hub meta-skill** — agents can now discover and install CLIs autonomously. **Krita CLI** harness merged for digital painting.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Earlier news (Mar 11–22)\u003C\u002Fsummary>\n\n- **2026-03-22** 🎵 **MuseScore CLI** merged with transpose, export, and instrument management.\n\n- **2026-03-21** 🔧 Infrastructure improvements — refined test harnesses and documentation across multiple CLIs. Enhanced Windows compatibility for several backends.\n\n- **2026-03-20** 🌐 **Novita AI** CLI added for OpenAI-compatible API access. Registry metadata improvements for better hub discovery.\n\n- **2026-03-19** 📦 Package structure refinements across harnesses. Improved SKILL.md generation with better command documentation.\n\n- **2026-03-18** 🧪 Test coverage expansion — additional E2E scenarios and edge case validation across multiple CLIs.\n\n- **2026-03-17** 🌐 Launched the **[CLI-Hub](https:\u002F\u002Fhkuds.github.io\u002FCLI-Anything\u002F)** — a central registry where you can browse, search, and install any CLI with a single `pip` command.\n\n- **2026-03-16** 🤖 Added **SKILL.md generation** (Phase 6.5) — every generated CLI now ships with an AI-discoverable skill definition.\n\n- **2026-03-15** 🐾 Support for **OpenClaw** from the community! Merged Windows `cygpath` guard for cross-platform support.\n\n- **2026-03-14** 🔒 Fixed a GIMP Script-Fu path injection vulnerability and added **Japanese README** translation.\n\n- **2026-03-13** 🔌 **Qodercli** plugin officially merged as a community contribution with dedicated setup scripts.\n\n- **2026-03-12** 📦 **Codex skill** integration landed, bringing CLI-Anything to yet another AI coding platform.\n\n- **2026-03-11** 📞 **Zoom** video conferencing harness added as the 11th supported application.\n\n\u003C\u002Fdetails>\n\n---\n\n## 🤔 Why CLI?\n\nCLI is the universal interface for both humans and AI agents:\n\n• **Structured & Composable** - Text commands match LLM format and chain for complex workflows\n\n• **Lightweight & Universal** - Minimal overhead, works across all systems without dependencies\n\n• **Self-Describing** - --help flags provide automatic documentation agents can discover\n\n• **Proven Success** - Claude Code runs thousands of real workflows through CLI daily\n\n• **Agent-First Design** - Structured JSON output eliminates parsing complexity\n\n• **Deterministic & Reliable** - Consistent results enable predictable agent behavior\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Python 3.10+**\n- Target software installed (e.g., GIMP, Blender, LibreOffice, or your own application)\n- A supported AI coding agent: [Claude Code](#-claude-code) | [Pi](#-pi-coding-agent) | [OpenClaw](#-openclaw) | [OpenCode](#-opencode) | [Codex](#-codex) | [Qodercli](#-qodercli) | [GitHub Copilot CLI](#-github-copilot-cli) | [More Platforms](#-more-platforms-coming-soon)\n\n### Pick Your Platform\n\n\u003Cdetails open>\n\u003Csummary>\u003Ch4 id=\"-claude-code\">⚡ Claude Code\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Add the Marketplace**\n\nCLI-Anything is distributed as a Claude Code plugin marketplace hosted on GitHub.\n\n```bash\n# Add the CLI-Anything marketplace\n\u002Fplugin marketplace add HKUDS\u002FCLI-Anything\n```\n\n**Step 2: Install the Plugin**\n\n```bash\n# Install the cli-anything plugin from the marketplace\n\u002Fplugin install cli-anything\n```\n\nThat's it. The plugin is now available in your Claude Code session.\n\n> **Note for Win Users:** Claude Code runs shell commands via `bash`. On Windows, install Git for Windows (includes `bash` and\n`cygpath`) or use WSL; otherwise commands may fail with `cygpath: command not found`.\n\n**Step 3: Build a CLI in One Command**\n\n```bash\n# \u002Fcli-anything \u003Csoftware-path-or-repo>\n# Generate a complete CLI for GIMP (all 7 phases)\n\u002Fcli-anything .\u002Fgimp\n```\n\nCommand compatibility across Claude Code versions:\n- Use `\u002Fcli-anything` as the primary entrypoint.\n- On older builds where `\u002Fcli-anything` isn't recognized **after confirming the plugin is installed and loaded**, try the legacy entry form `\u002Fcli-anything:cli-anything`.\n- Auxiliary commands keep the `:subcommand` form (e.g. `\u002Fcli-anything:refine`).\n\nIf you see `Unknown skill: cli-anything`, focus on plugin install\u002Fload first (both entry forms reference the same skill, so swapping forms won't help):\n1. Reload plugin commands: `\u002Freload-plugins`\n2. Verify the plugin is loaded: `\u002Fhelp cli-anything` (CLI-Anything help\u002Fcommands should appear)\n3. Reinstall from marketplace if needed:\n   - `\u002Fplugin marketplace add HKUDS\u002FCLI-Anything`\n   - `\u002Fplugin install cli-anything`\n4. After confirming the plugin is available, retry the entry command:\n   - Preferred: `\u002Fcli-anything .\u002Fgimp`\n   - Older builds only: `\u002Fcli-anything:cli-anything .\u002Fgimp`\n\nThis runs the full pipeline:\n1. 🔍 **Analyze** — Scans source code, maps GUI actions to APIs\n2. 📐 **Design** — Architects command groups, state model, output formats\n3. 🔨 **Implement** — Builds Click CLI with REPL, JSON output, undo\u002Fredo\n4. 📋 **Plan Tests** — Creates TEST.md with unit + E2E test plans\n5. 🧪 **Write Tests** — Implements comprehensive test suite\n6. 📝 **Document** — Updates TEST.md with results\n7. 📦 **Publish** — Creates `setup.py`, installs to PATH\n\n**Step 4 (Optional): Refine and Improve the CLI**\n\nAfter the initial build, you can iteratively refine the CLI to expand coverage and add missing capabilities:\n\n```bash\n# Broad refinement — agent analyzes gaps across all capabilities\n\u002Fcli-anything:refine .\u002Fgimp\n\n# Focused refinement — target a specific functionality area\n\u002Fcli-anything:refine .\u002Fgimp \"I want more CLIs on image batch processing and filters\"\n```\n\nThe 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.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Alternative: Manual Installation\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nIf you prefer not to use the marketplace:\n\n```bash\n# Clone the repo\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\n\n# Copy plugin to Claude Code plugins directory\ncp -r CLI-Anything\u002Fcli-anything-plugin ~\u002F.claude\u002Fplugins\u002Fcli-anything\n\n# Reload plugins\n\u002Freload-plugins\n```\n\n\u003C\u002Fdetails>\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ch4 id=\"-pi-coding-agent\">⚡ Pi Coding Agent\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Install the Extension**\n\nThe extension lives at `.pi-extension\u002Fcli-anything\u002F` in this repository. Install it globally so `\u002Fcli-anything` commands are available in **all** Pi projects:\n\n```bash\n# Clone the repo\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\ncd CLI-Anything\n\n# Install globally into Pi's extensions directory\nbash .pi-extension\u002Fcli-anything\u002Finstall.sh\n```\n\nTo uninstall:\n\n```bash\nbash .pi-extension\u002Fcli-anything\u002Finstall.sh --uninstall\n```\n\n> **How it works:** `install.sh` copies the extension files (including HARNESS.md, commands, guides, scripts, and templates from `cli-anything-plugin\u002F`) into `~\u002F.pi\u002Fagent\u002Fextensions\u002Fcli-anything\u002F`, which Pi auto-discovers on startup. Run `\u002Freload` in Pi or restart Pi to activate.\n\n**Step 2: Build a CLI in One Command**\n\nOnce the extension is loaded, the following commands are available:\n\n```bash\n# Generate a complete CLI for GIMP (all 7 phases)\n\u002Fcli-anything .\u002Fgimp\n\n# Build from a GitHub repo\n\u002Fcli-anything https:\u002F\u002Fgithub.com\u002Fblender\u002Fblender\n```\n\n**Step 3 (Optional): Refine and Improve the CLI**\n\n```bash\n# Broad refinement — agent analyzes gaps across all capabilities\n\u002Fcli-anything:refine .\u002Fgimp\n\n# Focused refinement — target a specific functionality area\n\u002Fcli-anything:refine .\u002Fgimp \"batch processing and filters\"\n```\n\n**Available Commands**\n\n| Command | Description |\n|---------|-------------|\n| `\u002Fcli-anything \u003Cpath-or-repo>` | Build a complete CLI harness |\n| `\u002Fcli-anything:refine \u003Cpath> [focus]` | Refine an existing CLI harness |\n| `\u002Fcli-anything:test \u003Cpath-or-repo>` | Run tests for a CLI harness |\n| `\u002Fcli-anything:validate \u003Cpath-or-repo>` | Validate a CLI harness |\n| `\u002Fcli-anything:list [options]` | List all CLI-Anything tools |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ch4 id=\"-opencode\">⚡ OpenCode (Experimental)\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Install the Commands**\n\n> **Note:** Please upgrade to the latest OpenCode. Older versions may use a different commands path.\n\nCopy the CLI-Anything commands **and** `HARNESS.md` to your OpenCode commands directory:\n\n```bash\n# Clone the repo\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\n\n# Global install (available in all projects)\ncp CLI-Anything\u002Fopencode-commands\u002F*.md ~\u002F.config\u002Fopencode\u002Fcommands\u002F\ncp CLI-Anything\u002Fcli-anything-plugin\u002FHARNESS.md ~\u002F.config\u002Fopencode\u002Fcommands\u002F\n\n# Or project-level install\ncp CLI-Anything\u002Fopencode-commands\u002F*.md .opencode\u002Fcommands\u002F\ncp CLI-Anything\u002Fcli-anything-plugin\u002FHARNESS.md .opencode\u002Fcommands\u002F\n```\n\n> **Note:** Please upgrade to the latest OpenCode. Older versions use `command\u002F` (singular) instead of `commands\u002F`. If `commands\u002F` does not exist, use `command\u002F` for both global and project-level installs.\n\n> **Note:** `HARNESS.md` is the methodology spec that all commands reference. It must be in the same directory as the commands.\n\nThis adds 5 slash commands: `\u002Fcli-anything`, `\u002Fcli-anything-refine`, `\u002Fcli-anything-test`, `\u002Fcli-anything-validate`, and `\u002Fcli-anything-list`.\n\n**Step 2: Build a CLI in One Command**\n\n```bash\n# Generate a complete CLI for GIMP (all 7 phases)\n\u002Fcli-anything .\u002Fgimp\n\n# Build from a GitHub repo\n\u002Fcli-anything https:\u002F\u002Fgithub.com\u002Fblender\u002Fblender\n```\n\nThe command runs as a subtask and follows the same 7-phase methodology as Claude Code.\n\n**Step 3 (Optional): Refine and Improve the CLI**\n\n```bash\n# Broad refinement — agent analyzes gaps across all capabilities\n\u002Fcli-anything-refine .\u002Fgimp\n\n# Focused refinement — target a specific functionality area\n\u002Fcli-anything-refine .\u002Fgimp \"batch processing and filters\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ch4 id=\"-goose\">⚡ Goose (Desktop \u002F CLI) \u003Csup>\u003Ccode>Experimental\u003C\u002Fcode>\u003C\u002Fsup> \u003Csup>\u003Ccode>Community\u003C\u002Fcode>\u003C\u002Fsup>\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Install Goose**\n\nInstall Goose (Desktop or CLI) using the official Goose instructions for your OS.\n\n**Step 2: Configure a CLI Provider**\n\nConfigure Goose to use a CLI provider such as Claude Code, and make sure that CLI is installed and authenticated.\n\n**Step 3: Use CLI-Anything in a Goose Session**\n\nOnce Goose is configured, start a session and use the same CLI-Anything commands described above for Claude Code, for example:\n\n```bash\n\u002Fcli-anything .\u002Fgimp\n\u002Fcli-anything:refine .\u002Fgimp \"batch processing and filters\"\n```\n\n> Note: When Goose runs through a CLI provider, it uses that provider's capabilities and command format.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Ch4 id=\"-qodercli\">⚡ Qodercli \u003Csup>\u003Ccode>Community\u003C\u002Fcode>\u003C\u002Fsup>\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Register the Plugin**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\nbash CLI-Anything\u002Fqoder-plugin\u002Fsetup-qodercli.sh\n```\n\nThis registers the cli-anything plugin in `~\u002F.qoder.json`. Start a new Qodercli session after registration.\n\n**Step 2: Use CLI-Anything from Qodercli**\n\n```bash\n\u002Fcli-anything .\u002Fgimp\n\u002Fcli-anything:refine .\u002Fgimp \"batch processing and filters\"\n\u002Fcli-anything:validate .\u002Fgimp\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Ch4 id=\"-openclaw\">⚡ OpenClaw \u003Csup>\u003Ccode>Community\u003C\u002Fcode>\u003C\u002Fsup>\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Install the Skill**\n\nCLI-Anything provides a native OpenClaw `SKILL.md` file. Copy it to your OpenClaw skills directory:\n\n```bash\n# Clone the repo\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\n\n# Install to the global skills folder\nmkdir -p ~\u002F.openclaw\u002Fskills\u002Fcli-anything\ncp CLI-Anything\u002Fopenclaw-skill\u002FSKILL.md ~\u002F.openclaw\u002Fskills\u002Fcli-anything\u002FSKILL.md\n```\n\n**Step 2: Build a CLI**\n\nNow you can invoke the skill inside OpenClaw:\n\n`@cli-anything build a CLI for .\u002Fgimp`\n\nThe skill follows the same 7-phase methodology as Claude Code and OpenCode.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Ch4 id=\"-codex\">⚡ Codex \u003Csup>\u003Ccode>Experimental\u003C\u002Fcode>\u003C\u002Fsup> \u003Csup>\u003Ccode>Community\u003C\u002Fcode>\u003C\u002Fsup>\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Install the Skill**\n\nRun the bundled installer:\n\n```bash\n# Clone the repo\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\n\n# Install the skill\nbash CLI-Anything\u002Fcodex-skill\u002Fscripts\u002Finstall.sh\n```\n\nOn Windows PowerShell, use:\n\n```powershell\n.\\CLI-Anything\\codex-skill\\scripts\\install.ps1\n```\n\nThis installs the skill to `$CODEX_HOME\u002Fskills\u002Fcli-anything` (or `~\u002F.codex\u002Fskills\u002Fcli-anything` if `CODEX_HOME` is unset).\n\nRestart Codex after installation so it is discovered.\n\n**Step 2: Use CLI-Anything from Codex**\n\nDescribe the task in natural language, for example:\n\n```text\nUse CLI-Anything to build a harness for .\u002Fgimp\nUse CLI-Anything to refine .\u002Fshotcut for picture-in-picture workflows\nUse CLI-Anything to validate .\u002Flibreoffice\n```\n\nThe Codex skill adapts the same methodology used by the Claude Code plugin and\nOpenCode commands, while keeping the generated Python harness format unchanged.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\u003Ch4 id=\"-github-copilot-cli\">⚡ GitHub Copilot CLI \u003Csup>\u003Ccode>Community\u003C\u002Fcode>\u003C\u002Fsup>\u003C\u002Fh4>\u003C\u002Fsummary>\n\n**Step 1: Install the Plugin**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything.git\ncd CLI-Anything\ncopilot plugin install .\u002Fcli-anything-plugin\n```\n\nThis installs the CLI-Anything plugin to GitHub Copilot CLI. The plugin should now be available in your GitHub Copilot CLI session.\n\n**Step 2: Use CLI-Anything from GitHub Copilot CLI**\n\n```bash\n\u002Fcli-anything .\u002Fgimp\n\u002Fcli-anything:refine .\u002Fgimp \"batch processing and filters\"\n\u002Fcli-anything:validate .\u002Fgimp\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Ch4 id=\"-more-platforms-coming-soon\">🔮 More Platforms (Coming Soon)\u003C\u002Fh4>\u003C\u002Fsummary>\n\nCLI-Anything is designed to be platform-agnostic. Support for more AI coding agents is planned:\n\n- **Codex** — available via the bundled skill in `codex-skill\u002F`\n- **Cursor** — coming soon\n- **Windsurf** — coming soon\n- **Your favorite tool** — contributions welcome! See the `opencode-commands\u002F` directory for a reference implementation.\n\n\u003C\u002Fdetails>\n\n### Use the Generated CLI\n\nRegardless of which platform you used to build it, the generated CLI works the same way:\n\n```bash\n# Install to PATH\ncd gimp\u002Fagent-harness && pip install -e .\n\n# Use from anywhere\ncli-anything-gimp --help\ncli-anything-gimp project new --width 1920 --height 1080 -o poster.json\ncli-anything-gimp --json layer add -n \"Background\" --type solid --color \"#1a1a2e\"\n\n# Enter interactive REPL\ncli-anything-gimp\n```\n\nEach in-repo harness now has a canonical [`SKILL.md`](#-skillmd-generation) at `skills\u002Fcli-anything-\u003Csoftware>\u002FSKILL.md`, which makes the monorepo directly discoverable via `npx skills add HKUDS\u002FCLI-Anything --list`. Installed harness packages still ship a compatibility copy at `cli_anything\u002F\u003Csoftware>\u002Fskills\u002FSKILL.md`, and the REPL banner prefers the repo-root canonical file when present, falling back to the packaged copy otherwise.\n\n---\n\n## 🤖 Empower Your Agents with CLI-Hub\n\nCLI-Hub lets agents autonomously discover and install the CLIs they need — zero human intervention required.\n\nWe 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.\n\n**Install in one command:**\n\n```bash\n# OpenClaw\nopenclaw skills install cli-anything-hub\n\n# nanobot\nnanobot skills install cli-anything-hub\n```\n\n**Then just prompt your agent:**\n\n```\nFind appropriate CLI software in CLI-Hub and complete the task: \u003Cyour task here>\n```\n\nThe agent will browse the catalog, install whichever CLI fits the task, and use it — all autonomously.\n\n**How it works under the hood:**\n\n1. The meta-skill points to the live catalog at [`https:\u002F\u002Freeceyang.sgp1.cdn.digitaloceanspaces.com\u002FSKILL.md`](https:\u002F\u002Freeceyang.sgp1.cdn.digitaloceanspaces.com\u002FSKILL.md)\n2. The agent reads 20+ CLIs organized by category with one-line `pip install` commands\n3. The agent installs whichever CLI fits the task, then reads that CLI's own SKILL.md for detailed usage\n\nThe catalog auto-updates whenever `registry.json` changes — new community CLIs show up automatically.\n\n> **For Claude Code users:** Copy [`skills\u002Fcli-hub-meta-skill\u002FSKILL.md`](skills\u002Fcli-hub-meta-skill\u002FSKILL.md) into your project or skills directory for the same automatic CLI discovery.\n\n---\n\n## 💡 CLI-Anything's Vision: Building Agent-Native Software\n\n• 🌐 **Universal Access** - Every software becomes instantly agent-controllable through structured CLI.\n\n• 🔗 **Seamless Integration** - Agents control any application without APIs, GUI, rebuilding or complex wrappers.\n\n• 🚀 **Future-Ready Ecosystem** - Transform human-designed software into agent-native tools with one command.\n\n---\n\n## 🔧 When to Use CLI-Anything\n\n| Category | How to be Agent-native | Notable Examples |\n|----------|----------------------|----------|\n| **📂 GitHub Repositories** | Transform any open-source project into agent-controllable tools through automatic CLI generation | VSCodium, WordPress, Calibre, Zotero, Joplin, Logseq, Penpot, Super Productivity |\n| **🤖 AI\u002FML 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 |\n| **📊 Data & Analytics** | Enable programmatic data processing, visualization, and statistical analysis workflows | JupyterLab, Apache Superset, Metabase, Redash, DBeaver, KNIME, Orange, OpenSearch Dashboards, Lightdash |\n| **💻 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](https:\u002F\u002Fiterm2.com)** |\n| **🎨 Creative & Media** | Control content creation, editing, and rendering workflows programmatically | Blender, GIMP, OBS Studio, Audacity, Krita, Kdenlive, Shotcut, Inkscape, Darktable, LMMS, Ardour |\n| **🎮 Game Development** | Manage game projects, scenes, exports, and scripting through headless engine interfaces | **[Godot Engine](https:\u002F\u002Fgodotengine.org)**, **[s&box](https:\u002F\u002Fsbox.game)** |\n| **🔬 Scientific Computing** | Automate research workflows, simulations, and complex calculations | ImageJ, FreeCAD, QGIS, ParaView, Gephi, LibreCAD, Stellarium, KiCad, JASP, Jamovi |\n| **🏢 Enterprise & Office** | Convert business applications and productivity tools into agent-accessible systems | NextCloud, GitLab, Grafana, Mattermost, LibreOffice, AppFlowy, NocoDB, Odoo (Community), Plane, ERPNext |\n| **📞 Communication & Collaboration** | Automate meeting scheduling, participant management, recording retrieval, and reporting through structured CLI | Zoom, Jitsi Meet, BigBlueButton, Mattermost |\n| **📐 Diagramming & Visualization** | Create and manipulate diagrams, flowcharts, architecture diagrams, and visual documentation programmatically | Draw.io (diagrams.net), Mermaid, PlantUML, Excalidraw, yEd |\n| **🌐 Network & Infrastructure** | Manage network services, DNS, ad-blocking, and infrastructure through structured CLI commands | AdGuardHome |\n| **🧪 Testing & Mocking** | Control HTTP mock servers, manage test stubs, record and replay API traffic for integration testing | **[WireMock](https:\u002F\u002Fwiremock.org)** |\n| **🔬 Graphics & GPU Debugging** | Analyze GPU frame captures, inspect pipeline state, export shaders, and diff rendering state | RenderDoc |\n| **🎬 Video & Subtitles** | Transcribe speech, translate subtitles, burn styled captions into video — full captioning pipeline | VideoCaptioner |\n| **🔍 AI-Native Search** | Neural and deep web search with structured content retrieval through embedding-based APIs | [Exa](https:\u002F\u002Fexa.ai) |\n| **✨ AI Content Generation** | Generate professional deliverables (slides, docs, diagrams, websites, research reports) through AI-powered cloud APIs | [AnyGen](https:\u002F\u002Fwww.anygen.io), Gamma, Beautiful.ai, Tome |\n\n---\n\n## CLI-Anything's Key Features\n\n### The Agent-Software Gap\nAI 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.\n\n**CLI-Anything's Solution**: Transform any professional software into agent-native tools without losing capabilities.\n\n| **Current Pain Point** | **CLI-Anything's Fix** |\n|----------|----------------------|\n| 🤖 \"AI can't use real tools\" | Direct integration with actual software backends (Blender, LibreOffice, FFmpeg) — full professional capabilities, zero compromises |\n| 💸 \"UI automation breaks constantly\" | No screenshots, no clicking, no RPA fragility. Pure command-line reliability with structured interfaces |\n| 📊 \"Agents need structured data\" | Built-in JSON output for seamless agent consumption + human-readable formats for debugging |\n| 🔧 \"Custom integrations are expensive\" | One Claude plugin auto-generates CLIs for ANY codebase through proven 7-phase pipeline |\n| ⚡ \"Prototype vs Production gap\" | 2,280+ tests with real software validation. Battle-tested across 18 major applications |\n\n---\n\n## 🎯 What Can You Do with CLI-Anything?\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33%\">\n\n### 🛠️ Let Agents Take Your Workflows\n\nProfessional or everyday — just throw the codebase at `\u002Fcli-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.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\">\n\n### 🔗 Unify Scattered APIs into One CLI\n\nTired of juggling fragmented web service APIs? Feed the docs or SDK manuscripts to `\u002Fcli-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.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\">\n\n### 🚀 Replace or Supercharge GUI Agents\n\nCLI-Anything can flat-out **replace GUI-based agent approaches** — no more screenshots, no brittle pixel-clicking. But here's the fun part: once you `\u002Fcli-anything` a GUI software, you can **synthesize agent tasks, evaluators, and benchmarks** entirely via code and terminal — fully automated, iteratively refinable, massively more efficient.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## ✨ ⚙️ How CLI-Anything Works\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🏗️ Fully Automated 7-Phase Pipeline\nFrom codebase analysis to PyPI publishing — the plugin handles architecture design, implementation, test planning, test writing, and documentation completely automatically.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🎯 Authentic Software Integration\nDirect calls to real applications for actual rendering. LibreOffice generates PDFs, Blender renders 3D scenes, Audacity processes audio via sox. **Zero compromises**, **Zero toy implementations**.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🔁 Smart Session Management\nPersistent project state with undo\u002Fredo capabilities, plus unified REPL interface (ReplSkin) that delivers consistent interactive experience across all CLIs.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 📦 Zero-Config Installation\nSimple pip install -e . puts cli-anything-\u003Csoftware> directly on PATH. Agents discover tools via standard which commands. No setup, no wrappers.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### 🧪 Production-Grade Testing\nMulti-layered validation: unit tests with synthetic data, end-to-end tests with real files and software, plus CLI subprocess verification of installed commands.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### 🐍 Clean Package Architecture\nAll CLIs organized under cli_anything.* namespace — conflict-free, pip-installable, with consistent naming: cli-anything-gimp, cli-anything-blender, etc.\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🤖 SKILL.md Generation\n\nEach generated CLI now has a canonical `SKILL.md` at `skills\u002Fcli-anything-\u003Csoftware>\u002FSKILL.md`. This makes the current monorepo directly consumable by `npx skills`, while a packaged compatibility copy at `cli_anything\u002F\u003Csoftware>\u002Fskills\u002FSKILL.md` preserves installed-harness behavior.\n\n**What SKILL.md provides:**\n- **YAML frontmatter** with name and description for agent skill discovery\n- **Command groups** with all available subcommands documented\n- **Usage examples** for common workflows\n- **Agent-specific guidance** for JSON output, error handling, and programmatic use\n\nSKILL.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. The generator now writes the canonical repo-root skill file and refreshes the package-local compatibility copy used by installed harnesses. Inside this repo, the REPL banner points agents to the canonical root skill path; after `pip install`, it falls back to the packaged copy.\n\n---\n\n## 🎬 Real-World Demos\n\nAI agents using generated CLIs to produce complete, useful artifacts — no GUI needed.\n\n### FreeCAD &mdash; Curiosity Rover via Preview, Live Preview, and Trajectory\n\n> **Harness:** `cli-anything-freecad` | **Preview Stack:** `preview` + `preview live` + `trajectory.json` | **Artifact:** Agent-built Curiosity-style rover\n\nAn agent incrementally assembles a Curiosity-inspired rover while publishing real FreeCAD preview bundles, refreshing a live preview session, and recording command-to-preview history for later replay. The resulting demo shows the artifact evolving step by step before the final showcase.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemos\u002Ffreecad-curiosity-preview-trajectory.gif\" alt=\"FreeCAD Curiosity rover demo driven by preview, live preview, and trajectory history\" width=\"860\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Csub>README GIF generated from the full local demo video with a speed-adjusted, high-quality ffmpeg palette workflow.\u003C\u002Fsub>\n\u003C\u002Fp>\n\n### Blender &mdash; Orbital Relay Drone via Preview, Live Preview, and Trajectory\n\n> **Harness:** `cli-anything-blender` | **Preview Stack:** `preview` + `preview live` + `trajectory.json` | **Artifact:** Agent-built orbital relay drone\n\nAn agent uses the Blender harness to grow a hard-surface orbital relay drone under a real preview loop: each stage pushes new render-backed bundles, the live session tracks the current head, and the trajectory ties every command to the matching visual state. The demo finishes with the completed scene ready for a polished turntable.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemos\u002Fblender-orbital-relay-drone-preview-trajectory.gif\" alt=\"Blender orbital relay drone demo driven by preview, live preview, and trajectory history\" width=\"860\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Csub>README GIF generated from the full local demo video with a speed-adjusted, high-quality ffmpeg palette workflow.\u003C\u002Fsub>\n\u003C\u002Fp>\n\n### Draw.io &mdash; HTTPS Handshake Diagram\n\n> **Harness:** `cli-anything-drawio` | **Time:** ~4 min | **Artifact:** `.drawio` + `.png`\n\nAn agent creates a full HTTPS connection lifecycle diagram from scratch — TCP three-way handshake, TLS negotiation, encrypted data exchange, and TCP four-way termination — entirely through CLI commands.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemos\u002Fdrawio-demo.gif\" alt=\"Draw.io CLI demo: building an HTTPS handshake diagram\" width=\"720\" \u002F>\n\u003C\u002Fp>\n\n\u003Cdetails>\n\u003Csummary>Final artifact\u003C\u002Fsummary>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemos\u002Fdrawio-https-handshake.png\" alt=\"HTTPS handshake sequence diagram\" width=\"600\" \u002F>\n\u003C\u002Fp>\n\u003C\u002Fdetails>\n\n*Contributed by [@zhangxilong-43](https:\u002F\u002Fgithub.com\u002Fzhangxilong-43)*\n\n### Slay the Spire II &mdash; Game Automation\n\n> **Harness:** `cli-anything-slay-the-spire-ii` | **Artifact:** Automated gameplay session\n\nAn agent plays through a Slay the Spire II run using the CLI harness — reading game state, selecting cards, choosing paths, and making strategic decisions in real-time.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemos\u002Fslay-the-spire-ii-gameplay.gif\" alt=\"Slay the Spire II CLI gameplay demo\" width=\"720\" \u002F>\n\u003C\u002Fp>\n\n*Contributed by [@TianyuFan0504](https:\u002F\u002Fgithub.com\u002FTianyuFan0504)*\n\n### VideoCaptioner &mdash; Auto-Generated Subtitles\n\n> **Harness:** `cli-anything-videocaptioner` | **Artifact:** Captioned video frames\n\nAn agent uses the VideoCaptioner CLI to automatically generate and overlay styled subtitles onto video content, with bilingual text rendering and customizable formatting.\n\n\u003Ctable align=\"center\">\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>Sub A\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cstrong>Sub B\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cimg src=\"assets\u002Fdemos\u002Fvideocaptioner-before.png\" alt=\"Video frame before captioning\" width=\"380\" \u002F>\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\"assets\u002Fdemos\u002Fvideocaptioner-after.png\" alt=\"Video frame after captioning\" width=\"380\" \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n*Contributed by [@WEIFENG2333](https:\u002F\u002Fgithub.com\u002FWEIFENG2333)*\n\n*More CLI demos coming soon.*\n\n---\n\n## 🎬 Demonstrations\n\n### 🎯 General-Purpose\nCLI-Anything works on any software with a codebase — no domain restrictions or architectural limitations.\n\n### 🏭 Professional-Grade Testing\nTested across 18 diverse, complex applications spanning creative, productivity, communication, diagramming, AI image generation, AI content generation, network ad blocking, local LLM inference, native debugging, and graphics profiling domains previously inaccessible to AI agents.\n\n### 🎨 Diverse Domain Coverage\nFrom creative workflows (image editing, 3D modeling, vector graphics) to production tools (audio, office, live streaming, video editing).\n\n### ✅ Full CLI Generation\nEach application received complete, production-ready CLI interfaces — not demos, but comprehensive tool access preserving full capabilities.\n\n\u003Ctable>\n\u003Ctr>\n\u003Cth align=\"center\">Software\u003C\u002Fth>\n\u003Cth align=\"center\">Domain\u003C\u002Fth>\n\u003Cth align=\"center\">CLI Command\u003C\u002Fth>\n\u003Cth align=\"center\">Backend\u003C\u002Fth>\n\u003Cth align=\"center\">Tests\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎨 GIMP\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Image Editing\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-gimp\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Pillow + GEGL\u002FScript-Fu\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 107\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🧊 Blender\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>3D Modeling & Rendering\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-blender\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>bpy (Python scripting)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 208\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>✏️ Inkscape\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Vector Graphics\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-inkscape\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Direct SVG\u002FXML manipulation\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 202\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎵 Audacity\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Audio Production\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-audacity\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Python wave + sox\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 161\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🌐 Browser\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Browser Automation\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-browser\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>DOMShell MCP + Accessibility Tree\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ \u003Ca href=\"browser\u002Fagent-harness\u002F\">New\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📄 LibreOffice\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Office Suite (Writer, Calc, Impress)\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-libreoffice\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>ODF generation + headless LO\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 158\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>⚡ \u003Ca href=\"n8n\u002Fagent-harness\u002F\">n8n\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Workflow Automation\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-n8n\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>n8n REST API v1.1.1\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ \u003Ca href=\"n8n\u002Fagent-harness\u002F\">55+ cmds\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📚 \u003Ca href=\"zotero\u002Fagent-harness\u002F\">Zotero\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Reference Management\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-zotero\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Local SQLite + connector + Local API\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ \u003Ca href=\"zotero\u002Fagent-harness\u002F\">New\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📝 \u003Ca href=\"mubu\u002Fagent-harness\u002F\">Mubu\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Knowledge Management &amp; Outlining\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-mubu\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Local Mubu data + sync logs\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 96\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📹 OBS Studio\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Live Streaming & Recording\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-obs-studio\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>JSON scene + obs-websocket\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 153\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎞️ Kdenlive\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Video Editing\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-kdenlive\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>MLT XML + melt renderer\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 155\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎬 Shotcut\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Video Editing\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-shotcut\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Direct MLT XML + melt\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 154\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎬 \u003Ca href=\"openscreen\u002Fagent-harness\u002F\">Openscreen\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Screen Recording Editor\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-openscreen\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>ffmpeg backend\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 101\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📞 Zoom\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Video Conferencing\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-zoom\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Zoom REST API (OAuth2)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 22\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎵 MuseScore\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Music Notation\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-musescore\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>mscore CLI (MSCX\u002FMusicXML)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 56\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📐 Draw.io\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Diagramming\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-drawio\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>mxGraph XML + draw.io CLI\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 138\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>⛓️ ETH2 QuickStart\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>DevOps \u002F Ethereum\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-eth2-quickstart\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>eth2-quickstart shell automation + JSON health checks\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 18\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🧜 Mermaid Live Editor\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Diagramming\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-mermaid\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Mermaid state + mermaid.ink renderer\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 10\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>✨ AnyGen\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>AI Content Generation\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-anygen\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>AnyGen REST API (anygen.io)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 50\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🧠 NotebookLM\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>AI Research Assistant\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-notebooklm\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>NotebookLM CLI wrapper (experimental)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 21\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🧩 \u003Ca href=\"dify-workflow\u002Fagent-harness\u002F\">Dify Workflow\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Dify DSL Editing\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-dify-workflow\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Wrapper around the open-source dify-workflow CLI\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 11\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🖼️ ComfyUI\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>AI Image Generation\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-comfyui\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>ComfyUI REST API\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 70\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🛡️ AdGuard Home\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Network-wide Ad Blocking\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-adguardhome\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>AdGuard Home REST API\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 36\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🦙 Ollama\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Local LLM Inference\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-ollama\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Ollama REST API\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 98\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🧬 \u003Ca href=\"unimol_tools\u002Fagent-harness\u002F\">Uni-Mol Tools\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Molecular Property Prediction (AI4S)\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-unimol-tools\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Uni-Mol molecular ML backend\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 67\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎬 \u003Ca href=\"videocaptioner\u002Fagent-harness\u002F\">VideoCaptioner\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>AI Video Captioning\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-videocaptioner\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>videocaptioner CLI (PyPI)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 26\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎨 Sketch\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>UI Design\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>sketch-cli\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>sketch-constructor (Node.js)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 19\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🎮 Godot Engine\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Game Development\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-godot\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Godot 4.x headless subprocess\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 24\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📦 \u003Ca href=\"sbox\u002Fagent-harness\u002F\">s&amp;box\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Game Development\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-sbox\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Source 2 game engine - direct file I\u002FO on .scene\u002F.prefab\u002F.vmat\u002F.vsnd JSON\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 244\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🐞 \u003Ca href=\"lldb\u002Fagent-harness\u002F\">LLDB\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Native Debugging\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-lldb\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>LLDB Python API\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 27\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🟩 \u003Ca href=\"nsight-graphics\u002Fagent-harness\u002F\">Nsight Graphics CLI\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>GPU Debugging &amp; Profiling\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-nsight-graphics\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Official ngfx \u002F ngfx-capture orchestration + GPU Trace summary + replay analysis\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 51\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🔍 \u003Ca href=\"exa\u002Fagent-harness\u002F\">Exa\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>AI-Native Web Search\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-exa\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>exa-py SDK\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 40\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>📈 \u003Ca href=\"unrealinsights\u002Fagent-harness\u002F\">Unreal Insights\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Performance Profiling\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-unrealinsights\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Background trace sessions + engine-matched UnrealInsights build + headless export\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 50\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>☁️ \u003Ca href=\"cloudanalyzer\u002Fagent-harness\u002F\">CloudAnalyzer\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Point cloud \u002F trajectory QA\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-cloudanalyzer\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>CloudAnalyzer (Python API)\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 14\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cstrong>🗺️ \u003Ca href=\"QGIS\u002Fagent-harness\u002F\">QGIS\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Geospatial Analysis &amp; Mapping\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>cli-anything-qgis\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>PyQGIS + qgis_process\u003C\u002Ftd>\n\u003Ctd align=\"center\">✅ 22\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd align=\"center\" colspan=\"4\">\u003Cstrong>Total\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cstrong>✅ 2,280\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n> **100% pass rate** across all 2,280 tests — 1,682 unit tests + 579 end-to-end tests + 19 Node.js tests.\n\n---\n\n## 📊 Test Results\n\nEach CLI harness undergoes rigorous multi-layered testing to ensure production reliability:\n\n| Layer | What it tests | Example |\n|-------|---------------|---------|\n| **Unit tests** | Every core function in isolation with synthetic data | `test_core.py` — project creation, layer ops, filter params |\n| **E2E tests (native)** | Project file generation pipeline | Valid ODF ZIP structure, correct MLT XML, SVG well-formedness |\n| **E2E tests (true backend)** | Real software invocation + output verification | LibreOffice → PDF with `%PDF-` magic bytes, Blender → rendered PNG |\n| **CLI subprocess tests** | Installed command via `subprocess.run` | `cli-anything-gimp --json project new` → valid JSON output |\n\n```\n================================ Test Summary ================================\ngimp          107 passed  ✅   (64 unit + 43 e2e)\nblender       208 passed  ✅   (150 unit + 58 e2e)\ninkscape      202 passed  ✅   (148 unit + 54 e2e)\naudacity      161 passed  ✅   (107 unit + 54 e2e)\nlibreoffice   158 passed  ✅   (89 unit + 69 e2e)\nmubu           96 passed  ✅   (85 unit + 11 e2e)\nobs-studio    153 passed  ✅   (116 unit + 37 e2e)\nkdenlive      155 passed  ✅   (111 unit + 44 e2e)\nshotcut       154 passed  ✅   (110 unit + 44 e2e)\nzoom           22 passed  ✅   (22 unit + 0 e2e)\ndrawio        138 passed  ✅   (116 unit + 22 e2e)\neth2-quickstart 18 passed ✅   (18 unit + 3 e2e skipped)\nmermaid        10 passed  ✅   (5 unit + 5 e2e)\nanygen         50 passed  ✅   (40 unit + 10 e2e)\nnotebooklm     21 passed  ✅   (21 unit + 0 e2e)\ncomfyui        70 passed  ✅   (60 unit + 10 e2e)\nadguardhome    36 passed  ✅   (24 unit + 12 e2e)\nollama         98 passed  ✅   (87 unit + 11 e2e)\nsketch         19 passed  ✅   (19 jest, Node.js)\nrenderdoc      59 passed  ✅   (45 unit + 14 e2e)\ncloudcompare   88 passed  ✅   (49 unit + 39 e2e)\nopenscreen    101 passed  ✅   (78 unit + 23 e2e)\nlldb           27 passed  ✅   (23 unit + 4 e2e)\nnsight-graphics 51 passed ✅   (46 unit\u002FCLI + 5 local e2e)\nunrealinsights 50 passed  ✅   (49 unit + 1 e2e, 9 backend-gated e2e skipped)\ncloudanalyzer  14 passed  ✅   (7 unit + 7 e2e)\n──────────────────────────────────────────────────────────────────────────────\nTOTAL        2,280 passed  ✅   100% pass rate\n```\n\n---\n\n## 🏗️ CLI-Anything's Architecture\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Farchitecture.png\" alt=\"CLI-Anything Architecture\" width=\"750\">\n\u003C\u002Fp>\n\n### 🎯 Core Design Principles\n\n1. **Authentic Software Integration** — The CLI generates valid project files (ODF, MLT XML, SVG) and delegates to real applications for rendering. **We build structured interfaces TO software, not replacements**.\n\n2. **Flexible Interaction Models** — Every CLI operates in dual modes: stateful REPL for interactive agent sessions + subcommand interface for scripting\u002Fpipelines. **Run bare command → enter REPL mode**.\n\n3. **Consistent User Experience** — All generated CLIs share unified REPL interface (repl_skin.py) with branded banners, styled prompts, command history, progress indicators, and standardized formatting.\n\n4. **Agent-Native Design** — Built-in --json flag on every command delivers structured data for machine consumption, while human-readable tables serve interactive use. **Agents discover capabilities via standard --help and which commands**.\n\n5. **Zero Compromise Dependencies** — Real software is a hard requirement — no fallbacks, no graceful degradation. **Tests fail (not skip) when backends are missing, ensuring authentic functionality**.\n\n---\n\n## 📂 Project Structure\n\n```\ncli-anything\u002F\n├── 📄 README.md                          # You are here\n├── 📁 assets\u002F                            # Images and media\n│   ├── icon.png                          # Project icon\n│   └── teaser.png                        # Teaser figure\n│\n├── 🔌 cli-anything-plugin\u002F               # The Claude Code plugin\n│   ├── HARNESS.md                        # Methodology SOP (source of truth)\n│   ├── README.md                         # Plugin documentation\n│   ├── QUICKSTART.md                     # 5-minute getting started\n│   ├── PUBLISHING.md                     # Distribution guide\n│   ├── repl_skin.py                      # Unified REPL interface\n│   ├── commands\u002F                         # Plugin command definitions\n│   │   ├── cli-anything.md               # Main build command\n│   │   ├── refine.md                     # Expand existing harness coverage\n│   │   ├── test.md                       # Test runner\n│   │   └── validate.md                   # Standards validation\n│   └── scripts\u002F\n│       └── setup-cli-anything.sh         # Setup script\n│\n├── 🤖 codex-skill\u002F                      # Codex skill entry point\n├── 🎨 gimp\u002Fagent-harness\u002F               # GIMP CLI (107 tests)\n├── 🧊 blender\u002Fagent-harness\u002F            # Blender CLI (208 tests)\n├── ✏️ inkscape\u002Fagent-harness\u002F            # Inkscape CLI (202 tests)\n├── 🎵 audacity\u002Fagent-harness\u002F           # Audacity CLI (161 tests)\n├── 🌐 browser\u002Fagent-harness\u002F            # Browser CLI (DOMShell MCP, new)\n├── 📄 libreoffice\u002Fagent-harness\u002F        # LibreOffice CLI (158 tests)\n├── 📚 zotero\u002Fagent-harness\u002F             # Zotero CLI (new, write import support)\n├── 📝 mubu\u002Fagent-harness\u002F               # Mubu CLI (96 tests)\n├── 📹 obs-studio\u002Fagent-harness\u002F         # OBS Studio CLI (153 tests)\n├── 🎞️ kdenlive\u002Fagent-harness\u002F           # Kdenlive CLI (155 tests)\n├── 🎬 shotcut\u002Fagent-harness\u002F            # Shotcut CLI (154 tests)\n├── 📞 zoom\u002Fagent-harness\u002F               # Zoom CLI (22 tests)\n├── 🎵 musescore\u002Fagent-harness\u002F          # MuseScore CLI (56 tests)\n├── 📐 drawio\u002Fagent-harness\u002F             # Draw.io CLI (138 tests)\n├── ⛓️ eth2-quickstart\u002Fagent-harness\u002F    # ETH2 QuickStart CLI (18 unit, 3 e2e skipped)\n├── 🧜 mermaid\u002Fagent-harness\u002F            # Mermaid Live Editor CLI (10 tests)\n├── ✨ anygen\u002Fagent-harness\u002F             # AnyGen CLI (50 tests)\n├── 🖼️ comfyui\u002Fagent-harness\u002F            # ComfyUI CLI (70 tests)\n├── 🧠 notebooklm\u002Fagent-harness\u002F         # NotebookLM CLI (experimental, 21 tests)\n├── 🧩 dify-workflow\u002Fagent-harness\u002F      # Dify Workflow CLI wrapper (11 tests)\n├── 🛡️ adguardhome\u002Fagent-harness\u002F       # AdGuard Home CLI (36 tests)\n├── 🦙 ollama\u002Fagent-harness\u002F             # Ollama CLI (98 tests)\n├── 🎮 godot\u002Fagent-harness\u002F              # Godot Engine CLI (24 tests)\n├── 📦 sbox\u002Fagent-harness\u002F               # s&box CLI (244 tests: 157 unit + 17 orchestrator + 50 e2e + 20 exit-code)\n├── 🎨 sketch\u002Fagent-harness\u002F             # Sketch CLI (19 tests, Node.js)\n├── 🔬 renderdoc\u002Fagent-harness\u002F          # RenderDoc CLI (59 tests)\n├── 🟩 nsight-graphics\u002Fagent-harness\u002F    # Nsight Graphics CLI (51 tests)\n├── 🐞 lldb\u002Fagent-harness\u002F               # LLDB CLI (27 tests)\n├── 📈 unrealinsights\u002Fagent-harness\u002F     # Unreal Insights CLI (50 tests)\n├── 🎬 videocaptioner\u002Fagent-harness\u002F     # VideoCaptioner CLI (26 tests)\n├── 🎬 openscreen\u002Fagent-harness\u002F         # Openscreen CLI — screen recording editor (101 tests)\n├── ☁️ cloudcompare\u002Fagent-harness\u002F       # CloudCompare CLI (88 tests)\n├── 🔍 exa\u002Fagent-harness\u002F               # Exa CLI (40 tests)\n└── ⛅ cloudanalyzer\u002Fagent-harness\u002F      # CloudAnalyzer CLI (14 tests)\n```\n\nEach `agent-harness\u002F` contains an installable Python package under `cli_anything.\u003Csoftware>\u002F` with Click CLI, core modules, utils (including `repl_skin.py` and backend wrapper), and comprehensive tests.\n\n---\n\n## 🎯 Plugin Commands\n\n| Command | Description |\n|---------|-------------|\n| `\u002Fcli-anything \u003Csoftware-path-or-repo>` | Build complete CLI harness — all 7 phases |\n| `\u002Fcli-anything:refine \u003Csoftware-path> [focus]` | Refine an existing harness — expand coverage with gap analysis |\n| `\u002Fcli-anything:test \u003Csoftware-path-or-repo>` | Run tests and update TEST.md with results |\n| `\u002Fcli-anything:validate \u003Csoftware-path-or-repo>` | Validate against HARNESS.md standards |\n\n### Examples\n\n```bash\n# Build a complete CLI for GIMP from local source\n\u002Fcli-anything \u002Fhome\u002Fuser\u002Fgimp\n\n# Build from a GitHub repo\n\u002Fcli-anything https:\u002F\u002Fgithub.com\u002Fblender\u002Fblender\n\n# Refine an existing harness — broad gap analysis\n\u002Fcli-anything:refine \u002Fhome\u002Fuser\u002Fgimp\n\n# Refine with a specific focus area\n\u002Fcli-anything:refine \u002Fhome\u002Fuser\u002Fshotcut \"vid-in-vid and picture-in-picture compositing\"\n\n# Run tests and update TEST.md\n\u002Fcli-anything:test \u002Fhome\u002Fuser\u002Finkscape\n\n# Validate against HARNESS.md standards\n\u002Fcli-anything:validate \u002Fhome\u002Fuser\u002Faudacity\n```\n\n---\n\n## 🎮 Demo: Using a Generated CLI\n\nHere's what an agent can do with `cli-anything-libreoffice`:\n\n```bash\n# Create a new Writer document\n$ cli-anything-libreoffice document new -o report.json --type writer\n✓ Created Writer document: report.json\n\n# Add content\n$ cli-anything-libreoffice --project report.json writer add-heading -t \"Q1 Report\" --level 1\n✓ Added heading: \"Q1 Report\"\n\n$ cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3\n✓ Added 4×3 table\n\n# Export to real PDF via LibreOffice headless\n$ cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite\n✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless\n\n# JSON mode for agent consumption\n$ cli-anything-libreoffice --json document info --project report.json\n{\n  \"name\": \"Q1 Report\",\n  \"type\": \"writer\",\n  \"pages\": 1,\n  \"elements\": 2,\n  \"modified\": true\n}\n```\n\n### REPL Mode\n\n```\n$ cli-anything-blender\n╔══════════════════════════════════════════╗\n║       cli-anything-blender v1.0.0       ║\n║     Blender CLI for AI Agents           ║\n╚══════════════════════════════════════════╝\n\nblender> scene new --name ProductShot\n✓ Created scene: ProductShot\n\nblender[ProductShot]> object add-mesh --type cube --location 0 0 1\n✓ Added mesh: Cube at (0, 0, 1)\n\nblender[ProductShot]*> render execute --output render.png --engine CYCLES\n✓ Rendered: render.png (1920×1080, 2.3 MB) via blender --background\n\nblender[ProductShot]> exit\nGoodbye! 👋\n```\n\n---\n\n## 📖 The Standard Playbook: HARNESS.md\n\nHARNESS.md is our definitive SOP for making any software agent-accessible via automated CLI generation.\n\nIt encodes proven patterns and methodologies refined through automated generation processes.\n\nThe playbook distills key insights from successfully building all 18 diverse, production-ready harnesses.\n\n### Critical Lessons\n\n| Lesson | Description |\n|--------|-------------|\n| **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. |\n| **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. |\n| **Filter Translation** | When mapping effects between formats (MLT → ffmpeg), watch for duplicate filter merging, interleaved stream ordering, parameter space differences, and unmappable effects. |\n| **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. |\n| **Output Verification** | Never trust that export worked because it exited 0. Verify: magic bytes, ZIP\u002FOOXML structure, pixel analysis, audio RMS levels, duration checks. |\n\n> See the full methodology: [`cli-anything-plugin\u002FHARNESS.md`](cli-anything-plugin\u002FHARNESS.md)\n\n---\n\n## 📦 Installation & Usage\n\n### For Plugin Users (Claude Code)\n\n```bash\n# Add marketplace & install (recommended)\n\u002Fplugin marketplace add HKUDS\u002FCLI-Anything\n\u002Fplugin install cli-anything\n\n# Build a CLI for any software with a codebase\n\u002Fcli-anything \u003Csoftware-name>\n```\n\n### For Generated CLIs\n\n```bash\n# Install any generated CLI\ncd \u003Csoftware>\u002Fagent-harness\npip install -e .\n\n# Verify\nwhich cli-anything-\u003Csoftware>\n\n# Use\ncli-anything-\u003Csoftware> --help\ncli-anything-\u003Csoftware>                    # enters REPL\ncli-anything-\u003Csoftware> --json \u003Ccommand>   # JSON output for agents\n```\n\n### Running Tests\n\n```bash\n# Run tests for a specific CLI\ncd \u003Csoftware>\u002Fagent-harness\npython3 -m pytest cli_anything\u002F\u003Csoftware>\u002Ftests\u002F -v\n\n# Force-installed mode (recommended for validation)\nCLI_ANYTHING_FORCE_INSTALLED=1 python3 -m pytest cli_anything\u002F\u003Csoftware>\u002Ftests\u002F -v -s\n```\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! CLI-Anything is designed to be extensible:\n\n- **New software targets** — Use the plugin to generate a CLI for any software with a codebase, then submit your harness via [`cli-anything-plugin\u002FPUBLISHING.md`](cli-anything-plugin\u002FPUBLISHING.md).\n- **Methodology improvements** — PRs to `HARNESS.md` that encode new lessons learned\n- **Plugin enhancements** — New commands, phase improvements, better validation\n- **Test coverage** — More E2E scenarios, edge cases, workflow tests\n\n### Limitations\n\n- **Requires strong foundation models** — CLI-Anything relies on frontier-class models (e.g., Claude Opus 4.6, Claude Sonnet 4.6, GPT-5.4) for reliable harness generation. Weaker or smaller models may produce incomplete or incorrect CLIs that require significant manual correction.\n- **Relies on available source code** — The 7-phase pipeline analyzes and generates from source code. When the target software only provides compiled binaries that require decompilation, harness quality and coverage will degrade substantially.\n- **May require iterative refinement** — A single `\u002Fcli-anything` run may not fully cover all capabilities. Running `\u002Frefine` one or more times is often needed to push the CLI's performance and coverage to production quality.\n\n### Roadmap\n\n- [ ] Support for more application categories (CAD, DAW, IDE, EDA, scientific tools)\n- [ ] Benchmark suite for agent task completion rates\n- [ ] Community-contributed CLI harnesses for internal\u002Fcustom software\n- [ ] Integration with additional agent frameworks beyond Claude Code\n- [ ] Support packaging APIs for closed-source software and web services into CLIs\n- [x] Produce SKILL.md alongside the CLI for agent skill discovery and orchestration\n\n---\n\n## 📖 Documentation\n\n| Document | Description |\n|----------|-------------|\n| [`cli-anything-plugin\u002FHARNESS.md`](cli-anything-plugin\u002FHARNESS.md) | The methodology SOP — single source of truth |\n| [`cli-anything-plugin\u002FREADME.md`](cli-anything-plugin\u002FREADME.md) | Plugin documentation — commands, options, phases |\n| [`cli-anything-plugin\u002FQUICKSTART.md`](cli-anything-plugin\u002FQUICKSTART.md) | 5-minute getting started guide |\n| [`cli-anything-plugin\u002FPUBLISHING.md`](cli-anything-plugin\u002FPUBLISHING.md) | Distribution and publishing guide |\n\nEach generated harness also includes:\n- `\u003CSOFTWARE>.md` — Architecture SOP specific to that application\n- `tests\u002FTEST.md` — Test plan and results documentation\n\n---\n\n## ⭐ Star History\n\nIf CLI-Anything helps make your software Agent-native, give us a star! ⭐\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#HKUDS\u002FCLI-Anything&Date\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=HKUDS\u002FCLI-Anything&type=Date&theme=dark\" \u002F>\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=HKUDS\u002FCLI-Anything&type=Date\" \u002F>\n      \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=HKUDS\u002FCLI-Anything&type=Date\" \u002F>\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n---\n\n## 📄 License\n\nApache License 2.0 — free to use, modify, and distribute.\n\n---\n\n\u003Cdiv align=\"center\">\n\n**CLI-Anything** — *Make any software with a codebase Agent-native.*\n\n\u003Csub>A methodology for the age of AI agents | 18 professional software demos | 2,280 passing tests\u003C\u002Fsub>\n\n\u003Cbr>\n\n\u003Cimg src=\"assets\u002Ficon.png\" alt=\"CLI-Anything Icon\" width=\"80\">\n\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Cem> Thanks for visiting ✨ CLI-Anything!\u003C\u002Fem>\u003Cbr>\u003Cbr>\n  \u003Cimg src=\"https:\u002F\u002Fvisitor-badge.laobi.icu\u002Fbadge?page_id=HKUDS.CLI-Anything&style=for-the-badge&color=00d4ff\" alt=\"Views\">\n\u003C\u002Fp>\n","CLI-Anything 是一个旨在使所有软件都能被AI代理原生使用的项目。它通过提供一套统一的命令行接口（CLI）工具，让AI能够与各种软件和服务进行交互，从而实现自动化操作。该项目基于Python开发，并使用了如Click这样的库来构建CLI应用，确保了良好的用户体验和易用性。CLI-Anywhere特别适合需要将现有应用程序集成到自动化流程中的场景，例如在持续集成\u002F持续部署(CI\u002FCD)管道中自动执行任务、或是让AI助手能够直接控制特定软件完成复杂工作流等。此外，社区成员可以通过贡献新的CLI插件来扩展支持更多软件，使得该平台具有高度的可扩展性和灵活性。",2,"2026-06-11 02:46:12","top_all"]