Files

CLI-Anything Cursor Plugin

Cursor Desktop adapter that delivers the full generator (slash commands + vendored cli-anything-plugin methodology) while keeping the consumer path (CLI-Hub / meta-skill / per-app skills) separate and intact.

This is a real Cursor plugin (.cursor-plugin/plugin.json), not a Claude Code .claude-plugin copy and not a skill-only substitute.

Two tracks

Track What you get How
Generator /cli-anything, refine / test / validate / list Install this plugin
Consumer Find/install/use published CLIs npx skills + cli-hub
# Consumer (unchanged Hub path)
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y

# Generator (this plugin)
bash cursor-plugin/scripts/install.sh
# Windows:
#   .\cursor-plugin\scripts\install.ps1

Then Developer: Reload Window in Cursor and run:

/cli-anything ./your-software
/cli-anything-refine ./your-software "focus area"
/cli-anything-test ./your-software
/cli-anything-validate ./your-software
/cli-anything-list

Install details

Default destination:

~/.cursor/plugins/local/cli-anything

CURSOR_PLUGINS_HOME must resolve to a directory named plugins (example: ~/.cursor/plugins). The installer writes:

File Purpose
{install}/PLUGIN_ROOT.txt Absolute plugin root stamp
~/.cursor/cli-anything-generator.root Discovery pointer for Cursor agents (always under the user .cursor dir)

Upgrade / reinstall:

bash cursor-plugin/scripts/install.sh --force
# PowerShell: .\cursor-plugin\scripts\install.ps1 -Force

Uninstall (removes .../plugins/local/cli-anything and clears ~/.cursor/cli-anything-generator.root when it points at that install):

bash cursor-plugin/scripts/uninstall.sh
# PowerShell: .\cursor-plugin\scripts\uninstall.ps1

If a --force upgrade is interrupted after the old install was moved aside, look for ~/.cursor/plugins/local/.cli-anything.bak.* and rename it back to cli-anything.

The installer vendors from repo cli-anything-plugin/ + docs/PREVIEW_PROTOCOL.md into the installed plugin (references/, helper scripts/). Source of truth remains cli-anything-plugin/.

On Windows, install.sh (Git Bash) converts stamps to C:\... host paths via cygpath when available so Cursor tools can resolve them.

Local plugin loading notes

  • Ensure third-party / local plugins are allowed in Cursor settings.
  • Prefer a physical copy (this installer); avoid symlinks.
  • Enterprise orgs may need “Allow Local Plugin Imports”.

Repo also ships .cursor-plugin/marketplace.json for marketplace-style discovery of ./cursor-plugin.

Quality bar

Same harness output as Claude Code / Codex: HARNESS-driven 7 phases, cli_anything.<software> namespace, --json, tests, packaging, skill generation.

Cursor-specific additions:

  • Machine-discoverable PLUGIN_ROOT (stamp + discovery pointer)
  • Explicit Cursor tool bindings
  • Generator rule (on-demand via globs / description, not always-on) + progress at {software}/agent-harness/.cli-anything-progress.json
  • uninstall.sh / uninstall.ps1 to remove the local plugin and matching discovery pointer
  • Shared scripts/lib.sh / scripts/lib.ps1 for path validation and host-path conversion

Prefer the uninstall scripts over manually deleting folders so the discovery pointer does not go stale.

Tests

bash cursor-plugin/tests/test_install.sh

Windows:

.\cursor-plugin\tests\test_install.ps1

CI: .github/workflows/check-cursor-plugin.yml (Ubuntu bash + Windows PowerShell).