Branch Overview
Understanding the branching model used in the vibe coding platform.
Branch Types
Our repository uses three types of branches:
Main Branch
| Branch | Purpose |
|---|---|
main | Production - what's currently live |
Working Branches
| Branch | Purpose |
|---|---|
feature/* | New features and changes |
hotfix/* | Urgent production fixes |
Branch Flow
When you open a Pull Request to main, a preview deploy automatically runs with a dedicated database branch for testing.
Branch flow diagramtext
feature/new-feature
↓
PR to main
↓
[CI checks run + Preview deploy: staging + Neon DB branch]
↓
[PR comment: Preview URL + Neon branch]
↓
Developer approves → Merge to main
↓
[Auto-deploy to production + Migrations on Neon main]When to Use Hotfix
Use hotfix/* only when production is broken and the fix cannot wait for the normal feature flow. The mechanics are the same as feature/* (branch from main, PR to main, CI must pass), but the intent is different:
| Branch | Use for |
|---|---|
feature/* | Everything else — new features, improvements, refactors, non-urgent bug fixes |
hotfix/* | Production is broken right now; fix must ship immediately |
Hotfixes should contain the minimal change to restore production. No new features, no refactors, no drive-by improvements. Those belong on a separate feature/* branch afterwards.
Rules
- ✅ Always create branches from
main - ✅ Always use Pull Requests
- ✅ Test on preview URL before merging
- ❌ Never push directly to
main - ❌ Never merge without passing CI checks
Quiz
Quiz
Which branch represents what's currently live in production?