# agree-on-desires Development Guidelines Auto-generated from all feature plans. Last updated: 2025-10-13 ## Active Technologies - Ruby on Rails (latest stable version) as full-stack framework - 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. - Ruby on Rails (latest stable version) as full-stack framework + 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) - Ruby on Rails (latest stable version) as full-stack framework, 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 Ruby on Rails (latest stable version), Ruby 3.x: Follow standard conventions ## Recent Changes - 006-copy-link-feature: Added Ruby on Rails (LTS), Ruby 3.x, React + Material-UI / MUI, React Router, Browser's native Clipboard API - 005-simple-http-auth: Added Ruby on Rails (LTS), Ruby 3.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.