Files
ChatGPTScaffolding/collab/plan/02-branching.md

1.9 KiB

02 — Branching/Release — Plan

Status: Pending Proposal Approval — do not execute until 02-branching proposal is approved (“Approved for Plan”).

Purpose: Keep main production-ready and clean while enabling fast, safe iteration via short-lived branches and CI protections.

Chosen Model

  • Trunk-based development:
    • main is always green and production-ready (zero technical debt).
    • Work happens on short-lived branches by type: feat/*, fix/*, chore/*, docs/*, ci/*, refactor/*.
    • Optional next integration branch only if batching risky changes is necessary.

Repo Content on main

  • Full repository (code, prompts, templates, docs). Every merge must pass audits and Docker-based CI.
  • Releases tagged YYYY-MM-DD-HHMM on main only.

CI/Gitea Protections

  • Required checks on main: scripts/audit.sh and Docker test job.
  • Require PRs to merge; block direct pushes.
  • Enforce linear history (no merge commits) or squash-merge per preference.
  • Enforce Conventional Commits in PR titles.

Migration Steps

  1. Tag current baseline on main (e.g., YYYY-MM-DD-HHMM).
  2. Create wip/phase1 from current main; continue TDD work there.
  3. Configure Gitea branch protection for main with required checks and PR requirement.
  4. Add docs/branching.md describing this policy; link from README.
  5. Optionally create next if multiple risky features need integration before main.

Acceptance Criteria

  • main is protected in Gitea with required audit/test checks and PR-only merges.
  • wip/phase1 branch exists and becomes the target for ongoing work until Phase 1 is complete.
  • Tags are created only on main for release-ready states.
  • docs/branching.md added and referenced by README.

Notes

  • Keep branches short-lived; delete after merge.
  • If policy changes, update docs/branching.md, AGENTS templates, and prompts/global to propagate.