monorepo-setup-git
Monorepo Git Configuration
Repo Layout
telecine and elements are standalone sibling repos cloned alongside the monorepo:
~/Editframe/worktrees/<branch>/
monorepo/ # primary monorepo checkout
telecine/ # telecine repo clone
elements/ # elements repo clone
The monorepo has one remote: skills → git@github.com:editframe/skills.git.
telecine and elements each have origin pointing to their respective GitHub repos.
Push/Pull Workflows
Telecine
Work directly in the sibling telecine repo. Push to origin from there:
# From ~/Editframe/worktrees/<branch>/telecine/
git push origin main # push to telecine main
git push origin <branch> # push a branch
Never push telecine from the monorepo root.
Elements
Work directly in the sibling elements repo:
# From ~/Editframe/worktrees/<branch>/elements/
git push origin main
git push origin <branch>
git push origin v<version> # push a tag to trigger release CI
Skills
Skills are pushed from the monorepo using the provided script:
# From monorepo/
scripts/push-skills
This pushes to the skills remote (git@github.com:editframe/skills.git).
The skills-sync tag tracks the last synced commit:
git tag -f -a skills-sync HEAD -m "skills synced $(date -I)"
git push skills skills-sync
CI Monitoring
# Poll telecine deploy until complete
scripts/wait-for-telecine-action
# Poll elements release until complete
scripts/wait-for-elements-action
# Get failed job logs
scripts/gh-logs editframe/telecine
scripts/gh-logs editframe/elements
Telecine Deploy Gate
A push to telecine/main triggers CI. The deploy job only runs after build-runner, all docker (*) matrix jobs, integration, typecheck, and playwright all pass. Pushing directly to main is allowed — CI gates the deploy.
Standard flow for a branch:
# From telecine/
git push origin <branch>
# Open PR on github.com/editframe/telecine, let CI pass, merge
# Then from monorepo/
scripts/wait-for-telecine-action
More from editframe/skills
video-analysis
Analyze video files using ffprobe, mp4dump, and jq. Use when investigating video samples, keyframes, MP4 box structure, codec info, packet timing, or debugging video playback issues.
75visual-thinking
Create visual analogies by mapping relational structure from familiar domains onto unfamiliar concepts using spatial relationships to make abstract patterns concrete. Covers static diagrams AND animated video storytelling (camera choreography, race comparisons, pacing). Use when explaining complex concepts, creating analogies, designing diagrams, creating explainer animations, or revealing system structure.
71css-animations
CSS animation fill-mode requirements for Editframe timeline system. Use when creating CSS animations, debugging flashing/flickering issues, or when user mentions animation problems, fade effects, slide effects, or sequential animations.
69threejs-compositions
Integrate Three.js 3D scenes into Editframe compositions via addFrameTask. Scenes are pure functions of time, fully scrubable, and renderable to MP4. Use when creating 3D animations, WebGL content in compositions, or integrating Three.js with Editframe's timeline system.
66editor-gui
Build video editing interfaces using Editframe's GUI web components. Assemble timeline, scrubber, filmstrip, preview, and playback controls like lego bricks. Use when creating video editors, editing tools, or when user mentions timeline, scrubber, preview, playback controls, trim handles, or wants to build editing UIs.
64elements-new-package
Create a new @editframe/* workspace package in the elements monorepo and publish it to npm.
64