diff --git a/AGENTS.md b/AGENTS.md index aa70637..f11d495 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -117,3 +117,15 @@ Post in `#vacation-hq` → orchestrator plans, posts to department channels, run | [docs/slack-swarm-delegation.md](docs/slack-swarm-delegation.md) | Reaction-trigger workaround | | [docs/automations/](docs/automations/) | Automation prefills | | [docs/bootstrap-test.md](docs/bootstrap-test.md) | Validation checklist | + +## Cursor Cloud specific instructions + +Environment notes for cloud agents (the startup update script already runs `flutter pub get` and `npm install` for `functions/` and `slack-orchestrator/`): + +- **Flutter SDK** is installed at `/opt/flutter` (3.44.2 / Dart 3.12.2, matching `pubspec.lock`) and symlinked into `/usr/local/bin` as `flutter` and `dart`, so both are on `PATH` in any shell. Web is already enabled. +- **The apps talk to the LIVE Firebase project** `vacation-app-21706` — the project, web API key, and Cloud Function URLs are hardcoded (`flutter_app/firebase-config.json`, `lib/firebase_options.dart`, `lib/chat/vacation_agent_service.dart`). There is **no local emulator wiring**, so chat + lead submission require network access to Firebase AI Logic / Identity Toolkit / Cloud Functions. No Gemini or Twilio secret is needed client-side (web API key is embedded; the customer app uses anonymous auth). +- **Run the customer app (primary dev surface):** `cd flutter_app && flutter run -d web-server --web-hostname=0.0.0.0 --web-port=5001 -t lib/main_customer.dart` then open `http://localhost:5001`. Admin CRM is the same command with `-t lib/main_admin.dart` (use a different port). Use a tmux session for long-running `flutter run`. +- **Lint:** `cd flutter_app && flutter analyze` exits non-zero because of 4 pre-existing info/warning lints (not errors) — treat a clean run as "only those known issues". **Tests:** `flutter test` (Dart unit tests). The `node scripts/test-*.mjs` scripts hit the live backend and are the quickest connectivity check. +- **Functions** (`functions/`): build with `npm run build` (tsc). `npm run serve` starts Firebase emulators and additionally needs the Firebase CLI + Java; it is not required to run/test the customer app against prod. +- **Twilio SMS is optional** — leads still save to Firestore if Twilio creds are absent (the function records `smsStatus: "failed"`). +- Do **not** deploy or merge without explicit human instruction (see operating rules above).