diff --git a/Makefile b/Makefile index 2c72e7bf..98d82e42 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,7 @@ include makefiles/web.mk include makefiles/launchpad.mk include makefiles/mobile.mk include makefiles/dataconnect.mk +include makefiles/backend.mk include makefiles/tools.mk # --- Main Help Command --- @@ -21,12 +22,22 @@ help: @echo " 🚀 KROW Workforce - Available Makefile Commands" @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" @echo "" - @echo " đŸ“Ļ WEB FRONTEND (internal/api-harness)" + @echo " đŸ“Ļ WEB FRONTEND (apps/web)" @echo " ────────────────────────────────────────────────────────────────────" - @echo " make install Install web frontend dependencies" - @echo " make dev Start local web frontend dev server" - @echo " make build Build web frontend for production" - @echo " make deploy-app [ENV=dev] Build and deploy web app (dev/staging/prod)" + @echo " make web-install Install web frontend dependencies" + @echo " make web-info List web development commands" + @echo " make web-dev Start local web frontend dev server" + @echo " make web-build [ENV=dev] Build web frontend for production (dev/staging)" + @echo " make web-lint Run linter for web frontend" + @echo " make web-test Run tests for web frontend" + @echo " make web-preview Preview web frontend build" + @echo " make web-deploy [ENV=dev] Build and deploy web app (dev/staging)" + @echo "" + @echo " Aliases:" + @echo " make install → web-install" + @echo " make dev → web-dev" + @echo " make build → web-build" + @echo " make deploy-app → web-deploy" @echo "" @echo " 🏠 LAUNCHPAD (internal/launchpad)" @echo " ────────────────────────────────────────────────────────────────────" @@ -41,27 +52,50 @@ help: @echo " make mobile-client-build PLATFORM=apk Build client app (apk/ipa/etc)" @echo " make mobile-staff-dev-android [DEVICE=android] Run staff app (Android)" @echo " make mobile-staff-build PLATFORM=apk Build staff app (apk/ipa/etc)" + @echo " make mobile-analyze Run flutter analyze for client+staff" + @echo " make mobile-test Run flutter test for client+staff" @echo " make mobile-hot-reload Hot reload running Flutter app" @echo " make mobile-hot-restart Hot restart running Flutter app" + @echo " make test-e2e Run full Maestro E2E suite (Client + Staff auth)" + @echo " make test-e2e-client Run Client Maestro E2E only" + @echo " make test-e2e-staff Run Staff Maestro E2E only" @echo "" @echo " đŸ—„ī¸ DATA CONNECT & BACKEND (backend/dataconnect)" @echo " ────────────────────────────────────────────────────────────────────" - @echo " make dataconnect-init Initialize Firebase Data Connect" - @echo " make dataconnect-deploy Deploy Data Connect schemas to Cloud SQL" - @echo " make dataconnect-sql-migrate Apply pending SQL migrations" - @echo " make dataconnect-generate-sdk Regenerate Data Connect client SDK" - @echo " make dataconnect-sync Full sync: deploy + migrate + generate SDK" - @echo " make dataconnect-seed Seed database with test data" - @echo " make dataconnect-clean Delete all data from Data Connect" - @echo " make dataconnect-test Test Data Connect deployment (dry-run)" - @echo " make dataconnect-enable-apis Enable required GCP APIs" - @echo " make dataconnect-bootstrap-db ONE-TIME: Full Cloud SQL + Data Connect setup" + @echo " make dataconnect-init Initialize Firebase Data Connect" + @echo " make dataconnect-deploy [ENV=dev] Deploy Data Connect schemas (dev/staging)" + @echo " make dataconnect-sql-migrate [ENV=dev] Apply pending SQL migrations" + @echo " make dataconnect-generate-sdk [ENV=dev] Regenerate Data Connect client SDK" + @echo " make dataconnect-sync [ENV=dev] Fast sync: deploy connector + generate SDK" + @echo " make dataconnect-sync-full [ENV=dev] Full sync: deploy + migrate + generate SDK" + @echo " make dataconnect-seed [ENV=dev] Seed database with test data" + @echo " make dataconnect-clean [ENV=dev] Delete all data from Data Connect" + @echo " make dataconnect-test [ENV=dev] Test Data Connect deployment (dry-run)" + @echo " make dataconnect-enable-apis [ENV=dev] Enable required GCP APIs" + @echo " make dataconnect-bootstrap-db ONE-TIME: Full Cloud SQL + Data Connect setup (dev)" + @echo " make dataconnect-bootstrap-validation-database ONE-TIME: Setup validation database" + @echo " make dataconnect-backup-dev-to-validation Backup dev database to validation" + @echo "" + @echo " â˜ī¸ BACKEND FOUNDATION (Cloud Run + Workers)" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make backend-help Show backend foundation commands" + @echo " make backend-enable-apis [ENV=dev] Enable backend GCP APIs" + @echo " make backend-bootstrap-dev Bootstrap backend foundation resources (dev)" + @echo " make backend-migrate-idempotency Create/upgrade command idempotency table" + @echo " make backend-deploy-core [ENV=dev] Build and deploy core API service" + @echo " make backend-deploy-commands [ENV=dev] Build and deploy command API service" + @echo " make backend-deploy-workers [ENV=dev] Deploy async worker functions scaffold" + @echo " make backend-smoke-core [ENV=dev] Run health smoke test for core service (/health)" + @echo " make backend-smoke-commands [ENV=dev] Run health smoke test for command service (/health)" + @echo " make backend-logs-core [ENV=dev] Tail/read logs for core service" @echo "" @echo " đŸ› ī¸ DEVELOPMENT TOOLS" @echo " ────────────────────────────────────────────────────────────────────" - @echo " make install-melos Install Melos globally (for mobile dev)" - @echo " make install-git-hooks Install git pre-push hook (protect main/dev)" - @echo " make sync-prototypes Sync prototypes from client-krow-poc repo" + @echo " make install-melos Install Melos globally (for mobile dev)" + @echo " make install-git-hooks Install git pre-push hook (protect main/dev)" + @echo " make sync-prototypes Sync prototypes from client-krow-poc repo" + @echo " make clean-branches Delete local branches (keeps main/dev/demo/**/protected)" + @echo " make setup-mobile-ci-secrets Setup GitHub Secrets for mobile APK signing (CI/CD)" @echo "" @echo " â„šī¸ HELP" @echo " ────────────────────────────────────────────────────────────────────" @@ -69,5 +103,6 @@ help: @echo "" @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" @echo " 💡 Tip: Run 'make mobile-install' first for mobile development" - @echo " 💡 Tip: Use 'make dataconnect-sync' after schema changes" + @echo " 💡 Tip: Use 'make dataconnect-sync-full' after schema changes" + @echo " 💡 Tip: Default ENV=dev, use ENV=staging for staging environment" @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"