@gonk/extension-spec-cli
v0.0.20
Published
CLI runtime for @gonk/extension-spec — turns an ExtensionSpec into a registered CLI extension (subcommands, auto-generated set/preset/config, interactive settings prompts).
Readme
@gonk/extension-spec-cli
CLI runtime for @gonk/extension-spec. Mirror of
@gonk/extension-spec-pi for the CLI host.
What it does
- Translates
gonk <ext> <verb> ...argv into the spec framework's rawArgs format, then dispatches through the same command handler the Pi runtime uses (so framework-injectedset/preset/configverbs work identically). - Auto-generates an interactive
gonk <ext> configflow fromspec.settingsusing@inquirer/prompts. - Wires
spec.hooks.session_startto fire once at process boot,session_endto fire on process exit / SIGINT.
Usage
import { registerSpecExtensionCli } from "@gonk/extension-spec-cli";
export function setupCli(cli, scope) {
const spec = buildMyExtensionSpec();
registerSpecExtensionCli({ cli, scope, spec });
}Each @gonk/pi-* package exports a setupCli of this shape. @gonk/cli
discovers installed extensions in ~/.gonk/extensions/ and calls each
one's setupCli at startup.
Test
pnpm -F @gonk/extension-spec-cli test