"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/
개요
Today's Software Serves Humans👨💻. Tomorrow's Users will be Agents🤖. CLI-Anything: Bridging the Gap Between AI Agents and the World's Software : pip install cli-anything-hub then cli-hub install — browse, install, and manage all community-built CLIs. Want to add your own? Open a PR — the hub updates instantly. : 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. : Join us! 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! : Make any software agent-ready for Pi, OpenClaw, nanobot, Cursor, Claude Code, etc. | | Thanks to all invaluable efforts from the community! More updates continuously on the way everyday..
README
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: pip install cli-anything-hub then cli-hub install — browse, install, and manage all community-built CLIs. Want to add your own? Open a PR — the hub updates instantly.
🎬 See 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.
🙋 [Become a Contributor, or Request a CLI]: Join us! 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!
One Command Line: Make any software agent-ready for Pi, OpenClaw, nanobot, Cursor, Claude Code, etc. 中文文档 | 日本語ドキュメント | Deutsch
📰 News
Thanks to all invaluable efforts from the community! More updates continuously on the way everyday…
-
2026-05-30 🧭 Hermes skill proposed (#320), adding a CLI-Anything orchestration skill with installer scripts and HARNESS fallback guidance. 🗺️ ArcGIS Pro was proposed for the public registry (#318) as a Windows/ArcPy CLI for cartography, geoprocessing, feature editing, and live-Pro MCP workflows.
-
2026-05-27 🔧 CLI-Hub registry date updates now handle
python -m pipinstall commands (#312), improving package-date detection for registry automation. -
2026-05-23 📝 Obsidian Agent CLI was proposed for the public registry (#307), bringing a PyPI-installed Obsidian automation CLI with persistent agent memory workflows and a pinned skill link.
-
2026-05-21 🔒 Sketch CLI token-file handling was hardened against path traversal and symlink escapes (#304).
-
2026-05-20 📓 Joplin CLI was proposed (#300) with notebooks, notes, to-dos, tags, attachments, search/sync, import/export, server/E2EE helpers, full docs, packaged skill docs, and a 134-test validation baseline.
-
2026-05-20 🎛️ Rekordbox CLI merged (#252) with guarded SQLCipher write paths, backup-required forced writes, smoke coverage, and root skill sync. 📚 Calibre CLI merged (#223) with library/search/metadata/conversion/export workflows, 41 unit tests, real-Calibre E2E evidence, and root skill validation. 🧊 3MF CLI merged (#209) with mesh inspection, hole resizing, repair, comparison, and preserved triangle attributes. 🎙️ MiniMax CLI merged (#189) with chat/TTS workflows, JSON-safe model/voice listing, REPL quote handling, and smoke/E2E coverage. 🎮 UEAtelier joined the registry (#297) as an Unreal Editor MCP self-extension workbench with a Python CLI proxy.
-
2026-05-19 🛠️ Existing harnesses got a quality/security pass — Zoom downloads recordings from direct URLs (#294), Obsidian search now uses the Local REST API vendor content types (#289), LibreOffice headless conversion is more robust on macOS (#290), and XML/SVG/ODF/MLT/MusicXML/CSL parsing now routes untrusted input through
defusedxml(#296). -
2026-05-18 📈 README presentation refreshed with the Trendshift badge and centered project header polish (#285, #286), keeping the landing section focused on discovery and project momentum.
-
2026-05-17 🌐 CLI-Hub registry handling was hardened (#281) — registry entries are now copied before
_sourcetagging, preventing cached or mocked registry data from being mutated in place. -
2026-05-16 🔧 n8n received the REPL banner crash fix that later merged into main (#280), restoring the no-subcommand interactive startup path with regression coverage.
🤔 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
CLI-Anything has two equally useful starting points:
| Goal | Start Here |
|---|---|
| Use the existing CLI ecosystem now | Install cli-anything-hub, browse the registry, and install ready-made CLIs. |
| Build a new agent-native CLI | Install the CLI-Anything plugin/skill for your agent, then run the 7-phase harness generator. |
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 in-repo harness now has a canonical SKILL.md at skills/cli-anything-/SKILL.md, which makes the monorepo directly discoverable via npx skills add HKUDS/CLI-Anything --list. Installed harness packages still ship a compatibility copy at cli_anything//skills/SKILL.md, and the REPL banner prefers the repo-root canonical file when present, falling back to the packaged copy otherwise.
🤖 Empower Your Agents with CLI-Hub
CLI-Hub lets agents autonomously discover, install, and use the CLIs they need.
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y
Also available on: ClawHub, SkillHub, SkillHub.cn
Then prompt:
Find appropriate CLI software in CLI-Hub and complete the task: ...
The meta-skill points agents to the live CLI-Hub catalog, where they can choose a CLI, install it, and read its own SKILL.md for task-specific usage.
💡 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, WaveTone, Krita, Kdenlive, Shotcut, Inkscape, Darktable, LMMS, Ardour |
| 🎮 Game Development | Manage game projects, scenes, exports, and scripting through headless engine interfaces | Godot Engine, s&box |
| 🔬 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 |
| 🧪 Testing & Mocking | Control HTTP mock servers, manage test stubs, record and replay API traffic for integration testing | WireMock |
| 🔬 Graphics & GPU Debugging | Analyze GPU frame captures, inspect pipeline state, export shaders, and diff rendering state | RenderDoc |
| 🎬 Video & Subtitles | Transcribe speech, translate subtitles, burn styled captions into video — full captioning pipeline | VideoCaptioner |
| 🔍 AI-Native Search | Neural and deep web search with structured content retrieval through embedding-based APIs | Exa |
| ✨ 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” | 2,280+ tests with real software validation. Battle-tested across 18 major applications |
🎯 What Can You Do with CLI-Anything?
✨ ⚙️ How CLI-Anything Works
🤖 SKILL.md Generation
Each generated CLI now has a canonical SKILL.md at skills/cli-anything-/SKILL.md. This makes the current monorepo directly consumable by npx skills, while a packaged compatibility copy at cli_anything//skills/SKILL.md preserves installed-harness behavior.
What SKILL.md provides:
- YAML frontmatter with name and description for agent skill discovery
- Command groups with all available subcommands documented
- Usage examples for common workflows
- Agent-specific guidance for JSON output, error handling, and programmatic use
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. 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.
🎬 Real-World Demos
AI agents using generated CLIs to produce complete, useful artifacts — no GUI needed.
FreeCAD — Curiosity Rover via Preview, Live Preview, and Trajectory
Harness:
cli-anything-freecad| Preview Stack:preview+preview live+trajectory.json| Artifact: Agent-built Curiosity-style rover
An 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.
README GIF generated from the full local demo video with a speed-adjusted, high-quality ffmpeg palette workflow.
Blender — Orbital Relay Drone via Preview, Live Preview, and Trajectory
Harness:
cli-anything-blender| Preview Stack:preview+preview live+trajectory.json| Artifact: Agent-built orbital relay drone
An 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.
README GIF generated from the full local demo video with a speed-adjusted, high-quality ffmpeg palette workflow.
Draw.io — HTTPS Handshake Diagram
Harness:
cli-anything-drawio| Time: ~4 min | Artifact:.drawio+.png
An 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.
Contributed by @zhangxilong-43
Slay the Spire II — Game Automation
Harness:
cli-anything-slay-the-spire-ii| Artifact: Automated gameplay session
An 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.
Contributed by @TianyuFan0504
VideoCaptioner — Auto-Generated Subtitles
Harness:
cli-anything-videocaptioner| Artifact: Captioned video frames
An agent uses the VideoCaptioner CLI to automatically generate and overlay styled subtitles onto video content, with bilingual text rendering and customizable formatting.
Contributed by @WEIFENG2333
ArcGIS Pro — Live Agent Cartography via the MCP Bridge
Harness:
arcgis-pro(registered inpublic_registry.json) | Mode: live-Pro MCP bridge | Artifact: Agent-driven map navigation in a running ArcGIS Pro session
An agent drives a live, open ArcGIS Pro session through an MCP bridge — reading the project, zooming the map to feature layers, running geoprocessing, and exporting layouts — while each step executes inside Pro as you watch. ArcGIS Pro is Esri’s commercial GIS desktop (Windows-only, licensed), so this wraps its official ArcPy / ArcGIS Pro SDK rather than being generated from source — the ArcGIS Pro counterpart to the QGIS harness.
README GIF generated from the full local demo video with a high-quality ffmpeg palette workflow.
Contributed by @Jasper0122
More CLI demos coming soon.
🎬 Demonstrations
🎯 General-Purpose
CLI-Anything works on any software with a codebase — no domain restrictions or architectural limitations.
🏭 Professional-Grade Testing
Tested 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.
🎨 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.
100% pass rate across all 2,461 tests — 1,732 unit tests + 579 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)
wavetone 30 passed ✅ (24 unit + 6 default e2e, 2 backend-gated e2e skipped; 32 passed opt-in)
libreoffice 158 passed ✅ (89 unit + 69 e2e)
mubu 96 passed ✅ (85 unit + 11 e2e)
obs-studio 153 passed ✅ (116 unit + 37 e2e)
nslogger 139 passed ✅ (97 unit + 42 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)
eth2-quickstart 18 passed ✅ (18 unit + 3 e2e skipped)
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)
cloudcompare 88 passed ✅ (49 unit + 39 e2e)
openscreen 101 passed ✅ (78 unit + 23 e2e)
lldb 27 passed ✅ (23 unit + 4 e2e)
nsight-graphics 51 passed ✅ (46 unit/CLI + 5 local e2e)
unrealinsights 50 passed ✅ (49 unit + 1 e2e, 9 backend-gated e2e skipped)
cloudanalyzer 14 passed ✅ (7 unit + 7 e2e)
3mf 50 passed ✅ (50 unit)
joplin 134 passed ✅ (107 unit + 27 e2e, 1 skipped on Windows)
──────────────────────────────────────────────────────────────────────────────
TOTAL 2,461 passed ✅ 100% pass rate
🏗️ CLI-Anything’s Architecture
🎯 Core Design Principles
-
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.
-
Flexible Interaction Models — Every CLI operates in dual modes: stateful REPL for interactive agent sessions + subcommand interface for scripting/pipelines. Run bare command → enter REPL mode.
-
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.
-
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.
-
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.
📂 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/ # Self-contained Codex skill installer
│ ├── SKILL.md # Codex workflow entry point
│ ├── agents/ # Codex UI metadata
│ ├── scripts/ # Bash and PowerShell installers
│ └── tests/ # Installer resource-sync regression test
├── 🧭 hermes-skill/ # Hermes Agent skill entry point
├── 🧠 reasonix-skill/ # Reasonix 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)
├── wavetone/agent-harness/ # WaveTone CLI (32 tests: 30 default + 2 backend-gated e2e)
├── 🌐 browser/agent-harness/ # Browser CLI (DOMShell MCP, new)
├── 🌐 web-yu-pri/agent-harness/ # Japan Post Web Yu-pri CLI (new)
├── 📄 libreoffice/agent-harness/ # LibreOffice CLI (158 tests)
├── 🧹 openrefine/agent-harness/ # OpenRefine CLI (76 tests: 64 unit + 12 real backend e2e)
├── 📧 mailchimp/agent-harness/ # Mailchimp Marketing API CLI (303 commands, 36 unit tests)
├── 📚 zotero/agent-harness/ # Zotero CLI (new, write import support)
├── 📖 calibre/agent-harness/ # Calibre CLI (58 tests: 38 unit + 20 E2E)
├── 📓 joplin/agent-harness/ # Joplin CLI (134 tests: 107 unit + 27 e2e)
├── 📝 mubu/agent-harness/ # Mubu CLI (96 tests)
├── 📹 obs-studio/agent-harness/ # OBS Studio CLI (153 tests)
├── 📱 nslogger/agent-harness/ # NSLogger CLI (139 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)
├── 🧪 eez-studio/agent-harness/ # EEZ Studio CLI (project, LVGL, SCPI automation)
├── ⛓️ eth2-quickstart/agent-harness/ # ETH2 QuickStart CLI (18 unit, 3 e2e skipped)
├── 🧜 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)
├── 🧩 dify-workflow/agent-harness/ # Dify Workflow CLI wrapper (11 tests)
├── 🛡️ adguardhome/agent-harness/ # AdGuard Home CLI (36 tests)
├── 🦙 ollama/agent-harness/ # Ollama CLI (98 tests)
├── 🎮 godot/agent-harness/ # Godot Engine CLI (24 tests)
├── 📦 sbox/agent-harness/ # s&box CLI (244 tests: 157 unit + 17 orchestrator + 50 e2e + 20 exit-code)
├── 🎨 sketch/agent-harness/ # Sketch CLI (19 tests, Node.js)
├── 🔬 renderdoc/agent-harness/ # RenderDoc CLI (59 tests)
├── 🟩 nsight-graphics/agent-harness/ # Nsight Graphics CLI (51 tests)
├── 🐞 lldb/agent-harness/ # LLDB CLI (27 tests)
├── 📈 unrealinsights/agent-harness/ # Unreal Insights CLI (50 tests)
├── 🎬 videocaptioner/agent-harness/ # VideoCaptioner CLI (26 tests)
├── 🎬 openscreen/agent-harness/ # Openscreen CLI — screen recording editor (101 tests)
├── ☁️ cloudcompare/agent-harness/ # CloudCompare CLI (88 tests)
├── 🔍 exa/agent-harness/ # Exa CLI (40 tests)
└── ⛅ cloudanalyzer/agent-harness/ # CloudAnalyzer CLI (14 tests)
└── 🔩 3MF/agent-harness/ # 3MF Mesh Editor CLI (50+ 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 18 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 CLI-Hub Users
# Install the package manager
pip install cli-anything-hub
# Browse, search, inspect, and install CLIs
cli-hub list
cli-hub search
cli-hub info
cli-hub install
# Manage installed CLIs
cli-hub update
cli-hub uninstall
cli-hub launch [args...]
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:
- New software targets — Use the plugin to generate a CLI for any software with a codebase, then submit your harness via
cli-anything-plugin/PUBLISHING.md. - Methodology improvements — PRs to
HARNESS.mdthat encode new lessons learned - Plugin enhancements — New commands, phase improvements, better validation
- Test coverage — More E2E scenarios, edge cases, workflow tests
Limitations
- 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.
- 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.
- May require iterative refinement — A single
/cli-anythingrun may not fully cover all capabilities. Running/refineone or more times is often needed to push the CLI’s performance and coverage to production quality.
Roadmap
- [ ] Support for more application categories (CAD, DAW, IDE, EDA, scientific tools)
- [ ] Benchmark suite for agent task completion rates
- [ ] Community-contributed CLI harnesses for internal/custom software
- [ ] Integration with additional agent frameworks beyond Claude Code
- [ ] Support packaging APIs for closed-source software and web services into CLIs
- [x] Produce SKILL.md alongside the CLI for agent skill discovery and orchestration
📖 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:
.md— Architecture SOP specific to that applicationtests/TEST.md— Test plan and results documentation
⭐ Star History
If CLI-Anything helps make your software Agent-native, give us a star! ⭐
📚 Citation
If you find CLI-Anything useful, please cite our technical report:
@misc{yang2026clianythingagentnativecomputeruse,
title={CLI-Anything: Towards Agent-Native Computer Use},
author={Yuhao Yang and Tianyu Fan and Chao Huang},
year={2026},
eprint={2606.03854},
archivePrefix={arXiv},
primaryClass={cs.HC},
url={https://arxiv.org/abs/2606.03854},
}
📄 License
Apache License 2.0 — free to use, modify, and distribute.
Thanks for visiting ✨ CLI-Anything!
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add hkuds/cli-anything