mirror of
https://github.com/HKUDS/CLI-Anything.git
synced 2026-10-30 18:12:56 +08:00
launch meta-skill for cli-hub
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Generate cli-hub-skill/SKILL.md from registry.json."""
|
||||
import json
|
||||
from pathlib import Path
|
||||
from collections import defaultdict
|
||||
|
||||
def main():
|
||||
repo_root = Path(__file__).parent.parent.parent
|
||||
registry_path = repo_root / 'registry.json'
|
||||
output_path = repo_root / 'cli-hub-skill' / 'SKILL.md'
|
||||
|
||||
with open(registry_path) as f:
|
||||
data = json.load(f)
|
||||
|
||||
# Group by category
|
||||
by_category = defaultdict(list)
|
||||
for cli in data['clis']:
|
||||
by_category[cli['category']].append(cli)
|
||||
|
||||
lines = [
|
||||
"---",
|
||||
"name: cli-anything-hub",
|
||||
"description: >-",
|
||||
f" Browse and install {len(data['clis'])}+ agent-native CLI tools for GUI software.",
|
||||
" Covers image editing, 3D, video, audio, office, diagrams, AI, and more.",
|
||||
"---",
|
||||
"",
|
||||
"# CLI-Anything Hub",
|
||||
"",
|
||||
f"Agent-native stateful CLI interfaces for {len(data['clis'])} applications. All CLIs support `--json` output, REPL mode, and undo/redo.",
|
||||
"",
|
||||
"## Quick Install",
|
||||
"",
|
||||
"```bash",
|
||||
"# Install any CLI",
|
||||
f"pip install git+{data['meta']['repo']}.git#subdirectory=<name>/agent-harness",
|
||||
"",
|
||||
"# Example: Install GIMP CLI",
|
||||
f"pip install git+{data['meta']['repo']}.git#subdirectory=gimp/agent-harness",
|
||||
"```",
|
||||
"",
|
||||
"## Available CLIs",
|
||||
""
|
||||
]
|
||||
|
||||
for category in sorted(by_category.keys()):
|
||||
clis = by_category[category]
|
||||
lines.append(f"### {category.title()}")
|
||||
lines.append("")
|
||||
lines.append("| Name | Description | Install |")
|
||||
lines.append("|------|-------------|---------|")
|
||||
|
||||
for cli in sorted(clis, key=lambda x: x['name']):
|
||||
name = cli['display_name']
|
||||
desc = cli['description']
|
||||
install = f"`{cli['install_cmd']}`"
|
||||
lines.append(f"| **{name}** | {desc} | {install} |")
|
||||
|
||||
lines.append("")
|
||||
|
||||
lines.extend([
|
||||
"## Usage Pattern",
|
||||
"",
|
||||
"All CLIs follow the same pattern:",
|
||||
"",
|
||||
"```bash",
|
||||
"# Interactive REPL",
|
||||
"cli-anything-<name>",
|
||||
"",
|
||||
"# One-shot command",
|
||||
"cli-anything-<name> <group> <command> [options]",
|
||||
"",
|
||||
"# JSON output for agents",
|
||||
"cli-anything-<name> --json <group> <command>",
|
||||
"```",
|
||||
"",
|
||||
"## For AI Agents",
|
||||
"",
|
||||
"1. Install the CLI you need from the table above",
|
||||
"2. Read its full SKILL.md at the repo path shown in registry.json",
|
||||
"3. Always use `--json` flag for machine-readable output",
|
||||
"4. Check exit codes (0=success, non-zero=error)",
|
||||
"",
|
||||
"## More Info",
|
||||
"",
|
||||
f"- Repository: {data['meta']['repo']}",
|
||||
"- Web Hub: https://hkuds.github.io/CLI-Anything/",
|
||||
f"- Last Updated: {data['meta']['updated']}",
|
||||
])
|
||||
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
output_path.write_text('\n'.join(lines) + '\n')
|
||||
print(f"Generated meta-skill with {len(data['clis'])} CLIs at {output_path}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -6,8 +6,10 @@ on:
|
||||
- main
|
||||
paths:
|
||||
- '*/agent-harness/**'
|
||||
- 'registry.json'
|
||||
- '.github/workflows/deploy-pages.yml'
|
||||
- '.github/scripts/update_registry_dates.py'
|
||||
- '.github/scripts/generate_meta_skill.py'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
name: Update CLI-Hub Skill
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'registry.json'
|
||||
- '.github/scripts/generate_meta_skill.py'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update-skill:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Generate meta-skill
|
||||
run: python3 .github/scripts/generate_meta_skill.py
|
||||
|
||||
- name: Commit if changed
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add cli-hub-skill/SKILL.md
|
||||
if git diff --cached --quiet; then
|
||||
echo "No changes to commit"
|
||||
else
|
||||
git commit -m "chore: auto-update cli-hub-skill/SKILL.md from registry.json"
|
||||
git push
|
||||
fi
|
||||
@@ -28,6 +28,7 @@
|
||||
!/codex-skill/
|
||||
!/skill_generation/
|
||||
!/openclaw-skill/
|
||||
!/cli-hub-skill/
|
||||
|
||||
# Step 4: Allow each software dir (top level only)
|
||||
!/gimp/
|
||||
|
||||
@@ -41,17 +41,29 @@ CLI-Anything: Bridging the Gap Between AI Agents and the World's Software</stron
|
||||
|
||||
> Thanks to all invaluable efforts from the community! More updates continuously on the way everyday..
|
||||
|
||||
- **2026-03-23** 🤖 Launched **CLI-Hub meta-skill** — agents can now discover and install CLIs autonomously via [`cli-hub-skill/SKILL.md`](cli-hub-skill/SKILL.md). The catalog auto-updates from `registry.json` via GitHub Actions, making the entire marketplace agent-native.
|
||||
|
||||
- **2026-03-22** 🎵 **MuseScore CLI** merged with transpose, export, and instrument management. Community contributions continue expanding domain coverage.
|
||||
|
||||
- **2026-03-21** 🔧 Infrastructure improvements — refined test harnesses and documentation across multiple CLIs. Enhanced Windows compatibility for several backends.
|
||||
|
||||
- **2026-03-20** 🌐 **Novita AI** CLI added for OpenAI-compatible API access. Registry metadata improvements for better hub discovery.
|
||||
|
||||
- **2026-03-19** 📦 Package structure refinements across harnesses. Improved SKILL.md generation with better command documentation.
|
||||
|
||||
- **2026-03-18** 🧪 Test coverage expansion — additional E2E scenarios and edge case validation across multiple CLIs.
|
||||
|
||||
- **2026-03-17** 🌐 Launched the **[CLI-Hub](https://hkuds.github.io/CLI-Anything/)** — a central registry where you can browse, search, and install any CLI with a single `pip` command. Contributors can add new CLIs or update existing ones by simply opening a PR with a `registry.json` entry. The hub updates automatically on merge.
|
||||
|
||||
<details>
|
||||
<summary>Earlier news</summary>
|
||||
|
||||
- **2026-03-16** 🤖 Added **SKILL.md generation** (Phase 6.5) — every generated CLI now ships with an AI-discoverable skill definition inside the Python package. ReplSkin auto-detects the skill file after `pip install`, and the REPL banner displays the absolute path for agents. Includes `skill_generator.py`, Jinja2 template, `package_data` in all setup.py files, and 51 new tests.
|
||||
|
||||
- **2026-03-15** 🐾 Support for **OpenClaw** from the community! Merged Windows `cygpath` guard to ensure CLI-Anything works reliably in Windows bash environments. Community contributions continue to strengthen cross-platform support.
|
||||
|
||||
- **2026-03-14** 🔒 Fixed a GIMP Script-Fu path injection vulnerability and added **Japanese README** translation. OpenCode version requirements documented alongside several Windows compatibility improvements.
|
||||
|
||||
<details>
|
||||
<summary>Earlier news</summary>
|
||||
|
||||
- **2026-03-13** 🔌 **Qodercli** plugin officially merged as a community contribution with dedicated setup scripts. Codex skill gained a Windows install script, and placeholder URLs were cleaned up across the project.
|
||||
|
||||
- **2026-03-12** 📦 **Codex skill** integration landed, bringing CLI-Anything to yet another AI coding platform. Qodercli support was also introduced, and documentation was updated with limitations and experimental labels.
|
||||
@@ -384,6 +396,32 @@ Each installed CLI ships with a [`SKILL.md`](#-skillmd-generation) inside the Py
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Empower Your Agents with CLI-Hub
|
||||
|
||||
CLI-Hub lets agents autonomously discover and install the CLIs they need — zero human intervention required.
|
||||
|
||||
CLI-Anything ships a **meta-skill** at [`cli-hub-skill/SKILL.md`](cli-hub-skill/SKILL.md) that lets any AI agent browse, pick, and install from the full catalog of community CLIs — no human in the loop.
|
||||
|
||||
**How it works:**
|
||||
|
||||
1. Point your agent at the [CLI-Hub SKILL.md](https://raw.githubusercontent.com/HKUDS/CLI-Anything/main/cli-hub-skill/SKILL.md)
|
||||
2. The agent reads the catalog — 20+ CLIs organized by category with one-line `pip install` commands
|
||||
3. The agent installs whichever CLI fits the task, then reads that CLI's own SKILL.md for detailed usage
|
||||
|
||||
```bash
|
||||
# Example: agent needs to edit images
|
||||
# 1. Agent reads the hub skill, finds GIMP CLI under "Image"
|
||||
# 2. Agent runs:
|
||||
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=gimp/agent-harness
|
||||
# 3. Agent uses cli-anything-gimp --json for all operations
|
||||
```
|
||||
|
||||
The meta-skill auto-updates whenever `registry.json` changes — new community CLIs show up automatically.
|
||||
|
||||
> **For Claude Code users:** You can also copy [`cli-hub-skill/SKILL.md`](cli-hub-skill/SKILL.md) into your project or skills directory so Claude can discover available CLIs on its own.
|
||||
|
||||
---
|
||||
|
||||
## 💡 CLI-Anything's Vision: Building Agent-Native Software
|
||||
|
||||
• 🌐 **Universal Access** - Every software becomes instantly agent-controllable through structured CLI.
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
name: cli-anything-hub
|
||||
description: >-
|
||||
Browse and install 20+ agent-native CLI tools for GUI software.
|
||||
Covers image editing, 3D, video, audio, office, diagrams, AI, and more.
|
||||
---
|
||||
|
||||
# CLI-Anything Hub
|
||||
|
||||
Agent-native stateful CLI interfaces for 20 applications. All CLIs support `--json` output, REPL mode, and undo/redo.
|
||||
|
||||
## Quick Install
|
||||
|
||||
```bash
|
||||
# Install any CLI
|
||||
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=<name>/agent-harness
|
||||
|
||||
# Example: Install GIMP CLI
|
||||
pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=gimp/agent-harness
|
||||
```
|
||||
|
||||
## Available CLIs
|
||||
|
||||
### 3D
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **Blender** | 3D modeling, animation, and rendering via blender --background --python | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=blender/agent-harness` |
|
||||
|
||||
### Ai
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **ComfyUI** | AI image generation workflow management via ComfyUI REST API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=comfyui/agent-harness` |
|
||||
| **NotebookLM** | Experimental NotebookLM harness scaffold wrapping the installed notebooklm CLI for notebook, source, chat, artifact, download, and sharing workflows | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=notebooklm/agent-harness` |
|
||||
| **Novita** | Access AI models via Novita's OpenAI-compatible API (DeepSeek, GLM, MiniMax) | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=novita/agent-harness` |
|
||||
| **Ollama** | Local LLM inference and model management via Ollama REST API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=ollama/agent-harness` |
|
||||
|
||||
### Audio
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **Audacity** | Audio editing and processing via sox | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=audacity/agent-harness` |
|
||||
|
||||
### Communication
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **Zoom** | Meeting management via Zoom REST API (OAuth2) | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=zoom/agent-harness` |
|
||||
|
||||
### Diagrams
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **Draw.io** | Diagram creation and export via draw.io CLI | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=drawio/agent-harness` |
|
||||
| **Mermaid** | Mermaid Live Editor state files and renderer URLs | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=mermaid/agent-harness` |
|
||||
|
||||
### Generation
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **AnyGen** | Generate docs, slides, websites and more via AnyGen cloud API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=anygen/agent-harness` |
|
||||
|
||||
### Image
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **GIMP** | Raster image processing via gimp -i -b (batch mode) | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=gimp/agent-harness` |
|
||||
| **Inkscape** | SVG vector graphics with export via inkscape --export-filename | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=inkscape/agent-harness` |
|
||||
|
||||
### Music
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **MuseScore** | CLI for music notation — transpose, export PDF/audio/MIDI, extract parts, manage instruments | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=musescore/agent-harness` |
|
||||
|
||||
### Network
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **AdGuardHome** | DNS ad-blocking and network infrastructure management via AdGuardHome REST API | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=adguardhome/agent-harness` |
|
||||
|
||||
### Office
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **LibreOffice** | Create and manipulate ODF documents, export to PDF/DOCX/XLSX/PPTX via headless mode | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=libreoffice/agent-harness` |
|
||||
| **Mubu** | Knowledge management and outlining via local Mubu desktop data | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=mubu/agent-harness` |
|
||||
|
||||
### Streaming
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **OBS Studio** | Create and manage streaming/recording scenes via command line | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=obs-studio/agent-harness` |
|
||||
|
||||
### Video
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **Kdenlive** | Video editing and rendering via melt | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=kdenlive/agent-harness` |
|
||||
| **Shotcut** | Video editing and rendering via melt/ffmpeg | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=shotcut/agent-harness` |
|
||||
|
||||
### Web
|
||||
|
||||
| Name | Description | Install |
|
||||
|------|-------------|---------|
|
||||
| **Browser** | Browser automation via DOMShell MCP server. Maps Chrome's Accessibility Tree to a virtual filesystem for agent-native navigation. | `pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=browser/agent-harness` |
|
||||
|
||||
## Usage Pattern
|
||||
|
||||
All CLIs follow the same pattern:
|
||||
|
||||
```bash
|
||||
# Interactive REPL
|
||||
cli-anything-<name>
|
||||
|
||||
# One-shot command
|
||||
cli-anything-<name> <group> <command> [options]
|
||||
|
||||
# JSON output for agents
|
||||
cli-anything-<name> --json <group> <command>
|
||||
```
|
||||
|
||||
## For AI Agents
|
||||
|
||||
1. Install the CLI you need from the table above
|
||||
2. Read its full SKILL.md at the repo path shown in registry.json
|
||||
3. Always use `--json` flag for machine-readable output
|
||||
4. Check exit codes (0=success, non-zero=error)
|
||||
|
||||
## More Info
|
||||
|
||||
- Repository: https://github.com/HKUDS/CLI-Anything
|
||||
- Web Hub: https://hkuds.github.io/CLI-Anything/
|
||||
- Last Updated: 2026-03-18
|
||||
Reference in New Issue
Block a user