From 3a020bf543dd97df4790370562f3daec5a9862a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel?= Date: Mon, 13 Jul 2026 20:42:11 -0400 Subject: [PATCH] fix(cli): reject missing init example values (#2376) --- packages/cli/src/commands/init.test.ts | 13 +++++++++++++ packages/cli/src/commands/init.ts | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/packages/cli/src/commands/init.test.ts b/packages/cli/src/commands/init.test.ts index 33248460b..f25aeecbe 100644 --- a/packages/cli/src/commands/init.test.ts +++ b/packages/cli/src/commands/init.test.ts @@ -43,6 +43,19 @@ function expectScaffoldedScripts(target: string): void { } describe("hyperframes init flag rename", () => { + it("rejects a following flag when --example has no value", () => { + const dir = mkdtempSync(join(tmpdir(), "hf-init-test-")); + const target = join(dir, "proj"); + try { + const res = runInit([target, "--example", "--non-interactive"]); + expect(res.status).toBe(1); + expect(res.stderr).toContain("--example requires a value"); + expect(existsSync(target)).toBe(false); + } finally { + rmSync(dir, { recursive: true, force: true }); + } + }); + it("--example blank scaffolds a bundled project with npm scripts", () => { const dir = mkdtempSync(join(tmpdir(), "hf-init-test-")); const target = join(dir, "proj"); diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 9a8ed3cbe..1fe801b5e 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -719,6 +719,10 @@ export default defineCommand({ process.exit(1); } const exampleFlag = args.example; + if (exampleFlag?.startsWith("-")) { + console.error(c.error(`--example requires a value; received flag "${exampleFlag}" instead.`)); + process.exit(1); + } const videoFlag = args.video; const audioFlag = args.audio; const skipTranscribe = args["skip-transcribe"] === true;