monorepo-setup-git

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Monorepo Git Configuration

Monorepo Git配置

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.
telecine
elements
是独立的同级仓库,与monorepo一同克隆:
~/Editframe/worktrees/<branch>/
  monorepo/     # 主monorepo检出目录
  telecine/     # telecine仓库克隆目录
  elements/     # elements仓库克隆目录
该monorepo有一个远程仓库:
skills
git@github.com:editframe/skills.git
telecine
elements
各自的
origin
指向它们对应的GitHub仓库。

Push/Pull Workflows

推送/拉取工作流

Telecine

Telecine

Work directly in the sibling telecine repo. Push to
origin
from there:
bash
undefined
直接在同级的telecine仓库中工作。从该仓库推送至
origin
bash
undefined

From ~/Editframe/worktrees/<branch>/telecine/

从 ~/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.
git push origin main # 推送至telecine的main分支 git push origin <branch> # 推送一个分支

切勿从monorepo根目录推送telecine相关内容。

Elements

Elements

Work directly in the sibling elements repo:
bash
undefined
直接在同级的elements仓库中工作:
bash
undefined

From ~/Editframe/worktrees/<branch>/elements/

从 ~/Editframe/worktrees/<branch>/elements/ 目录执行

git push origin main git push origin <branch> git push origin v<version> # push a tag to trigger release CI
undefined
git push origin main git push origin <branch> git push origin v<version> # 推送标签以触发发布CI
undefined

Skills

Skills

Skills are pushed from the monorepo using the provided script:
bash
undefined
Skills通过提供的脚本从monorepo推送:
bash
undefined

From monorepo/

从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:

```bash
git tag -f -a skills-sync HEAD -m "skills synced $(date -I)"
git push skills skills-sync
scripts/push-skills

这会推送到`skills`远程仓库(`git@github.com:editframe/skills.git`)。

`skills-sync`标签用于追踪最后一次同步的提交:

```bash
git tag -f -a skills-sync HEAD -m "skills synced $(date -I)"
git push skills skills-sync

CI Monitoring

CI监控

bash
undefined
bash
undefined

Poll telecine deploy until complete

轮询telecine部署直到完成

scripts/wait-for-telecine-action
scripts/wait-for-telecine-action

Poll elements release until complete

轮询elements发布直到完成

scripts/wait-for-elements-action
scripts/wait-for-elements-action

Get failed job logs

获取失败任务日志

scripts/gh-logs editframe/telecine scripts/gh-logs editframe/elements
undefined
scripts/gh-logs editframe/telecine scripts/gh-logs editframe/elements
undefined

Telecine Deploy Gate

Telecine部署闸门

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:
bash
undefined
推送至
telecine/main
分支会触发CI。只有当
build-runner
、所有
docker (*)
矩阵任务、
integration
typecheck
playwright
全部通过后,部署任务才会运行。允许直接推送至
main
分支——CI会作为部署的闸门。
分支的标准流程:
bash
undefined

From telecine/

从telecine/目录执行

git push origin <branch>
git push origin <branch>

Open PR on github.com/editframe/telecine, let CI pass, merge

在github.com/editframe/telecine上打开PR,等待CI通过后合并

Then from monorepo/

然后从monorepo/目录执行

scripts/wait-for-telecine-action
undefined
scripts/wait-for-telecine-action
undefined