video-editor
The central video production service for Zaheer Merali's work: client video (Halo Ai first) and his own programmes (LUMA, Making Space, Creative Space, AI Playground, Seed Bank).
Zaheer sets creative direction. Claude Code runs the programme day to day: intake, briefs, building, rendering, quality checks. Other AI agents (Dia, Gemini, Instinct) add capacity, but only with Zaheer's approval for each job. Target output is about 15 finished minutes of video a day.
If you're picking this up cold
- Read
CLAUDE.md: who does what, and the rules. - Read the
## STATEsection ofHANDOFF.md. It says what was last done, what's half-done and what's next. - Read
docs/design/OPEN.md: every open question and who owns it. - To understand why it's built this way, read
docs/design/2026-09-30-video-service-charter.md. - For how to do anything (start a video, check a render, brief an outside agent), search
RUNBOOK.mdfor the matching "Loop".
Where things are
projects/<brand>/<date>-<slug>/: one folder per video. Start with itsBRIEF.md(what it is) andDELIVERY.md(what was made and how it was checked).brands/: pointers to each brand's colours, fonts and logos in their home repos.library/: the component library as data (JSON Schemas, generated brand tokens, layouts, scenes, components). Start withlibrary/README.md. Check it withnpm run validate:library.library/footage/: the footage catalogue (clip sidecars, batches, index; media stays in R2 and the local cache). Workflow:library/footage/README.md; tools:scripts/footage-*.mjs.docs/STACK.md: the tools (HyperFrames by default; Remotion where it fits; ffmpeg), their versions and their licences.media/andrenders/hold footage and finished videos. They're on this machine only and are not in git. Masters are kept in Cloudflare R2.RUNBOOK.md, "Loop: media and R2", says where.
Where it lives
- On disk:
~/dev/tools/video-editor - On GitHub (private):
zaheer-merali-0/video-editor - Shared tooling it relies on:
~/dev/tools/HARNESSES.md(harness-core supplies the safety checks that run before every push).
This page is the repo's front door. It isn't hosted anywhere: open it from the repo. Update it whenever the repo's purpose or shape changes. Live status belongs in HANDOFF.md, not here.