Browse docs
--- title: "Architecture" description: "Aurora's architecture — dependency wiring, request flow, and design decisions." icon: "sitemap" ---
Architecture
Aurora follows a clean layered architecture with clear separation of concerns.
Request Flow
- HTTP Server — Echo framework handles routing, middleware, and HTTP lifecycle
- Middleware Stack — Auth, model validation, workflow resolution, audit logging, caching
- Handler — Route-specific business logic (chat completions, embeddings, etc.)
- Gateway Orchestrator — Coordinates provider selection, request translation, retries, fallbacks
- Provider Layer — Provider-specific implementations (OpenAI, Anthropic, Ollama, etc.)
- Upstream — External AI provider API
Dependency Architecture
Core Design Principles
- Postel's Law — Be conservative in what you send, liberal in what you accept
- Twelve-Factor App — Config via environment, stateless processes, disposability
- Good Defaults — Sensible defaults that work out of the box
Key Packages
Design Decisions
Architecture Decision Records (ADRs) document key design decisions: