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
This commit is contained in:
Claude 2026-05-19 06:22:06 +00:00
parent 24f428d8d3
commit aa9ea34683
No known key found for this signature in database

View file

@ -8,10 +8,12 @@ Every merge into `main` is a release. Before committing any change to `mdcms.py`
## Branching convention ## 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`. - **`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. - **`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.
- **Phased branches** (`claude/<feature>`) are allowed when a large feature needs staged review, but the final merge target is always `main` via `development`.
- **Documentation only** (`CLAUDE.md`, `docs/`) — may be pushed directly to `main`. - **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. In practice: check out `development`, do the work, push to `development`, PR `development``main` when ready to release.