From f9eab4322ef620e6ea8edd6e8f9812f05f0fe3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel?= Date: Tue, 14 Jul 2026 00:41:46 +0000 Subject: [PATCH] fix(cli): reject missing init example values --- 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 33248460be..f25aeecbec 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 9a8ed3cbe8..1fe801b5e4 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;