This directory contains technical architecture documentation for Sprout.
Architecture documents explain how Sprout works internally. They describe the design decisions, component interactions, and implementation details that make up the system.
| Document | Description | Status |
|---|---|---|
| Overview | High-level architecture and design principles | Complete |
| Tenancy | The container for tenant state | Complete |
| Tenant Providers | Loading tenants from storage | Complete |
| Identity Resolvers | Extracting tenant identity from requests | Complete |
| Resolution Hooks | When and how tenant resolution occurs | Complete |
| Tenancy Lifecycle | Events and listeners during tenant activation | Complete |
| Service Overrides | Making Laravel services tenant-aware | Complete |
| Eloquent Integration | Tenant-aware models and automatic scoping | Complete |
| Managers & Factories | Driver-based factory pattern for extensibility | Complete |
| Exceptions | Error handling and exception hierarchy | Complete |
The documents above cover Sprout’s core architecture. The following extension packages add additional capabilities: