# agree-on-desires Development Guidelines

Auto-generated from all feature plans. Last updated: 2025-10-13

## Active Technologies
- Node.js (LTS), TypeScript 5.x
- React
- Material-UI / MUI (for Material Design 3 UI components)
- WebSocket library (for real-time communication)
- Google Cloud Natural Language API (for semantic comparison)
- Ephemeral server-side storage (in-memory/session store) for encrypted session data, purged on session termination.
- Node.js (LTS), TypeScript 5.x + React, Material-UI / MUI, WebSocket library, Express.js (005-simple-http-auth)
- Ephemeral server-side storage (in-memory/session store) for encrypted session data, `.env` file for passphrase. (005-simple-http-auth)
- Node.js (LTS), TypeScript 5.x, React + Material-UI / MUI, React Router, Browser's native Clipboard API (006-copy-link-feature)
- N/A (frontend feature, no direct storage interaction) (006-copy-link-feature)

## Project Structure
```
src/
tests/
backend/
├── src/
│   ├── models/
│   ├── services/
│   ├── api/
│   └── ws/ # New directory for WebSocket handlers
└── tests/

frontend/
├── src/
│   ├── components/
│   ├── pages/
│   └── services/
│       └── websocket.ts # Existing WebSocket service, now extended
└── tests/
```

## Commands
npm test
npm run lint

## Code Style
Node.js (LTS), TypeScript 5.x: Follow standard conventions

## Recent Changes
- 006-copy-link-feature: Added Node.js (LTS), TypeScript 5.x, React + Material-UI / MUI, React Router, Browser's native Clipboard API
- 005-simple-http-auth: Added Node.js (LTS), TypeScript 5.x + React, Material-UI / MUI, WebSocket library, Express.js
- 004-afraid-to-ask: Implemented ephemeral server-side storage for encrypted session data, WebSocket communication, and Google Cloud Natural Language API.

<!-- MANUAL ADDITIONS START -->
<!-- MANUAL ADDITIONS END -->
