Files
plexus/docs/structure.md

1.4 KiB

📂 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.