Desktop-first clinical copilot UI for doctors during live consultations. Chat-first notes experience with tool-run transparency, patient visit selection, clinic-scoped auth, and interactive vitals graphs.
Start here if you are new to this repo:
→ docs/README.md
→ docs/handoff/README.md
Author of the changes documented for handoff: tanish-tci (tanishk@thecloudintelligence.com), June 2026.
- React 19 + TypeScript
- Vite 8 (
outDir: build) - Tailwind CSS 4
- Zustand (auth + chat + consultation state)
- Recharts (vitals)
- react-markdown + Radix UI primitives (shadcn-style components)
npm install
cp .env.example .env
npm run devOpen http://localhost:5173.
# .env
VITE_USE_MOCK=trueSign in with any credentials. Use patient picker and/or ask for vitals/graph. Optionally use Load demo flow when available.
# .env
VITE_AGENT_API_URL=http://localhost:8080
VITE_USE_MOCK=falseClinic/branch scope comes from /v1/auth/signin (not env vars).
Endpoints used:
GET /health— connection check on loadPOST /v1/auth/signin— doctor loginGET /v1/patients/search— visit searchPOST /v1/chat— message history round-tripGET /v1/meta— tools list (implemented; settings UI removed)
Authenticated shell is chat-first:
- Top bar (logo, patient picker, logout)
- Full-width notes chat (
NotesChatPanel)
Older three-column components may still exist under src/ but are not mounted. See docs/reference/orphaned-code.md.
| Component | Path |
|---|---|
LoginScreen |
src/components/auth/LoginScreen.tsx |
NotesChatPanel |
src/components/consultation/NotesChatPanel.tsx |
PatientPickerModal |
src/components/modals/PatientPickerModal.tsx |
ToolRunCard |
src/components/chat/ToolRunCard.tsx |
VitalsChart |
src/components/clinical/VitalsChart.tsx |
ConfirmActionCard |
src/components/clinical/ConfirmActionCard.tsx |
| Command | Description |
|---|---|
npm run dev |
Development server |
npm run build |
Production build → build/ |
npm run lint |
ESLint |
npm run preview |
Preview production build |
Azure Pipelines (azure-pipelines.yml): Node 22 → npm ci → lint → build → publish artifact drop from build/. Details in docs/infrastructure/azure-pipelines.md.