/** * `qodo-skills` CLI dispatcher. * * Subcommand surface: `list`, `validate`, `install`, `uninstall`, `lock`, * `doctor`. Each subcommand is a thin wrapper around the same * `SkillsManager` / `SkillKit` the runtime uses — no separate parser / * validator codepath. * * The CLI is exported as both: * 1. A library function `runSkillsCli(argv)` so consumers can embed * the dispatcher in their own command surface or wrap with custom * output formatting. * 2. A binary entrypoint `bin/qodo-skills.mjs` published via * package.json `bin` (added separately to avoid changing * publishing semantics in this PR). * * Output streams (`stdout`, `stderr`) are injectable so tests assert * structured output without intercepting `process.stdout`. * * Architectural translation: ticket says `package.json `bin` field * already exposes scripts`. SDK 2.0 has no `bin` entry yet — adding one * requires a versioning conversation. The library function lands first; * the bin shim ships in a follow-up so this PR doesn't change package * publishing. */ /** IO streams for CLI invocations. Tests inject fakes; production uses `process.*`. */ export interface CliIo { readonly stdout: (text: string) => void; readonly stderr: (text: string) => void; readonly cwd: string; readonly env?: Readonly>; } /** Default IO bound to `process.*`. */ export declare function defaultCliIo(): CliIo; /** Library entrypoint. Returns the desired process exit code. */ export declare function runSkillsCli(argv: readonly string[], io?: CliIo): Promise; //# sourceMappingURL=index.d.ts.map