Skip to content

Adopt main as Base's default branch #904

Description

@codeforester

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.

Metadata

Metadata

Assignees

Labels

documentationDocumentation improvementsenhancementNew feature or product improvement

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions