Universal rules for branching, PRs, screenshots, and deployment β applies to all coding agents across all repos.
Established July 27, 2026
Applies to ALL coding agents across ALL repos (10 GitHub + 2 Azure DevOps).
main as agent/<description>mainagent/add-convex-schema
agent/fix-login-flow
agent/redesign-header
agent/add-payment-webhook
main bypasses Vercel preview deploys, Convex auto-deploy, and code review. Never do this.
Every feature or fix follows this 10-step flow:
git checkout main && git pull && git checkout -b agent/<description>test-screenshots/git push -u origin agent/<description>.github/PULL_REQUEST_TEMPLATE.md)Every GitHub repo has .github/PULL_REQUEST_TEMPLATE.md. PRs auto-populate with this template:
## Summary
<What does this PR do? Why is it needed?>
## Changes Made
- <Change 1>
- <Change 2>
- <Change 3>
## Testing Checklist
- [ ] Ran locally without errors
- [ ] All routes/pages load correctly
- [ ] No console errors
- [ ] Screenshots captured
## Screenshots
<Drag screenshots here or reference test-screenshots/ files>
## Preview URL
<Vercel preview URL from push deployment>
## Convex Note
<Any Convex schema/migration changes? "None" if not applicable>
test-screenshots/ in repo root<feature>-<date>.png (e.g., login-page-2026-07-27.png).gitignore on main as a safety net (so screenshots never reach production)# Example screenshot workflow
npm run dev -- --port 3456
# Capture screenshot
npx playwright-core screenshot --browser=chromium \
--viewport-size=1400,900 --wait-for-timeout=3000 \
"http://localhost:3456" ./test-screenshots/login-page-2026-07-27.png
# Commit to branch
git add test-screenshots/
git commit -m "feat: add login page screenshots"
test-screenshots/ is added to .gitignore on main. Even if a screenshot accidentally gets committed, it won't appear in production.
On merge to main, a GitHub Action automatically runs npx convex deploy.
main (i.e., PR merge)npx convex deployCONVEX_DEPLOY_KEY as a GitHub Actions secret| Repo | Status | Notes |
|---|---|---|
crm |
β Active | Production deploy key configured |
almightydollar-app |
β³ Needs key | GitHub secret not yet added |
surroundshow-v2 |
β³ Confirm usage | Verify if still needed (legacy repo) |
# GitHub Action workflow (simplified)
name: Convex Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npx convex deploy
env:
CONVEX_DEPLOY_KEY: ${{ secrets.CONVEX_DEPLOY_KEY }}
Workflow adoption status across all repos:
| Repo | Platform | Status |
|---|---|---|
crm | GitHub | β Adopted |
linkall | GitHub | β Adopted |
almighty-dollar | GitHub | β Adopted |
surroundshow-v2 | GitHub | β Adopted |
superstarsale | GitHub | β Adopted |
headquarters | GitHub | β Adopted |
aroundsummerlin | GitHub | β Adopted |
holidacor | GitHub | β Adopted |
microspaces-app | GitHub | β Adopted |
LinkAll8 | Azure DevOps | β³ Local only |
MSCore | Azure DevOps | β³ Local only |
PowerShell script to apply workflow rules across all repos.
scripts/apply-workflow-rules.ps1
AGENTS.md with workflow section.github/PULL_REQUEST_TEMPLATE.mdtest-screenshots/ to .gitignoreNode.js script to set GitHub Actions secrets via API (libsodium encryption).
scripts/set-github-secret.js <repo> <secret-name> <secret-value>
CONVEX_DEPLOY_KEY and other secretsGITHUB_TOKEN in environment