From ea5bcae444a2b1fcafcd947604848e345d2eb849 Mon Sep 17 00:00:00 2001 From: Liangsheng Yin Date: Mon, 6 Jul 2026 15:51:37 -0700 Subject: [PATCH 1/2] claude rules: fork workflow --- CLAUDE.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index ea0daa9425..1bd25ff04f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,3 +16,16 @@ This project uses a set of "skill" guides — focused how-to documents for commo | electron-api | `.kilocode/skills/electron-api/SKILL.md` | Guide for adding new Electron APIs to Wave Terminal. Use when implementing new frontend-to-electron communications via preload/IPC. | | waveenv | `.kilocode/skills/waveenv/SKILL.md` | Guide for creating WaveEnv narrowings in Wave Terminal. Use when writing a named subset type of WaveEnv for a component tree, documenting environmental dependencies, or enabling mock environments for preview/test server usage. | | wps-events | `.kilocode/skills/wps-events/SKILL.md` | Guide for working with Wave Terminal's WPS (Wave PubSub) event system. Use when implementing new event types, publishing events, subscribing to events, or adding asynchronous communication between components. | + +--- + +## Fork Workflow (hnyls2002/waveterm) + +This fork is the daily-driver repo. `dev` is the default/integration branch; `main` is a pure fast-forward mirror of upstream `wavetermdev/waveterm` (sync via `git fetch upstream main:main`). + +- Some changes are meant for upstream, most are not. Default to fork-first development: land work on `dev` without assuming it will be upstreamed. +- All changes to `dev` go through PRs on this fork (base `dev`) — never commit or merge to `dev` directly. +- Branch naming encodes the destination: + - `lsyin/` — fork-only work; PR base is this fork's `dev`. + - `lsyin-upstream/` — intended for upstream: cut from `upstream/main`, PR to `wavetermdev/waveterm` `main`. May additionally be PR'd into `dev` to use the change locally before upstream merges. +- A branch that heads multiple PRs (fork + upstream) must not be deleted from the fork until every PR on it is merged or closed — deleting the head branch auto-closes its open PRs. From e33363cce0fccc568dd50e8a1c50273cb5faaf0c Mon Sep 17 00:00:00 2001 From: Liangsheng Yin Date: Mon, 6 Jul 2026 15:58:43 -0700 Subject: [PATCH 2/2] one branch one pr; auto-delete notes --- CLAUDE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1bd25ff04f..55facb72f0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -27,5 +27,6 @@ This fork is the daily-driver repo. `dev` is the default/integration branch; `ma - All changes to `dev` go through PRs on this fork (base `dev`) — never commit or merge to `dev` directly. - Branch naming encodes the destination: - `lsyin/` — fork-only work; PR base is this fork's `dev`. - - `lsyin-upstream/` — intended for upstream: cut from `upstream/main`, PR to `wavetermdev/waveterm` `main`. May additionally be PR'd into `dev` to use the change locally before upstream merges. -- A branch that heads multiple PRs (fork + upstream) must not be deleted from the fork until every PR on it is merged or closed — deleting the head branch auto-closes its open PRs. + - `lsyin-upstream/` — intended for upstream: cut from `upstream/main`, PR to `wavetermdev/waveterm` `main`. To use the change on `dev` before upstream merges, cut a separate `lsyin/` branch from the same commit and PR it into `dev`. +- One branch heads exactly one PR. Auto-delete head branches is enabled on this fork, so merging a fork PR deletes its branch — a branch heading a second PR (e.g. an upstream one) would get that PR auto-closed on merge of the first. +- `lsyin-upstream/*` branches are never auto-deleted (their PRs merge at upstream, which cannot delete branches in this fork) — delete them manually once the upstream PR is merged or closed.