blue/.blue/docs/spikes/2026-01-25-develop-branch-workflow.md
Eric Garcia 19602c632b chore: sync state.rs and add RFC/spike documents
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 20:32:32 -05:00

2 KiB

Spike: Develop Branch Workflow

Status Complete
Date 2026-01-25

Question

How should we implement the develop branch workflow for Blue, and what's needed to enforce it consistently?


Findings

Current State

Branch Location Purpose
main forgejo, origin Only branch - contains all production code
git-forge-integration forgejo RFC 0013 feature branch
mcp-workflow-guidance forgejo RFC 0011 feature branch

Problem: blue_pr_create defaults to develop base and rejects main/master, but no develop branch exists. Feature branches can't be merged.

The Workflow Model

main (production releases only)
  ↑ merge when releasing
develop (integration branch)
  ↑ PRs merge here
feature branches (rfc/*, feature/*)

Why this matters:

  • main stays stable - only receives tested, integrated code
  • develop is where features integrate before release
  • Prevents accidental direct commits to production
  • Enables release management (develop → main when ready)

What's Needed

  1. Create develop branch from current main
  2. Push to forgejo
  3. Update forgejo settings - set default branch to develop
  4. Rebase existing feature branches onto develop
  5. Add blue_release_create tool for develop → main merges

Tool Enforcement (Already Done)

blue_pr_create in pr.rs:59-71:

  • Defaults base to develop
  • Rejects main/master with helpful message
  • This is correct - just needs the branch to exist

Recommendation

Proceed. Create the develop branch now. This is a one-time setup:

# From main branch
git checkout main
git checkout -b develop
git push forgejo develop

# On Forgejo: Settings → Branches → Default Branch → develop

Then existing feature branches can create PRs targeting develop.

Outcome

Proceed with implementation - create develop branch and update forgejo settings.