Files
Krow-workspace/Makefile
2026-03-18 15:04:18 +01:00

121 lines
9.2 KiB
Makefile
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# KROW Workforce Project Makefile
# -------------------------------
# This is the main entry point. It includes modular Makefiles from the 'makefiles/' directory.
# The default command to run if no target is specified.
.DEFAULT_GOAL := help
# --- Include Modules ---
include makefiles/common.mk
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 ---
.PHONY: help
help:
@echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@echo " 🚀 KROW Workforce - Available Makefile Commands"
@echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@echo ""
@echo " 📦 WEB FRONTEND (apps/web)"
@echo " ────────────────────────────────────────────────────────────────────"
@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 " ────────────────────────────────────────────────────────────────────"
@echo " make launchpad-dev Start launchpad dev server (Firebase Hosting)"
@echo " make deploy-launchpad-hosting Deploy launchpad to Firebase Hosting"
@echo ""
@echo " 📱 MOBILE APPS (apps/mobile)"
@echo " ────────────────────────────────────────────────────────────────────"
@echo " make mobile-install Bootstrap mobile workspace + SDK"
@echo " make mobile-info List mobile development commands"
@echo " make mobile-client-dev-android [DEVICE=android] Run client app (Android)"
@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 & LEGACY V1 BACKEND (legacy/dataconnect-v1)"
@echo " ────────────────────────────────────────────────────────────────────"
@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 " ☁️ BACKEND FOUNDATION V2 (Isolated Parallel Stack)"
@echo " ────────────────────────────────────────────────────────────────────"
@echo " make backend-bootstrap-v2-dev [ENV=dev] Bootstrap isolated v2 resources + SQL instance"
@echo " make backend-deploy-core-v2 [ENV=dev] Build and deploy core API v2 service"
@echo " make backend-deploy-commands-v2 [ENV=dev] Build and deploy command API v2 service"
@echo " make backend-deploy-query-v2 [ENV=dev] Build and deploy query API v2 scaffold"
@echo " make backend-v2-migrate-idempotency Create/upgrade command idempotency table for v2 DB"
@echo " make backend-smoke-core-v2 [ENV=dev] Run health smoke test for core API v2 (/health)"
@echo " make backend-smoke-commands-v2 [ENV=dev] Run health smoke test for command API v2 (/health)"
@echo " make backend-smoke-query-v2 [ENV=dev] Run health smoke test for query API v2 (/health)"
@echo " make backend-logs-core-v2 [ENV=dev] Tail/read logs for core API v2"
@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 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 " ────────────────────────────────────────────────────────────────────"
@echo " make help Show this help message"
@echo ""
@echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@echo " 💡 Tip: Run 'make mobile-install' first for mobile development"
@echo " 💡 Tip: Use 'make dataconnect-sync-full' after schema changes"
@echo " 💡 Tip: Default ENV=dev, use ENV=staging for staging environment"
@echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"