Files
Mai/.planning/codebase/STACK.md
Mai Development f238a958a0 docs: map existing codebase
- STACK.md - Technologies and dependencies
- ARCHITECTURE.md - System design and patterns
- STRUCTURE.md - Directory layout
- CONVENTIONS.md - Code style and patterns
- TESTING.md - Test structure
- INTEGRATIONS.md - External services
- CONCERNS.md - Technical debt and issues
2026-01-26 23:14:44 -05:00

94 lines
2.8 KiB
Markdown

# Technology Stack
**Analysis Date:** 2026-01-26
## Languages
**Primary:**
- Python 3.x - Core Mai agent codebase, local model inference, self-improvement system
**Secondary:**
- YAML - Configuration files for personality, behavior settings
- JSON - Configuration, metadata, API responses
- SQL - Memory storage and retrieval queries
## Runtime
**Environment:**
- Python (local execution, no remote runtime)
- LMStudio or Ollama - Local model inference server
**Package Manager:**
- pip - Python package management
- Lockfile: requirements.txt or poetry.lock (typical Python approach)
## Frameworks
**Core:**
- No web framework for v1 (CLI/Discord only)
**Model Inference:**
- LMStudio Python SDK - Local model switching and inference
- Ollama API - Alternative local model management per requirements
**Discord Integration:**
- discord.py - Discord bot API client
**CLI:**
- Click or Typer - Command-line interface building
**Testing:**
- pytest - Unit/integration test framework
- pytest-asyncio - Async test support for Discord bot testing
**Build/Dev:**
- Git - Version control for Mai's own code changes
- Docker - Sandbox execution environment for safety
## Key Dependencies
**Critical:**
- LMStudio Python Client - Model loading, switching, inference with token management
- discord.py - Discord bot functionality for approval workflows
- SQLite3 - Lightweight persistent storage (Python stdlib)
- Docker SDK for Python - Sandbox execution management
**Infrastructure:**
- requests - HTTP client for Discord API fallback and Ollama API communication
- PyYAML - Personality configuration parsing
- pydantic - Data validation for internal structures
- python-dotenv - Environment variable management for secrets
- GitPython - Programmatic git operations for committing self-improvements
## Configuration
**Environment:**
- .env file - Discord bot token, model paths, resource thresholds
- environment variables - Runtime configuration loaded at startup
- personality.yaml - Core personality values and learned behavior layers
- config.json - Resource limits, model preferences, memory settings
**Build:**
- setup.py or pyproject.toml - Package metadata and dependency declaration
- Dockerfile - Sandbox execution environment specification
- .dockerignore - Docker build optimization
## Platform Requirements
**Development:**
- Python 3.8+ (for type hints and async/await)
- Git (for version control and self-modification tracking)
- Docker (for sandbox execution environment)
- LMStudio or Ollama running locally (for model inference)
**Production (Runtime):**
- RTX 3060 GPU minimum (per project constraints)
- 16GB+ RAM (for model loading and context management)
- Linux/macOS/Windows with Python 3.8+
- Docker daemon (for sandboxed code execution)
- Local LMStudio/Ollama instance (no cloud models)
---
*Stack analysis: 2026-01-26*