Teams often bootstrap the governance folders and stop there.
That is useful, but it leaves one of the most dangerous gaps open:
- agents still have a path to work directly on protected branches
- promotion to production can blur into normal integration
- hotfixes can land fast and still leave
developbehind
If the repo workflow is loose, the governance is only half-installed.
The missing bootstrap step
Bootstrap should not only install rules. It should install the repository path those rules have to travel through.
For a strict VibeGov setup, that means:
mainis the promotion/release branchdevelopis the normal integration branch- issue-scoped
feature/,fix/,docs/, andchore/branches start fromdevelop - agents do not commit directly to
mainordevelop - normal work reaches
developthrough pull request - promotion from
developtomainis a separate, explicit decision
That is the branch contract. Without it, the rest of the delivery loop is easier to bypass than teams usually admit.
Why develop matters so much
The point of develop is not to create ceremony.
It is to separate normal integration from release promotion.
When all work aims straight at main, teams lose a clean place to ask:
- what is ready to integrate?
- what is ready to promote?
- what evidence is attached to each decision?
develop gives the system a stable answer.
Normal work integrates there first.
Promotion to main becomes visible instead of accidental.
Why issue-scoped branches matter
Agents are fast enough that "small shortcut" branching habits become system-level problems.
Issue-scoped branches force three good behaviors:
- the work has a tracked reason to exist
- the scope stays isolated while the change is in motion
- reviewers can map the branch back to issue and spec intent quickly
That is why the branch name itself should carry the issue ID. It turns Git history into traceability instead of mere chronology.
Pull requests are the integration gate
The important rule is not merely "use pull requests sometimes."
It is "normal work must enter develop through pull requests, and agents do not bypass that gate."
That matters because pull requests are where teams can reliably attach:
- issue links
- spec links
- validation evidence
- risk notes
- release-readiness context
The pull request is where branch workflow meets governed evidence.
Promotion and hotfixes should be explicit too
Promotion from develop to main is not just another merge.
It is a release decision.
That decision should be visible in its own pull request so reviewers can ask whether the integrated work is truly ready to become the production/reference state.
Hotfixes need the same clarity from the other direction:
- branch from
main - merge back to
mainthrough an explicit hotfix pull request - then back-merge or otherwise reconcile into
developimmediately
Without that last step, the repo begins to lie about its own state.
main contains reality, develop contains a stale story, and the next integration cycle inherits the drift.
Branch protection turns the policy into reality
A written workflow is better than nothing, but protected-branch settings are what stop the shortcuts from becoming normal.
That is why VibeGov bootstrap now needs more than a rule file. It also needs:
- a repo pull-request template
- a branch protection checklist
- adoption docs that explain the promotion and hotfix path clearly
Those artifacts make the workflow teachable and enforceable instead of tribal.
Practical takeaway
If you want agents to inherit good delivery behavior, bootstrap the Git path as well as the governance text.
Install the folders, install the rules, and also install the strict branch and pull-request contract before product code begins.
