Skip to content

chore: adopt two-tier flow — dev for development, main for releases#30

Merged
hyhmrright merged 1 commit into
mainfrom
chore/dev-working-main-release
Jun 18, 2026
Merged

chore: adopt two-tier flow — dev for development, main for releases#30
hyhmrright merged 1 commit into
mainfrom
chore/dev-working-main-release

Conversation

@hyhmrright

Copy link
Copy Markdown
Owner

Why

Set the canonical branch model to dev = everyday development, main = release. This reverses the short-lived single-trunk doc (PR #29) per maintainer direction. Routine feature/fix work branches off dev and PRs into dev; main only receives dev via PR at release time, after which tags are cut from main.

This PR lands the doc/CI/orchestrator changes on the default+release branch as a one-time bootstrap; dev is recreated from this updated main immediately after merge.

What (5 must-fix items from a repo-wide branch-flow audit)

  • CONTRIBUTING.md: branch off dev; PR target dev; main documented as the protected release branch.
  • .github/workflows/ci.yml: restore dev to the push/pull_request branch filters so dev pushes and PRs-into-dev run CI.
  • .claude/skills/confer-feature/SKILL.md: orchestrator pushes to dev (or a feature branch off dev) and opens PRs with --base dev.

What deliberately did NOT change (audit-confirmed already correct)

  • .github/workflows/release.yml — the origin/main release gate and v* tag trigger already encode "release from main". The hardcoded main there is correct and must stay.
  • CLAUDE.md / AGENTS.md release rules ("merge to main first, then tag") — already match; they are a sync pair.
  • gen-release-notes.sh permalinks to /main — default branch stays main, so correct.

🤖 Generated with Claude Code

Reverses the prior single-trunk doc: `dev` is now the everyday development
branch and `main` is the protected release branch. Routine feature/fix work
branches off `dev` and PRs into `dev`; `main` only receives `dev` via PR at
release time, after which tags are cut from `main` (unchanged release rules).

- CONTRIBUTING.md: branch off `dev`, PR target `dev`; `main` documented as the
  release branch.
- .github/workflows/ci.yml: restore `dev` to the push/pull_request branch
  filters so dev pushes and PRs-into-dev run CI.
- .claude/skills/confer-feature/SKILL.md: orchestrator pushes to `dev` (or a
  feature branch off dev) and opens PRs with `--base dev`.

A repo-wide audit confirmed release.yml's origin/main release gate and the
CLAUDE.md/AGENTS.md release rules already match this model and need no change.
The `dev` branch is recreated from this updated `main` after merge.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hyhmrright hyhmrright merged commit b2d7915 into main Jun 18, 2026
1 check passed
@hyhmrright hyhmrright deleted the chore/dev-working-main-release branch June 18, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant