Repository navigation
Releases
Releases · somnathraz/shortforge
v0.3.1 — fixes
- Generic field aliasing no longer leaves undefined keys on scenes.
- Import validation errors now name the generic fields (
scenes.0.narration). - The Desk shows a clear error with Reload when the pipeline list can't be loaded, instead of the first-run create screen.
v0.3.0 — custom animation layers
A Tech Reel beat can now carry its own animation as data: layers[] (text, box, circle, arrow, code, counter, bar) with timed keyframes. No code runs; a fixed renderer draws them.
- New MCP tools:
list_tech_reels,get_scene_layers,set_scene_layers(dry run by default, optional PNG preview). - See docs/custom-pipelines.md, section Custom animation per beat.
v0.2.0 — start empty, create your own pipeline
Fresh installs now ship with no pipelines and no sample channel data. On first run the Desk asks you to create your first pipeline (Story Shorts or Tech Reels); you can also use the create_pipeline MCP tool or npm run pipeline:new.
- Generic episode JSON field names (
characters,narration,payoff, ...). Older names are still accepted. - Tests bring their own fixtures.
- Personal sample pipelines and explainers removed.
Shortforge v0.1.0
First public release of Shortforge: a self-hosted studio that turns a topic into a faceless Short/Reel and publishes it — script → voice → images → motion → sound → package → review → publish — with a review Desk in your browser and an MCP server so Claude can drive it.
Highlights
- Config-driven pipelines. Add your own channel/account with
npm run pipeline:new(no code). Two engines:story(narrated cinematic Shorts) andtech(one-concept explainer reels). Ships with EpicAstra and Tech Reels as examples. - Runway or Wan for scene video. Hosted Runway needs only an API key (≈ $0.25 per 5 s clip on
gen4_turbo); self-hosted Wan on a GPU is still supported. No video provider = pan/zoom on stills. - Connect AI. Desk button +
.mcp.jsongive Claude Code, Claude Desktop and Cursor the exact setup, with a test button. 16 MCP tools cover scripts, image prompts, production, connections, publishing and analytics. Real publishing needs an explicit confirm. - Hardened Desk login. No default password (a random one is printed on first start), hashed storage, login throttling, every write requires a session, Host-header checks, owner-only token files.
- Approval gates at every step; published episodes lock.
npm run doctorchecks your setup. CI runs the tests and the UI build.
Get started
See the README.
Known limits
- Windows is untested. macOS is the primary platform; Linux should work.
- Runway is tested against a mocked API only; ratios and durations vary by model and are settable (
RUNWAY_RATIO,RUNWAY_DURATIONS). Please report real-API problems. - Claude Desktop / Cursor setup is generated for your machine but has not been verified in those apps; Claude Code is the primary path.
storypipelines run on the mythology engine (claims review, heritage look). A new niche with its own editorial rules needs a new engine in code.tsc --noEmitcurrently reports 27 type errors (strict optional-property typing); runtime and tests are unaffected, and typecheck is not part of CI yet.- The SFX/BGM library is not included (licensing) — see
assets/audio/DOWNLOAD.md. Instagram publishing needs a publicly reachable video URL (seedocs/publish-setup.md). - Not published to npm; clone the repo or use it as a template.