EnvironmentService can read Firebase config files, resolve project IDs, and connect to emulator/staging/prod Firestore via firebase-admin.
Package skeleton exists with basic get_env/set_env tools.
.firebaserc and firebase.json from repo root${ROOMY_MCP_REPO_ROOT}/.firebaserc and firebase.jsonemulatorprod and ROOMY_MCP_SERVICE_ACCOUNT_PATH_PROD is missing, server fails fastsrc/env/projectConfig.ts to read .firebaserc and firebase.jsonprodProjectId from .firebaserc.projects.defaultstagingProjectId from .firebaserc.projects.stagingemulatorFirestoreHost from firebase.json.emulators.firestore.port (default: 8081)src/firebase/admin.ts with getOrInitFirebaseAdminHandles()initializeApp({ projectId }) + firestore.settings({ host, ssl:false })cert(serviceAccountJson) + projectIdsrc/env/environmentService.ts to use projectConfig and firebase-admingetFirestore() method that returns cached Firestore handlesrc/index.ts to eagerly initialize Firestore on startuploadProjectConfig with port fallbackroomy-mcp-${env}ROOMY_MCP_SERVICE_ACCOUNT_PATH_STAGINGROOMY_MCP_SERVICE_ACCOUNT_PATH_PROD
Reacties