2.2 KiB
2.2 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
DevDen is a self-hosted AI chat platform that enables organizations to provide AI-powered Q&A based on their own knowledge bases. Users interact through a clean chat interface while administrators manage knowledge bases, AI providers, and user access through a terminal-style dashboard.
Current Status: Early prototype stage with static frontend (HTML/CSS/JS). Backend infrastructure is not yet implemented.
Architecture
Planned Technology Stack:
- Frontend: Vanilla JavaScript (prototype), potential migration to Svelte
- Backend: FastAPI (Python)
- Database: PostgreSQL (users, conversations, settings)
- Cache: Redis (sessions)
- Vector DB: Qdrant or ChromaDB (semantic search)
- Auth: Microsoft Entra ID
- AI Providers: Claude, OpenAI, Gemini, OpenRouter, Ollama (local)
Two-Interface Design:
- Clean chat interface for end users (warm, accessible design)
- Terminal-style dashboard for administrators
Current Files
index.html- Main chat interface structurescript.js- Chat interaction logic (mock responses currently)style.css- UI styling with fox-themed color scheme (accent:#d4a574)
Development Phases (from project.md)
- Core Chat - Basic chat with single AI provider
- Knowledge Base - Document indexing and semantic search
- Authentication - Microsoft Entra ID integration
- Admin Dashboard - Management interface
- Multi-Provider - Multiple AI provider support
- Git Integration - Auto-sync from repositories
- Polish - Production readiness
Commands (Future)
When Docker infrastructure is implemented:
docker-compose up -d
docker-compose exec devden-web python manage.py init-db
docker-compose exec devden-web python manage.py create-admin --email admin@company.com
docker-compose logs -f devden-web
Design Decisions
- Knowledge bases connect via Git repositories (auto-sync) or Docker volumes (local files)
- Source transparency: answers show which documents were referenced
- User quotas configurable per-user (questions per day/month)
- API keys encrypted at rest
- All data stays on-premises (self-hosted)