An AI-powered Codebase Intelligence Platform built with a modular, SOLID-based, multi-provider and multi-model architecture.
The platform is designed to understand software repositories, analyze source code, extract codebase knowledge, and provide AI-powered intelligence over the complete codebase.
Current Phase: Phase 0 — General Foundation
The platform follows:
- SOLID principles
- Separation of concerns
- Dependency inversion
- Interface-based design
- Modular architecture
- Multi-provider support
- Multi-model support
- Dependency injection
- Service-oriented design
- Extensible AI architecture
The platform is designed to support multiple AI providers through a common provider abstraction.
Configured providers:
- Ollama
- OpenAI
- Anthropic
- Google Gemini
- Mistral
- Groq
- Cohere
- DeepSeek
The platform uses a centralized provider/model configuration.
- qwen2.5:1.5b
- gemma2:2b
- gemma3:4b
- mistral:latest
- phi3:latest
- qwen3:latest
- llama3.1:latest
- llama3:8b
- deepseek-coder:latest
- gpt-5-mini
- gpt-4o
- gpt-4o-mini
- claude-sonnet-4-5
- claude-haiku-4-5
- claude-opus-4-1
- gemini-3.6-flash
- gemini-2.5-flash
- gemini-2.5-pro
- mistral-medium-latest
- mistral-large-latest
- mistral-small-latest
- llama-3.3-70b-versatile
- llama-3.1-8b-instant
- mixtral-8x7b-32768
- command-a-03-2025
- command-r-plus
- command-r
- deepseek-chat
- deepseek-reasoner
- deepseek-v4-flash
Phase 0 → General Foundation
Phase 1 → Codebase Knowledge Ingestion Process
Phase 2 → Codebase Intelligence & Memory Process
Phase 3 → AI Codebase Interaction Process
Phase 4 → Validation & Advanced Codebase Intelligence
Configuration
Provider Abstraction
Provider Clients
Provider Registry
Model Registry
Provider Factory
Dependency Injection
Application Bootstrap
Streamlit Foundation
Logging
Exception Handling
Testing Foundation
app/
├── application/
├── config/
├── core/
├── domain/
├── infrastructure/
└── presentation/
tests/
├── unit/
└── integration/
docs/
├── architecture.md
└── phase-0.md
Create a local .env file from .env.example.
Never commit .env or API keys to source control.
Provider and model configuration is centralized so that AI provider selection remains independent from the core codebase intelligence logic.
Install dependencies:
pip install -r requirements.txtStart Streamlit:
streamlit run app.pyEvery phase follows:
PLAN
↓
DESIGN
↓
IMPLEMENT
↓
TEST
↓
FIX
↓
STABILIZE
↓
DOCUMENT
↓
NEXT PHASE
The Codebase Intelligence Platform will progressively provide:
Codebase
↓
Repository Discovery
↓
Codebase Ingestion
↓
Code Understanding
↓
Knowledge Extraction
↓
AI Intelligence
↓
Codebase Interaction
↓
Advanced Codebase Intelligence
The goal is to build an AI system capable of understanding a software codebase as a complete system rather than treating individual source files as isolated documents.
MIT License
### `docs/architecture.md`
```markdown
# Architecture
## Architectural Layers
```text
Presentation
↓
Application
↓
Domain
↓
Infrastructure
Presentation → Application → Domain
↓
Infrastructure
The domain layer depends on abstractions rather than concrete infrastructure implementations.
app.py
↓
Application
↓
Dependency Injection Container
↓
Services / Agents
↓
Provider Factory
↓
AI Provider
↓
AI Model
The Streamlit entry point remains thin and does not directly communicate with individual AI providers.
AIProvider
↑
Concrete Provider
↓
Provider Client
↓
External AI API / Local Model
ProviderFactory
│
├── Ollama
├── OpenAI
├── Anthropic
├── Google Gemini
├── Mistral
├── Groq
├── Cohere
└── DeepSeek
The Provider Factory is responsible for creating the appropriate provider implementation.
Components have focused responsibilities.
Examples:
Configuration
→ Application configuration
Provider
→ AI communication
Service
→ Business logic
Agent
→ AI workflow
Presentation
→ UI rendering
Container
→ Dependency management
New providers, models, services, and intelligence capabilities can be introduced without modifying unrelated core logic.
Concrete providers implement the common provider abstraction and can be substituted wherever the base abstraction is required.
Interfaces remain focused and minimal.
Higher-level application and domain components depend on abstractions rather than concrete infrastructure implementations.
8 AI providers are supported through a common provider abstraction.
AI models are centrally configured and associated with their respective providers.
Provider and model selection remains independent from the core codebase intelligence business logic.
The long-term architecture follows:
Repository
↓
Repository Discovery
↓
File Discovery
↓
Code Parsing
↓
Code Metadata
↓
Knowledge Extraction
↓
Knowledge Store
↓
Retrieval
↓
AI Intelligence
↓
Codebase Interaction
### `docs/phase-0.md`
```markdown
# Phase 0 — General Foundation
## Objective
Establish a clean, modular, SOLID-based foundation for the
AI Codebase Intelligence Platform.
The purpose of Phase 0 is to create the architectural foundation
required for future codebase ingestion, intelligence, memory,
interaction, and advanced analysis capabilities.
## Completed
- Project definition
- Architecture design
- Repository structure
- Configuration foundation
- Provider abstraction
- Provider clients
- Provider registry
- Model registry
- Provider factory
- Dependency injection
- Application bootstrap
- Streamlit foundation
- Logging
- Exception handling
- Testing foundation
- Configuration validation
- Architecture stabilization
- Documentation
## Phase 0 Architecture
```text
Streamlit
↓
Presentation
↓
Application
↓
Dependency Injection Container
↓
Services / Agents
↓
Provider Factory
↓
AI Provider
↓
AI Model
✅ Establish project foundation
✅ Establish clean architecture
✅ Establish SOLID principles
✅ Establish provider abstraction
✅ Establish multi-provider foundation
✅ Establish multi-model foundation
✅ Establish dependency injection
✅ Establish application bootstrap
✅ Establish Streamlit foundation
✅ Establish testing foundation
Phase 0 is completed and ready for Phase 1.
Phase 1 — Codebase Knowledge Ingestion Process
## Phase 0 Tracker
```text
✅ 0.1 Project Definition & Architecture
✅ 0.2 Repository Structure
✅ 0.3 Configuration Foundation
✅ 0.4 Multi-Provider / Multi-Model Foundation
✅ 0.5 Provider Abstraction
✅ 0.6 Provider Clients
✅ 0.7 Provider Registry
✅ 0.8 Model Registry
✅ 0.9 Provider Factory
✅ 0.10 Dependency Injection Container
✅ 0.11 Logging + Exception Foundation
✅ 0.12 Configuration Validation
✅ 0.13 Application Bootstrap
✅ 0.14 Streamlit Foundation
✅ 0.15 Testing Foundation
✅ 0.16 Stabilization
✅ 0.17 Documentation
✅ 0.18 Phase 0 Review
✅ 0.19 Phase 0 Complete
➡️ Next → Phase 1: Codebase Knowledge Ingestion Process