From aa9ea34683a86335f5c5a9f7b5481c3f22dede16 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 19 May 2026 06:22:06 +0000 Subject: [PATCH] Enforce two-branch policy in CLAUDE.md: main + development only Non-canonical branches must be deleted immediately after merging. https://claude.ai/code/session_01R4b6mihSGtCUzyW4Sd5jzM --- CLAUDE.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 50c27bc..1e8a99f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,10 +8,12 @@ Every merge into `main` is a release. Before committing any change to `mdcms.py` ## Branching convention +Only two branches exist in this repository: **`main`** and **`development`**. No other branches should be created or left alive. + - **`main`** is the release branch. Every merge to `main` is a release. Never commit work-in-progress directly to `main`. -- **`development`** is the default branch for all development, including all Claude-driven work. Create it from `main` if it doesn't exist. Do not create a new branch per conversation. -- **Phased branches** (`claude/`) are allowed when a large feature needs staged review, but the final merge target is always `main` via `development`. +- **`development`** is the default branch for all development, including all Claude-driven work. Always commit to `development` — never create a new branch per conversation or feature. - **Documentation only** (`CLAUDE.md`, `docs/`) — may be pushed directly to `main`. +- **If a non-canonical branch is created** (e.g. for a large staged feature), it must be deleted immediately after it is merged. The repo returns to `main` + `development` only. In practice: check out `development`, do the work, push to `development`, PR `development` → `main` when ready to release.