# 📂 Project Structure Plexus is organized into three main areas: the client, the server, and the internal tooling. ## 📁 Root Directory - `Makefile`: Central automation script for installation, development, and tasks. - `docker-compose.yml`: Defines the development environment services. - `Dockerfile.dev`: Unified development shell with all dependencies. - `package.json`: Root package for devtooling (Husky, lint-staged). - `pyproject.toml`: Configuration for Python linting (Ruff). ## 📁 `client/` (Frontend) Built with Vue 3 and Vite. - `src/components/`: Reusable UI components (Chat, Profile, UserList, etc.). - `src/stores/`: Pinia stores for state management (`chat.js`). - `src/style.css`: Global styles and Tailwind utilities. - `tailwind.config.js`: Custom theme and animations. ## 📁 `server/` (Backend) Built with Node.js and Socket.io. - `index.js`: Main entry point, socket event handlers. - `db.js`: Database initialization and schema management. - `data/`: Contains the DuckDB database file (`chat.duckdb`). - `tests/`: Integration tests for socket events. ## 📁 `tasks/` (Internal Tooling) Python-based task tracker. - `cli.py`: Command-line interface for managing tasks. - `db.py`: DuckDB backend for task storage. - `tasks.duckdb`: Database for internal tasks. ## 📁 `docs/` (Documentation) Linked Markdown files covering all aspects of the project.