Skip to content

Add scaffold command for new videos - #4

Merged
jlwaugh merged 2 commits into
mainfrom
feature/scaffold-new-video
Aug 18, 2026
Merged

Add scaffold command for new videos#4
jlwaugh merged 2 commits into
mainfrom
feature/scaffold-new-video

Conversation

@jlwaugh

@jlwaugh jlwaugh commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Fixes #3

Adds npm run new -- <number> <slug> that scaffolds the two files every new video needs:

  • posts/<number>-<slug>.json — slug/title/tagline/script placeholders and an empty claims[]
  • src/scenes/data/<number>.ts — a minimal valid SceneSpec with one commented example beat (word-anchored card)

What changed

  • scripts/new.mjs — the scaffold script (new file). Validates a three-digit number and kebab-case slug, refuses to clobber existing files, writes the two scaffolds, and prints next steps.
  • package.json — registers "new": "node scripts/new.mjs".

Shapes followed

  • Post JSON mirrors posts/104-dev-workflow.json (slug, title, tagline, accent, outro, script, fallbackDurationSeconds, claims[]) with empty claims[].
  • Scene module mirrors src/scenes/data/097.ts / 104.ts — imports SceneSpec from ../schema, exports scene<number>: SceneSpec with a slug and word-anchored beats.

Gates: The scaffold writes only under posts/ and src/scenes/data/ — no new TS is compiled into the video kit until the creator registers it, so tsc --noEmit and npm test are unaffected. new.mjs isn't part of the TypeScript project (not type-checked). The change awaits a host render/QA only if a scaffolded scene is registered and voiced; this PR adds no runnable video on its own.

Verification: node scripts/new.mjs 109 build-frames was exercised in a sandbox before committing — it writes both files and they match the exemplar shapes. No claims[] were added (this is a tooling change, not a video script).

@jlwaugh
jlwaugh merged commit 0ef5a2c into main Aug 18, 2026
1 check passed
@jlwaugh
jlwaugh deleted the feature/scaffold-new-video branch August 18, 2026 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a scaffold command for new videos

1 participant