--- description: Quick local typecheck + test + build across all product backends (fast complement to /gitea-ci) --- # Verify All Backends (Local) Run typecheck, test, and build across all product backends locally — without needing Gitea. Use this for fast pre-push validation. For full CI verification, use `/gitea-ci` instead. **When to use:** - After modifying a `@bytelyst/*` shared package - Before a bulk push to all repos - Quick health check without waiting for Gitea runner queue ## 1. Build common-plat packages first (dependency for all backends) ```bash cd /Users/sd9235/code/mygh/learning_ai_common_plat && pnpm build ``` ## 2. Verify all product backends Run typecheck + test + build for each backend. Stops on first failure. ```bash REPOS_DIR="/Users/sd9235/code/mygh" PASSED=0 FAILED=0 FAILURES="" for entry in \ "learning_ai_notes:@notelett/backend" \ "learning_ai_local_memory_gpt:@localmemgpt/backend" \ "learning_ai_trails:@actiontrail/backend" \ "learning_ai_fastgap:@nomgap/backend" \ "learning_ai_clock:@chronomind/backend" \ "learning_ai_jarvis_jr:@jarvisjr/backend" \ "learning_ai_peakpulse:@peakpulse/backend" \ "learning_voice_ai_agent:@lysnrai/backend" \ "learning_ai_flowmonk:@flowmonk/backend" \ "learning_ai_efforise:@efforise/backend"; do repo="${entry%%:*}" filter="${entry##*:}" echo "" echo "━━━ $repo ($filter) ━━━" cd "$REPOS_DIR/$repo" if pnpm --filter "$filter" run typecheck 2>&1 | tail -3 && \ pnpm --filter "$filter" run test 2>&1 | tail -5 && \ pnpm --filter "$filter" run build 2>&1 | tail -3; then echo "✅ $repo PASSED" PASSED=$((PASSED + 1)) else echo "❌ $repo FAILED" FAILED=$((FAILED + 1)) FAILURES="$FAILURES\n - $repo" fi done echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "✅ Passed: $PASSED" echo "❌ Failed: $FAILED" if [ -n "$FAILURES" ]; then echo -e "Failures:$FAILURES" fi ``` ## 3. (Optional) Verify all web apps too Web builds take longer. Only run if you suspect web-side breakage. ```bash REPOS_DIR="/Users/sd9235/code/mygh" for entry in \ "learning_ai_notes:@notelett/web" \ "learning_ai_local_memory_gpt:@localmemgpt/web" \ "learning_ai_trails:@actiontrail/web" \ "learning_ai_fastgap:@nomgap/web" \ "learning_ai_clock:web" \ "learning_ai_jarvis_jr:jarvisjr-web" \ "learning_voice_ai_agent:user-dashboard-web" \ "learning_ai_flowmonk:@flowmonk/web" \ "learning_ai_efforise:client" \ "learning_ai_local_llms:dashboard"; do repo="${entry%%:*}" filter="${entry##*:}" echo "" echo "━━━ $repo web ($filter) ━━━" cd "$REPOS_DIR/$repo" if pnpm --filter "$filter" run typecheck 2>&1 | tail -3 && \ pnpm --filter "$filter" run build 2>&1 | tail -5; then echo "✅ $repo web PASSED" else echo "❌ $repo web FAILED" fi done ``` ## 4. After fixing issues If any backend/web failed: 1. Fix the issue in the affected repo 2. Re-run the failing step only to confirm 3. Commit with: `fix(scope): description` 4. Run `/gitea-ci` for full CI verification