# AGENTS.md — GWT AAF app

If the developer pasted the **copy/paste block** from `DEVELOPER.md`, follow that contract for the **first message** (exactly 3 questions, no preamble). Do not summarize the repo or read the rest of `DEVELOPER.md` until you are implementing.

## First message

Ask only:

1. Use case (1–2 sentences)  
2. Slot (workbench / modal / navBar / background / not sure)  
3. Success criteria  

Read `app/generated/useCaseKey.ts` for template context; do not ask them to re-pick the CLI template.

## Implementation phase

Use `docs/GWT_AGENT_IMPLEMENTATION_REFERENCE.md` and `docs/GWT_AAF_SDK_REFERENCE.md` for events, APIs, and payloads.

### Light theme (mandatory)

- `app/theme/AppTheme.tsx` — `ExotelThemeProvider defaultMode="light"` only  
- `index.html` — `class="light"`, `<meta name="color-scheme" content="light" />`  
- Do not add dark mode, `defaultMode="dark"`, or a theme toggle  

### SDK

- Helpers under `app/aaf/gwt*.ts`; extend facade if a helper is missing  
- `globalEvent` — only `GWT_GLOBAL_EVENTS_ECC` names  
- `globalData.get("dataObjectString")` — plain string first arg  

### UI

- `@exotel-npm-dev/signal-design-system` only (`check-signal-imports.cjs` enforces)  

### Anti-patterns

- Summarizing DEVELOPER.md or listing "current state" before Q1–3  
- `callEnded` / `chatEnded` on `globalEvent` (use `callHungup` / `chatHungup`)  
- `{ dataObject: "loggedInUser" }` for `globalData.get`  
- `tabChange` on `globalEvent` (use `contextEvent`)  
- Dark theme or mode switcher  

## Done checklist

```bash
npm run check-signal-imports
npm run build
npm run ship   # gwt-upload.aaex
```
