`installCli()` used to look for the CLI source at a fixed path relative
to the plugin checkout: either `./HarborForge.Cli` or `../HarborForge.Cli`.
That breaks any install layout where the plugin lives on its own — the
script just logs "Skipping CLI installation" and returns. Same anti-
pattern installManagedMonitor had already fixed for the monitor binary.
Mirror the monitor flow:
1. git clone --depth 1 --branch <cliBranch> CLI_REPO_URL → /tmp/<dir>
2. go build -ldflags Version=<date>+<branch>-<sha> -o $openclaw/bin/hf
3. chmod 755 + delete tmp dir on success or failure
Adds `--cli-branch <name>` (default: main) for parity with --monitor-branch.
Also stamps the binary with a real version string (was 'dev' before this
patch) so `hf version` is informative for debugging.
Major changes:
- Renamed plugin id from harborforge-monitor to harbor-forge (TODO 4.1)
- Removed sidecar server/ directory and spawn logic (TODO 4.2)
- Added monitorPort to plugin config schema (TODO 4.3)
- Added --install-cli flag to installer for building hf CLI (TODO 4.4)
- skills/hf/ only deployed when --install-cli is present (TODO 4.5)
- Plugin now serves telemetry data directly via tools
- Installer handles migration from old plugin name
- Bumped version to 0.2.0