Update README.md
This commit is contained in:
239
README.md
239
README.md
@@ -1,3 +1,240 @@
|
||||
# DevDen
|
||||
## 📦 **Naam: "DevDen"** (of alternatieven: "CodeBurrow", "TerminalNest", "AskDen")
|
||||
|
||||
**Tagline:** *"Your cozy AI-powered development terminal"*
|
||||
|
||||
---
|
||||
|
||||
## 🎯 **Concept Beschrijving**
|
||||
|
||||
DevDen is een self-hosted, terminal-stijl webinterface die developers een unified interface geeft om met verschillende AI providers te praten, gekoppeld aan hun eigen codebases en kennisbanken. Het combineert de vertrouwdheid van een terminal met de kracht van moderne AI, waarbij je volledige controle houdt over je data en AI provider keuzes.
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ **Architectuur Overzicht**
|
||||
|
||||
### **Core Components**
|
||||
|
||||
1. **Frontend: Terminal Interface**
|
||||
- Clean, terminal-achtige UI (denk: groen-op-zwart, of customizable themes)
|
||||
- Command-line style interacties met autocomplete
|
||||
- Split-pane view: terminal + context viewer
|
||||
- Syntax highlighting voor code responses
|
||||
- Session management (bewaar conversatie geschiedenis)
|
||||
|
||||
2. **Backend: API Gateway**
|
||||
- FastAPI (past bij je Python stack)
|
||||
- Provider abstraction layer
|
||||
- Request routing en rate limiting
|
||||
- WebSocket support voor streaming responses
|
||||
|
||||
3. **Knowledge Base Engine**
|
||||
- Git repository indexing
|
||||
- Docker volume mounting
|
||||
- Vector embeddings voor semantic search
|
||||
- File watching voor auto-updates
|
||||
- Support voor multiple knowledge bases per user/project
|
||||
|
||||
4. **Provider Manager**
|
||||
- Unified interface voor alle AI providers
|
||||
- API key management per provider
|
||||
- Fallback logic (als één provider down is)
|
||||
- Cost tracking per provider/model
|
||||
- Model capability mapping
|
||||
|
||||
---
|
||||
|
||||
## 🔐 **Authenticatie: Microsoft Entra ID**
|
||||
|
||||
**Setup:**
|
||||
- OAuth 2.0 flow met Entra ID
|
||||
- Role-based access control (RBAC)
|
||||
- Multi-tenant support (voor meerdere orgs)
|
||||
- API token generation voor programmatic access
|
||||
|
||||
**User Management:**
|
||||
- Per-user provider API keys (encrypted)
|
||||
- Per-user knowledge base access
|
||||
- Usage quotas en billing (optioneel)
|
||||
|
||||
---
|
||||
|
||||
## 📚 **Knowledge Base Integratie**
|
||||
|
||||
### **Opties:**
|
||||
|
||||
1. **Git Integration**
|
||||
- Clone repos via URL + credentials
|
||||
- Auto-sync op interval of webhook
|
||||
- Branch/tag selection
|
||||
- .devdenignore voor exclusions
|
||||
|
||||
2. **Volume Mounting**
|
||||
- Docker volumes voor local codebases
|
||||
- Read-only of read-write access
|
||||
- Hot-reload bij file changes
|
||||
|
||||
3. **Future Options:**
|
||||
- Confluence/Notion integration
|
||||
- S3/Azure Blob storage
|
||||
- Database schema introspection
|
||||
- API documentation scraping
|
||||
|
||||
**Indexing:**
|
||||
- Chunk documents voor context
|
||||
- Vector embeddings (gebruik Ollama local, of OpenAI)
|
||||
- Metadata extraction (file types, authors, dates)
|
||||
- Full-text search + semantic search
|
||||
|
||||
---
|
||||
|
||||
## 🎨 **UI/UX Features**
|
||||
|
||||
### **Terminal Commands**
|
||||
```
|
||||
/model claude-sonnet-4 # Switch AI model
|
||||
/kb add my-project # Add knowledge base
|
||||
/kb search "authentication" # Search in KB
|
||||
/provider openai # Switch provider
|
||||
/session save my-analysis # Save session
|
||||
/export markdown # Export conversation
|
||||
/clear # Clear terminal
|
||||
/help # Show commands
|
||||
```
|
||||
|
||||
### **Context Awareness**
|
||||
- Toon welke knowledge base chunks gebruikt worden
|
||||
- Highlight relevante files in sidebar
|
||||
- Token usage indicator
|
||||
- Model capabilities badge
|
||||
|
||||
---
|
||||
|
||||
## 🐳 **Docker Setup**
|
||||
|
||||
### **docker-compose.yml Structure**
|
||||
|
||||
```yaml
|
||||
services:
|
||||
devden-web: # Frontend + Backend
|
||||
devden-db: # PostgreSQL voor sessions/users
|
||||
devden-redis: # Caching + session storage
|
||||
devden-vector: # Vector DB (qdrant/chroma)
|
||||
ollama: # Optional local AI
|
||||
```
|
||||
|
||||
**Volumes:**
|
||||
- `/data/knowledge-bases` - Mounted KB directories
|
||||
- `/data/git-repos` - Cloned repositories
|
||||
- `/data/configs` - User configs + API keys
|
||||
|
||||
---
|
||||
|
||||
## 🔧 **Provider Configuration**
|
||||
|
||||
### **providers.yaml**
|
||||
```yaml
|
||||
providers:
|
||||
claude:
|
||||
models: [sonnet-4, opus-4, haiku-4]
|
||||
capabilities: [code, vision, long-context]
|
||||
|
||||
openai:
|
||||
models: [gpt-4, gpt-4-turbo]
|
||||
capabilities: [code, vision]
|
||||
|
||||
openrouter:
|
||||
proxy: true
|
||||
models: [all-available]
|
||||
|
||||
gemini:
|
||||
models: [gemini-pro, gemini-ultra]
|
||||
|
||||
ollama:
|
||||
local: true
|
||||
endpoint: http://ollama:11434
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🌟 **Killer Features**
|
||||
|
||||
1. **Smart Context Selection**
|
||||
- AI suggests relevant files from KB
|
||||
- Automatic dependency detection
|
||||
- "What's changed" git diff integration
|
||||
|
||||
2. **Collaborative Sessions**
|
||||
- Share session URLs
|
||||
- Real-time collaboration (optional)
|
||||
- Export sessions als gists
|
||||
|
||||
3. **Cost Optimization**
|
||||
- Use cheap models voor simple queries
|
||||
- Automatic switching based op task complexity
|
||||
- Monthly budget alerts
|
||||
|
||||
4. **Privacy First**
|
||||
- All data self-hosted
|
||||
- Optional E2E encryption voor KB
|
||||
- Audit logs voor compliance
|
||||
- No telemetry naar providers (alleen noodzakelijke API calls)
|
||||
|
||||
---
|
||||
|
||||
## 📊 **Tech Stack**
|
||||
|
||||
**Frontend:**
|
||||
- Svelte/Alpine.js (lightweight)
|
||||
- Xterm.js voor terminal emulation
|
||||
- TailwindCSS voor styling
|
||||
|
||||
**Backend:**
|
||||
- FastAPI (Python)
|
||||
- PostgreSQL (users, sessions, configs)
|
||||
- Redis (caching, rate limiting)
|
||||
- Qdrant/ChromaDB (vector search)
|
||||
|
||||
**Infrastructure:**
|
||||
- Docker + Docker Compose
|
||||
- Nginx reverse proxy
|
||||
- Traefik voor routing (optioneel)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 **MVP Feature Set**
|
||||
|
||||
**Phase 1: Core**
|
||||
- [ ] Terminal UI met basic commands
|
||||
- [ ] Claude + OpenAI provider support
|
||||
- [ ] Volume-based KB (single directory)
|
||||
- [ ] Basic auth (admin/password)
|
||||
- [ ] Session persistence
|
||||
|
||||
**Phase 2: Enhanced**
|
||||
- [ ] Microsoft Entra ID integration
|
||||
- [ ] Git repository integration
|
||||
- [ ] Vector search in KB
|
||||
- [ ] OpenRouter + Gemini providers
|
||||
- [ ] Cost tracking
|
||||
|
||||
**Phase 3: Advanced**
|
||||
- [ ] Ollama local models
|
||||
- [ ] Multi-KB support
|
||||
- [ ] Collaborative features
|
||||
- [ ] Advanced prompt templates
|
||||
- [ ] API voor external integrations
|
||||
|
||||
---
|
||||
|
||||
## 🎨 **Visual Identity**
|
||||
|
||||
Gezien je voorliefde voor cozy aesthetics:
|
||||
|
||||
**Color Palette:**
|
||||
- Primary: Warm terminal green (#7CFC00)
|
||||
- Background: Deep charcoal (#1e1e1e)
|
||||
- Accent: Cappuccino brown (#8B7355)
|
||||
- Highlights: Soft amber (#FFB347)
|
||||
|
||||
**Mascot Concept:**
|
||||
Een cozy fox in een burrow met een terminal, omringd door code snippets en boeken (knowledge bases). Warm, friendly, tech-savvy.
|
||||
Reference in New Issue
Block a user