Context
Use main as the default branch consistently across Base-managed repositories going forward. The local base checkout currently tracks origin/master, and a scan found master assumptions across user-facing docs, bootstrap/install URLs, repo guidance, and basectl default-branch tests/fallbacks.
Examples found locally include README.md, FAQ.md, docs/bootstrap.md, docs/release-process.md, docs/github-workflow.md, AGENTS.md, CONTRIBUTING.md, skills.md, templates/project-install.sh, and basectl tests/helpers.
Scope
- Rename the repository default branch from
master to main when the compatibility plan is ready.
- Update branch protection/rulesets and any workflow settings that explicitly target
master.
- Replace hardcoded
origin/master, --base master, and raw GitHub /master/ install URLs with main, the detected default branch, or a release/tagged URL where that is the safer contract.
- Keep
basectl gh, basectl repo, and basectl update main-first while preserving support for existing repositories that still use master.
- Update canonical docs, generated guidance, templates, and any repo context files that document the branch workflow.
- Document the post-rename local clone update commands and compatibility expectations for contributors.
Acceptance criteria
- GitHub reports
main as the default branch for base.
- Non-historical docs/templates no longer instruct new work to branch from
origin/master or open PRs against master.
- Bootstrap/install examples remain valid after the rename.
- Tests cover
main as the normal default and master as a supported legacy fallback.
- Branch protections, release workflow, issue/PR workflow, and cleanup commands are verified after the rename.
Related follow-up
Coordinate this with the remaining Base-family repos that still reference or depend on master: base-bash-libs, homebrew-base, base-workspace, and base-demo.
Context
Use
mainas the default branch consistently across Base-managed repositories going forward. The localbasecheckout currently tracksorigin/master, and a scan foundmasterassumptions across user-facing docs, bootstrap/install URLs, repo guidance, andbasectldefault-branch tests/fallbacks.Examples found locally include
README.md,FAQ.md,docs/bootstrap.md,docs/release-process.md,docs/github-workflow.md,AGENTS.md,CONTRIBUTING.md,skills.md,templates/project-install.sh, andbasectltests/helpers.Scope
mastertomainwhen the compatibility plan is ready.master.origin/master,--base master, and raw GitHub/master/install URLs withmain, the detected default branch, or a release/tagged URL where that is the safer contract.basectl gh,basectl repo, andbasectl updatemain-first while preserving support for existing repositories that still usemaster.Acceptance criteria
mainas the default branch forbase.origin/masteror open PRs againstmaster.mainas the normal default andmasteras a supported legacy fallback.Related follow-up
Coordinate this with the remaining Base-family repos that still reference or depend on
master:base-bash-libs,homebrew-base,base-workspace, andbase-demo.