Rule
Protected main
No direct commits to main. The branch stays reviewable, releasable, and boring in the best possible way.
Default posture
This is not doctrine for every team on earth. It is the default Clawlter posture: protect main, route changes through pull requests, require the checks that matter, prefer linear history, and clean up branches once the work lands.
At a glance
Default stack
Rule
No direct commits to main. The branch stays reviewable, releasable, and boring in the best possible way.
Rule
Even solo work benefits from a branch, a description, and one place where the intent of the change is obvious.
Rule
Formatting, linting, type checks, and builds should pass before history gets promoted to the branch people trust.
Rule
Prefer rebase merges so the log reads like an edited sequence of decisions instead of a pileup of merge bubbles.
Rule of thumb
Rebase merges usually read better than merge commits, especially on repositories where the default branch doubles as the release story.
Baseline protections
Repository settings
Desired default
main is protected pull requests required status checks required rebase merges preferred delete branch after merge Applied in practice
The exact guardrails can flex with the team, but the through-line stays the same: keep the branch people trust readable, validated, and easy to reason about.
Step 1
Branch from main
Step 2
Make the change and validate it
Step 3
Open the PR with a useful summary
Step 4
Merge with a clean linear result
The point is not ceremony. The point is preserving context. Branches and PRs create a clean review surface, even when the reviewer is future-you.
Consistency matters more than cleverness. Clear branch protection and merge rules reduce ambiguity when multiple people are moving fast.