πŸ”€ Development Workflow

Universal rules for branching, PRs, screenshots, and deployment β€” applies to all coding agents across all repos.

πŸ“‹ Universal Agent Workflow System

Established July 27, 2026

Applies to ALL coding agents across ALL repos (10 GitHub + 2 Azure DevOps).

Core principle: Every code change goes through a branch β†’ PR β†’ review β†’ merge cycle. No exceptions.

🌿 Branching Rules

Examples

agent/add-convex-schema
agent/fix-login-flow
agent/redesign-header
agent/add-payment-webhook
⚠️ Critical: Committing directly to main bypasses Vercel preview deploys, Convex auto-deploy, and code review. Never do this.

πŸ”„ Development Flow

Every feature or fix follows this 10-step flow:

1. Branch from main
β†’
2. Develop locally
β†’
3. Run & screenshot
β†’
4. Push branch
β†’
5. Vercel preview
6. Open PR (with template)
β†’
7. Post to Discord
β†’
8. Mike reviews
β†’
9. Merge to main
β†’
10. Prod deploy

Step Details

  1. Branch from main: git checkout main && git pull && git checkout -b agent/<description>
  2. Develop locally: Make changes, test iteratively
  3. Run & screenshot: Start dev server, capture screenshots to test-screenshots/
  4. Push branch: git push -u origin agent/<description>
  5. Vercel preview: Auto-created on push β€” wait for deployment URL
  6. Open PR: Use the PR template (auto-populates from .github/PULL_REQUEST_TEMPLATE.md)
  7. Post to Discord: Share screenshots + preview link + PR link
  8. Mike reviews: Address feedback if needed
  9. Merge to main: Squash merge preferred
  10. Prod deploy: Vercel production deploy + Convex auto-deploy (if configured)

πŸ“ PR Template

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>
Note: The template ensures every PR has consistent structure β€” summary, testable changes, visual proof, and a live preview.

πŸ“Έ Screenshot Convention

# 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"
Safety net: test-screenshots/ is added to .gitignore on main. Even if a screenshot accidentally gets committed, it won't appear in production.

⚑ Convex Auto-Deploy (GitHub Actions)

On merge to main, a GitHub Action automatically runs npx convex deploy.

How It Works

Configured Repos

RepoStatusNotes
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 }}

πŸ—ΊοΈ Where Applied

Workflow adoption status across all repos:

RepoPlatformStatus
crmGitHubβœ… Adopted
linkallGitHubβœ… Adopted
almighty-dollarGitHubβœ… Adopted
surroundshow-v2GitHubβœ… Adopted
superstarsaleGitHubβœ… Adopted
headquartersGitHubβœ… Adopted
aroundsummerlinGitHubβœ… Adopted
holidacorGitHubβœ… Adopted
microspaces-appGitHubβœ… Adopted
LinkAll8Azure DevOps⏳ Local only
MSCoreAzure DevOps⏳ Local only

πŸ”§ Scripts

apply-workflow-rules.ps1

PowerShell script to apply workflow rules across all repos.

scripts/apply-workflow-rules.ps1

set-github-secret.js

Node.js script to set GitHub Actions secrets via API (libsodium encryption).

scripts/set-github-secret.js <repo> <secret-name> <secret-value>