Architecture: How should the unified chat system be organized as NX librar...

Documentation for Sessions

🏗️ Architecture: How should the unified chat system be organized as NX librar...

Date: 2026-02-21
Time: 18:20:06 UTC
Session: gspace1-133.3
Agent: documentation
Confidence: NaN%
Status: ✅ Documented


📋 Decision Context

Question:

How should the unified chat system be organized as NX libraries?

Task: Not specified


🎯 Decision Made

Chosen:

Separate @libs-ux libraries for reusable primitives + @libs-ai/vitto-chat for chat orchestration

Options Considered:

  1. Single monolithic @libs-ai/vitto-chat library with everything
  2. Separate @libs-ux libraries for reusable primitives + @libs-ai/vitto-chat for chat orchestration
  3. Full decomposition into 6+ focused libraries

💭 Reasoning

Primitives like markdown rendering, emoji picker, syntax highlighting, and chat reactions are reusable beyond chat (docs, comments, code editors). They belong in @libs-ux where other reusable UX components live. Chat-specific logic (Vitto engine, session management, plugins) stays in @libs-ai/vitto-chat. This follows the existing pattern: @libs-ux/drag-drop is reusable, @libs-ai/ai-panel-core uses it for AI-specific drag flows.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation