@mkterswingman/5mghost-clover
v0.0.2
Published
Clover local video editing CLI
Readme
Clover
Standalone 5mghost CLI for authenticated local video editing.
Current local capabilities:
clover setupcreates Clover state and user-visible output folders.clover check/clover doctorchecks mkterswingman auth plus localffmpegandffprobereadiness.clover ai gemini setup --api-key-env <ENV_NAME>configures optional Gemini-compatible analysis without storing a literal key in command history.clover ai gemini request --prompt-file <file> --out <file>runs configured Antigravity/Gemini analysis when an approved runner is available.clover api <GET|POST|PUT|PATCH|DELETE> <relative-path>calls the mkterswingman Clover gateway with shared auth.clover project init [name]creates a visible project under~/Downloads/5mghost-clover/projects/.clover task add/list/updatetracks local batch work inside the current project.clover transcribe <file> --out <caption_plan.json>creates word-timed caption plans for subtitle rendering.clover youtube setup/status/publish/publictracks YouTube publish state inside the active Clover project.clover skills install/status/uninstallmanages Clover-owned AI skills across local AI skill directories.clover ffmpeg <args>andclover ffprobe <args>run native FFmpeg commands after Clover auth and telemetry checks.clover remotion <args>runs native Remotion commands after Clover auth and telemetry checks when Remotion is available.
Core media commands require mkterswingman auth. The old clip, preview, and render commands remain available during local migration, but bundled skills should prefer native FFmpeg/Remotion commands for flexibility.
clover api is intentionally a thin authenticated gateway client. Paths must be relative, and native request details are not recorded in telemetry.
clover ai gemini request does not fall back to direct TIMI HTTP calls. It requires CLOVER_ANTIGRAVITY_GEMINI_RUNNER to point at the approved Antigravity runner/SDK adapter. API keys are read from the configured env/file source and are not written to Clover config, stdout, stderr, project files, or telemetry.
Install
Recommended hosted install for macOS / Linux:
curl -fsSL https://mkterswingman.com/install/clover.sh | bashRecommended hosted install for Windows PowerShell:
irm https://mkterswingman.com/install/clover.ps1 | iexThe hosted installer installs the small npm CLI package, runs clover setup to download runtime dependencies from the manifest, installs Clover-owned AI skills, then runs clover doctor.
Technical/manual install:
npm install -g @mkterswingman/5mghost-clover
clover setup
clover skills install
clover doctorIf you want to remove Clover from a machine, remove Clover-installed AI skills first:
clover skills uninstallThen uninstall the CLI with:
npm uninstall -g @mkterswingman/5mghost-cloverclover skills uninstall removes only Clover-marked skills from standard and internal AI skill roots, including Codex, Codex Internal, Claude, Claude Internal, and the shared .agents skill directory. Run it before npm uninstall -g, because uninstalling the npm package removes the clover command.
Runtime packaging
Clover's npm package is intentionally small. It does not publish FFmpeg, FFprobe, the transcription runner, or faster-whisper models as npm packages.
Users install the CLI with npm, then run:
clover setupclover setup downloads a platform runtime bundle from the runtime manifest, verifies its SHA256, and installs it into:
~/.mkterswingman/5mghost-clover/runtime/The default runtime manifest is:
https://mkterswingman.com/5mghost-clover/runtime/manifest.jsonDevelopment and emergency installs can override that manifest with:
clover setup --runtime-manifest <url>or:
CLOVER_RUNTIME_MANIFEST_URL=<url> clover setupRuntime bundles must contain:
bin/ffmpegandbin/ffprobeon macOS/Linux, orbin/ffmpeg.exeandbin/ffprobe.exeon Windows.bin/clover-transcribeon macOS/Linux, orbin/clover-transcribe.exeon Windows.models/faster-whisper/small/model.bin.- License notices for FFmpeg and bundled model/runtime assets.
The manifest shape is:
{
"version": "2026.06.09",
"packages": {
"darwin-arm64": {
"url": "runtime-darwin-arm64.tar.gz",
"sha256": "<hex sha256>",
"archiveType": "tar.gz"
},
"linux-x64": {
"url": "runtime-linux-x64.tar.gz",
"sha256": "<hex sha256>",
"archiveType": "tar.gz"
},
"win32-x64": {
"url": "runtime-win32-x64.tar.gz",
"sha256": "<hex sha256>",
"archiveType": "tar.gz"
}
}
}Useful checks:
npm run verify:runtime-current
npm run verify:runtime-packagesverify:release-readiness is the npm publish gate. It checks only the main CLI npm package hygiene and ensures runtime/model npm optional dependencies are not present.
Publish the CLI package only after release readiness passes:
npm run release:publish -- --dry-run
npm run release:publishThe publish script runs the local install checks, release readiness checks, publishes @mkterswingman/5mghost-clover, then installs the published package back from npm and verifies the CLI command. It requires npm whoami to succeed for a real publish.
To re-run only the post-publish registry install check:
npm run verify:registry-install -- --version 0.0.1Runtime assembly requires explicit portable assets. Existing assembly helpers still stage runtime assets under packages/ for validation, but those directories are not published to npm. The final release asset for setup must be a tar.gz with the runtime layout above and an entry in the hosted manifest.
Assembly defaults to the current platform, or accepts --platform darwin-arm64|linux-x64|win32-x64:
CLOVER_RUNTIME_PLATFORM=darwin-arm64 \
CLOVER_RUNTIME_FFMPEG=/path/to/portable/ffmpeg \
CLOVER_RUNTIME_FFPROBE=/path/to/portable/ffprobe \
CLOVER_RUNTIME_TRANSCRIBE_RUNNER=/path/to/clover-transcribe \
CLOVER_RUNTIME_MODEL_DIR=/path/to/faster-whisper-model \
CLOVER_RUNTIME_MODEL_NAME=small \
CLOVER_RUNTIME_LICENSE_DIR=/path/to/licenses \
npm run runtime:assembleCreate the setup-download runtime tarball and manifest from an assembled runtime:
npm run runtime:bundle-setup -- --platform darwin-arm64 --version 2026.06.09For non-static builds, pass CLOVER_RUNTIME_LIB_DIR=/path/to/portable/libs so the runtime bundle includes adjacent shared libraries.
Homebrew FFmpeg builds are not acceptable release assets as-is because they link to /opt/homebrew libraries that other users may not have. The development-only macOS vendor script rewrites and vendors those libraries for local validation.
Cross-platform release runtime bundles are built through the manual GitHub Actions workflow:
.github/workflows/build-runtime-packages.ymlFor Linux x64 and Windows x64, the workflow defaults to BtbN latest GPL builds from GitHub Releases and reads the asset SHA256 digest through the GitHub API. You can override those archives by passing an explicit URL and SHA256.
macOS arm64 still requires an approved FFmpeg/FFprobe archive URL and SHA256, or a separately reviewed release build path. The local Homebrew vendor script is for development validation until final macOS release-build/license review is done.
The workflow downloads and verifies the archive, downloads the faster-whisper small model, builds the platform-native clover-transcribe runner, assembles the runtime bundle, verifies the current runtime, and uploads the runtime tarball plus a platform manifest fragment such as manifest-win32-x64.json.
Do not host a platform manifest fragment as the final manifest.json. Merge the selected platform fragments with the currently hosted manifest, then upload one final manifest.json that contains every supported platform.
Do not run the workflow with unreviewed FFmpeg archives. The runtime bundle must include the exact upstream license files for the archive being shipped.
