diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 2910d82bc..01e65ee1f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -25,6 +25,7 @@ Fixes # - [ ] Unit tests at `cli_anything//tests/test_core.py` are present and pass without backend - [ ] E2E tests at `cli_anything//tests/test_full_e2e.py` are present - [ ] `README.md` includes the new software (with link to harness directory) +- [ ] `registry.json` includes an entry for the new software (for the [CLI-Hub](https://hkuds.github.io/CLI-Anything/hub/)) - [ ] `repl_skin.py` in `utils/` is an unmodified copy from the plugin ### For Existing CLI Modifications @@ -34,6 +35,7 @@ Fixes # - [ ] All unit tests pass: `python3 -m pytest cli_anything//tests/test_core.py -v` - [ ] All E2E tests pass: `python3 -m pytest cli_anything//tests/test_full_e2e.py -v` - [ ] No test regressions — no previously passing tests were removed or weakened +- [ ] `registry.json` entry is updated if version, description, or requirements changed ### General Checklist diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3eb8cb1f..f143e8633 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,8 @@ Adding a new CLI harness is the most impactful contribution. Before submitting a 2. **`SKILL.md`** — the AI-discoverable skill definition exists inside the Python package at `cli_anything//SKILL.md`. 3. **Tests** — unit tests (`test_core.py`, passable without backend) and E2E tests (`test_full_e2e.py`) are present and passing. 4. **`README.md`** — the project README includes the new software with a link to its harness directory. -5. **`repl_skin.py`** — an unmodified copy from the plugin exists in `utils/`. +5. **`registry.json`** — add an entry for the new software so it appears on the [CLI-Hub](https://hkuds.github.io/CLI-Anything/hub/). +6. **`repl_skin.py`** — an unmodified copy from the plugin exists in `utils/`. ### B) New Features @@ -32,6 +33,36 @@ Bug fixes resolve incorrect behavior in existing harnesses or the plugin. - Include a test that reproduces the bug and verifies the fix. - Ensure all existing tests for the affected harness still pass. +## CLI-Hub & Registry + +All available CLIs are listed in `registry.json` at the repo root and displayed on the [CLI-Hub](https://hkuds.github.io/CLI-Anything/hub/). The hub reads `registry.json` directly from `main`, so it updates immediately when a PR is merged. + +### Adding a new CLI to the Hub + +Include an entry in `registry.json` as part of your PR. Each entry has this shape: + +```json +{ + "name": "my-software", + "display_name": "My Software", + "version": "1.0.0", + "description": "Short description of what the CLI does", + "requires": "backend software or null", + "install_cmd": "pip install git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=my-software/agent-harness", + "entry_point": "cli-anything-my-software", + "skill_md": "my-software/agent-harness/cli_anything/my_software/skills/SKILL.md", + "category": "category-name" +} +``` + +### Updating an existing CLI on the Hub + +When you modify an existing harness, update its `registry.json` entry in the same PR: + +- Bump the `version` field to reflect the change. +- Update `description`, `requires`, or `category` if they changed. +- The hub will reflect the update as soon as the PR is merged to `main`. + ## Development Setup Each generated CLI lives in `/agent-harness/` and is an independent Python package: diff --git a/README.md b/README.md index 9ca71c176..333a71783 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,6 @@ CLI-Anything: Bridging the Gap Between AI Agents and the World's Software Thanks to all invaluable efforts from the community! More updates continuously on the way everyday.. - **2026-03-18** 🧠 Added an **experimental NotebookLM harness scaffold** from the community. It wraps the installed `notebooklm` CLI for notebook discovery, source management, chat, artifact workflows, downloads, and sharing while preserving a clear experimental/community-maintained boundary. - - **2026-03-17** 🌐 Launched the **[CLI-Hub](https://hkuds.github.io/CLI-Anything/hub/)** — 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. - **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. diff --git a/docs/hub/index.html b/docs/hub/index.html new file mode 100644 index 000000000..53ef62873 --- /dev/null +++ b/docs/hub/index.html @@ -0,0 +1,482 @@ + + + + + + CLI-Hub + + + +
+

CLI-Anything Hub

+

Any software. Any codebase. Any Web API. Generate an agent-native CLI and let AI agents operate it — install with a single pip command.

+ +

We welcome contributions for any application — desktop apps, dev tools, cloud services, SaaS APIs, creative suites, and beyond. If it has a GUI or an API, it deserves an agent-native CLI. Open a PR and bring it to the hub!

+
+
+
-
+
CLIs Available
+
+
+
-
+
Categories
+
+
+
+ +
+ +
+
+ +
+ + + + + +