Arkitektur
Hvordan Aurora er bygget
En Laravel-pakke med et Filament-adminpanel, et blokksystem appen din bygger videre på, og ett sett verktøy som deles av redaktører, assistenten og MCP.
Det store bildet
Pakken og appen din
Aurora (pakken)
Modeller, adminpanelet, mediebiblioteket, skjemaer, menyer, oversettelser, KI-assistenten og MCP-serveren. Installeres med Composer og oppdateres som enhver pakke.
Appen din (nettstedet)
Sidemalen din, blokkene dine og visningene deres, innstillingsfanene og stilene dine. Registreres hos Aurora fra din egen service provider.
Regelen er enkel: Aurora er aldri avhengig av appen din. Der den trenger noe fra nettstedet (blokkene, innstillingene, visningen en side tegnes med) tilbyr den en krok, og appen din kaller den. Det gjør oppgraderinger kjedelige.
Teknologien
Laravel 13
Modeller, køer, e-post, innlogging og HTTP-laget.
Filament 5
Adminpanelet: ressurser, skjemaer, tabeller og handlinger.
Livewire & Alpine
Lerretet og alle interaktive skjermer.
Tailwind CSS
Adminpanelets tema og, om du vil, nettstedet ditt.
Innholdsmodell
Sider er blokker, lagret som JSON
En side har en tittel og adresse per språk, en status, SEO-felter og en liste med blokker. Beholdere (seksjoner, rutenett, knappegrupper) holder andre blokker i navngitte plasser.
- Tekst som er ulik per språk ligger ved siden av blokkene, per blokk
- Hver lagring skriver en versjon med et fullt øyeblikksbilde
- Filer refereres med id i mediebiblioteket, så når du bytter en fil oppdateres alle sider
{
"id": "b7f2…",
"type": "hero",
"data": {
"layout": "centered",
"headline": "Pages are layouts, not *forms*",
"primary_label": "Get started",
"primary_page": "01a1…"
}
}
Redaktører, assistenten og MCP
Ett sett verktøy, tre veier inn
Lerretet, assistenten i adminpanelet og MCP-klienter endrer alle innhold gjennom de samme operasjonene, sjekket mot de samme rettighetene, og hver endring lagres som en versjon.
-
01
Noen ber om noe
En redaktør drar inn en blokk, spør assistenten, eller Claude kaller add_block over MCP.
-
02
Aurora sjekker
Personens rolle avgjør om endringen er lov, uansett hvem som skriver.
-
03
Innholdet endres
Siden lagres som en ny versjon, med personen og kanalen (lerret, assistent eller MCP).
-
04
Alle ser det
Åpne editorer lastes inn på nytt, godkjennerne får beskjed, og aktivitetsloggen viser hva som skjedde.
Kroker
Bygge videre på Aurora
Hva appen din registrerer, og hvor.
use Aurora\Blocks\Blocks;
use Aurora\Support\SettingsTabs;
public function boot(): void
{
// The blocks editors can use, in palette order.
Blocks::register([HeroBlock::class, CardBlock::class, CodeSampleBlock::class]);
// Settings your templates read, kept per site.
SettingsTabs::register('footer', fn (): Tab => Tab::make(__('Footer'))->schema([
TextInput::make('footer_note'),
]), siteKeys: ['footer_note']);
}