Aurelis is an enterprise-grade AI code assistant built exclusively for GitHub models via Azure AI Inference.
┌─────────────────────────────────────────────────────────────┐
│ User Layer │
├─────────────────────────────────────────────────────────────┤
│ CLI Commands │ Interactive Shell │ Future: IDE Plugin │
└─────────────────┬───────────────────────────────────────────┘
│
┌─────────────────▼───────────────────────────────────────────┐
│ Application Layer │
├─────────────────────────────────────────────────────────────┤
│ Model Orchestrator (Core Engine) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Task │ │ Model │ │ Cache │ │
│ │ Router │ │ Manager │ │ Manager │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────┬───────────────────────────────────────────┘
│
┌─────────────────▼───────────────────────────────────────────┐
│ Integration Layer │
├─────────────────────────────────────────────────────────────┤
│ Azure AI Inference API │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Codestral │ │ GPT-4o │ │ Cohere │ │
│ │ 2501 │ │ Models │ │ Command-R │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Meta │ │ Mistral │ │
│ │ Llama 3.1 │ │ Models │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────┬───────────────────────────────────────────┘
│
┌─────────────────▼───────────────────────────────────────────┐
│ Infrastructure Layer │
├─────────────────────────────────────────────────────────────┤
│ Configuration │ Security │ Logging │ Monitoring│
│ Management │ & Auth │ & Metrics │ & Health │
└─────────────────────────────────────────────────────────────┘
Purpose: Central engine for GitHub model interaction Responsibilities:
Key Features:
Purpose: Intelligent model selection based on request context Responsibilities:
Routing Logic:
Code Generation → Codestral-2501 (Primary) → GPT-4o (Fallback)
Documentation → Cohere Command-R → GPT-4o-mini
Complex Reasoning → GPT-4o → Meta Llama 405B
Performance Opt → Codestral-2501 → Meta Llama 70B
Purpose: Optimize performance through intelligent response caching Responsibilities:
Cache Strategy:
Purpose: Centralized configuration management Responsibilities:
Configuration Sources (in priority order):
.aurelis.yaml
)~/.aurelis/config.yaml
)Purpose: Handle authentication and secure credential storage Responsibilities:
Security Features:
1. User Input (CLI/Shell)
│
▼
2. Request Validation
│
▼
3. Cache Lookup
│
├── Cache Hit ──────────────┐
│ │
▼ │
4. Task Analysis │
│ │
▼ │
5. Model Selection │
│ │
▼ │
6. API Request (GitHub Models) │
│ │
▼ │
7. Response Processing │
│ │
▼ │
8. Cache Storage │
│ │
▼ ▼
9. Response to User ←──────────┘
1. Application Start
│
▼
2. Load System Defaults
│
▼
3. Load User Config (~/.aurelis/config.yaml)
│
▼
4. Load Project Config (.aurelis.yaml)
│
▼
5. Apply Environment Variables
│
▼
6. Apply CLI Arguments
│
▼
7. Validate Configuration
│
▼
8. Initialize Components
1. Token Discovery
├── Environment Variable (GITHUB_TOKEN)
├── Configuration File
└── System Keyring
│
▼
2. Token Validation
├── Format Validation
├── Permission Check
└── API Test Call
│
▼
3. Secure Storage
├── Encrypt Token
├── Store in Keyring
└── Clear Memory
│
▼
4. API Authentication
├── Bearer Token Header
├── Request Signing
└── Response Validation