Heru Development Checklist — Zero to MVP

Phase 0: Infrastructure (Robert)

  • Robert provisions ONE EC2 (t2.micro free tier) for the Heru
  • n8n installed on the instance
  • Project repo cloned on the instance
  • Agent workspace created (worktrees directory)
  • DNS: n8n.{domain}.com pointed to EC2 IP
  • Clerk auth configured for n8n access (uses Heru’s production Clerk)
  • Security group: port 5678 open for n8n
  • n8n/ directory created in project root (workflows/, credentials/)
  • n8n added to docker-compose.yml for local development

Phase 1: Contracts (Otis — FIRST, ALWAYS)

  • Otis creates n8n workflow JSON files in n8n/workflows/
  • Otis deploys workflows to n8n on the EC2 instance
  • All webhook events defined and documented
  • API contract document generated for agents
  • Workflows visible at n8n.{domain}.com
  • Slack channel connected (#proj-{heru})

Phase 2: Agent Dispatch (Nikki)

  • Each agent has full Auset Profile: name, command, agent def, skills, tools
  • Otis’s API contracts embedded in every agent’s prompt
  • Agents work in worktrees on the ONE EC2 instance
  • Cursor agents (auto/composer — Tier 0, no premium without approval)
  • Each agent creates PR → develop when task complete
  • Quality Gate passes before PR (tsc, build, lint, test, graphql:validate)

Phase 3: Code Review (Gary)

  • Gary (Opus/Bedrock) reviews each PR
  • Quality Gate output verified in PR description
  • Acceptance criteria checked
  • No regressions, no security issues
  • Merge to develop

Phase 4: Testing

Backend (Automated — separate Cursor agent team)

  • Unit tests written by separate Cursor agent team
  • Tests included in GitHub Actions CI/CD
  • 80% coverage minimum — MVP ready criteria
  • All tests pass on deploy to shared EC2

Frontend/Mobile (Manual — Quik, Vision, clients)

  • Amen Ra provides testing instructions (WHAT to test, not HOW)
  • Quik and Vision test through UI (NOT developers — never send commands)
  • Clients test through UI at each checklist level
  • All bugs reported through Ida (Heru Feedback)
  • 0 critical bugs via Ida = level complete

Phase 5: Develop Deployment

  • Backend deployed to shared EC2 (i-0c851042b3e385682 / 98.83.4.34)
  • Frontend deployed to Amplify (develop branch)
  • n8n running on project EC2 at n8n.{domain}.com
  • GitHub Actions runs tests on deploy
  • 80% test coverage passes

Phase 6: MVP Sign-off

  • ALL acceptance criteria pass
  • 80% backend test coverage
  • 0 critical bugs in Ida
  • Amen Ra signs off
  • Client signs off (if client Heru)

Phase 7: Production Deployment (ONLY after MVP sign-off)

  • Create App Runner instance (ONLY NOW — not before)
  • Build Docker container with backend + n8n bundled
  • Push to ECR, deploy to App Runner
  • n8n MOVES from EC2 into App Runner Docker (same workflows, same config)
  • Frontend deployed to Amplify (production branch)
  • DNS: {domain}.com → Amplify, api.{domain}.com → App Runner
  • n8n.{domain}.com → App Runner (through Clerk auth proxy)
  • Production Clerk, Stripe, SendGrid, Twilio keys configured
  • Database migrations run on production
  • Tear down the develop EC2 instance (Robert cleans up)

Internal vs Client

  • Client Herus (FMO, WCR, My Voyages): Own EC2 instance each
  • Internal Herus (QCR, QuikCarry, QuikNation, Site962): QC1 (Mac M4 Pro)