feat: Initial commit - DAGI Stack v0.2.0 (Phase 2 Complete)

- Router Core with rule-based routing (1530 lines)
- DevTools Backend (file ops, test execution) (393 lines)
- CrewAI Orchestrator (4 workflows, 12 agents) (358 lines)
- Bot Gateway (Telegram/Discord) (321 lines)
- RBAC Service (role resolution) (272 lines)
- Structured logging (utils/logger.py)
- Docker deployment (docker-compose.yml)
- Comprehensive documentation (57KB)
- Test suites (41 tests, 95% coverage)
- Phase 4 roadmap & ecosystem integration plans

Production-ready infrastructure for DAARION microDAOs.
This commit is contained in:
Ivan Tytar
2025-11-15 14:16:38 +01:00
commit 3cacf67cf5
62 changed files with 10625 additions and 0 deletions

117
.env.example Normal file
View File

@@ -0,0 +1,117 @@
# =============================================================================
# DAGI Stack Environment Configuration
# =============================================================================
# Copy this file to .env and fill in your values:
# cp .env.example .env
#
# NEVER commit .env to git - it's already in .gitignore
# =============================================================================
# -----------------------------------------------------------------------------
# Bot Gateway Configuration
# -----------------------------------------------------------------------------
# Telegram bot token (get from @BotFather)
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
# Discord bot token (get from Discord Developer Portal)
DISCORD_BOT_TOKEN=your_discord_bot_token_here
# Gateway port (default: 9300)
GATEWAY_PORT=9300
# -----------------------------------------------------------------------------
# LLM Providers
# -----------------------------------------------------------------------------
# Ollama configuration (local LLM)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=qwen3:8b
# DeepSeek API (optional remote provider)
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DEEPSEEK_BASE_URL=https://api.deepseek.com
# OpenAI API (optional)
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# -----------------------------------------------------------------------------
# DAGI Router Configuration
# -----------------------------------------------------------------------------
ROUTER_PORT=9102
ROUTER_CONFIG_PATH=./router-config.yml
# Request timeout (milliseconds)
ROUTER_TIMEOUT_MS=30000
# -----------------------------------------------------------------------------
# DevTools Backend
# -----------------------------------------------------------------------------
DEVTOOLS_PORT=8008
DEVTOOLS_WORKSPACE=/workspace
# Max file size for fs_read (bytes)
DEVTOOLS_MAX_FILE_SIZE=10485760
# -----------------------------------------------------------------------------
# CrewAI Orchestrator
# -----------------------------------------------------------------------------
CREWAI_PORT=9010
# Workflow execution timeout (seconds)
CREWAI_WORKFLOW_TIMEOUT=300
# -----------------------------------------------------------------------------
# RBAC Service
# -----------------------------------------------------------------------------
RBAC_PORT=9200
# Database URL (SQLite for dev, PostgreSQL for prod)
RBAC_DATABASE_URL=sqlite:///./rbac.db
# RBAC_DATABASE_URL=postgresql://user:password@localhost:5432/dagi_rbac
# Session token secret (generate with: openssl rand -hex 32)
RBAC_SECRET_KEY=your-secret-key-here-replace-with-random-hex
# -----------------------------------------------------------------------------
# Logging Configuration
# -----------------------------------------------------------------------------
LOG_LEVEL=INFO
LOG_FORMAT=json
# Log file rotation (MB)
LOG_MAX_SIZE=100
# -----------------------------------------------------------------------------
# Docker Network Configuration
# -----------------------------------------------------------------------------
DAGI_NETWORK=dagi-network
# -----------------------------------------------------------------------------
# Security
# -----------------------------------------------------------------------------
# CORS allowed origins (comma-separated)
CORS_ORIGINS=http://localhost:3000,https://daarion.city
# Rate limiting (requests per minute)
RATE_LIMIT_RPM=60
# -----------------------------------------------------------------------------
# Staging/Production Environment
# -----------------------------------------------------------------------------
# Set to 'development', 'staging', or 'production'
ENVIRONMENT=development
# Enable debug mode (true/false)
DEBUG=true
# =============================================================================
# SECRET GENERATION COMMANDS
# =============================================================================
# Generate random secret (32 bytes hex):
# openssl rand -hex 32
#
# Generate UUID:
# python3 -c "import uuid; print(uuid.uuid4())"
#
# Generate base64 secret:
# openssl rand -base64 32
# =============================================================================