Add clean-branches make target and docs

Document dataconnect environment options and add branch-cleaning tooling. Adds PROTECTED_BRANCHES.md listing protected branches (main, dev, demo/**). Updates Makefile help text to show ENV defaults for dataconnect targets, new bootstrap/backup/validation commands, and a tip about default ENV. Adds a new clean-branches .PHONY target in makefiles/tools.mk that validates the current branch, reads PROTECTED_BRANCHES.md, prompts for confirmation, switches to dev if necessary, and deletes non-protected local branches while reporting a summary.
This commit is contained in:
Achintha Isuru
2026-02-06 13:40:28 -05:00
parent 543d800635
commit 964b872ee1
3 changed files with 56 additions and 11 deletions

View File

@@ -55,22 +55,25 @@ help:
@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] 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 " 🛠️ 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 ""
@echo " HELP"
@echo " ────────────────────────────────────────────────────────────────────"
@@ -79,4 +82,5 @@ help:
@echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@echo " 💡 Tip: Run 'make mobile-install' first for mobile development"
@echo " 💡 Tip: Use 'make dataconnect-sync' after schema changes"
@echo " 💡 Tip: Default ENV=dev, use ENV=staging for staging environment"
@echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"