Initial public push: docs cosmos v4 + AI module + framework groundwork
This is the snapshot the production landing site (nibiru-framework.com) is deployed from. Brings together the recent splash + docs migration to the v4 "Cosmos" design system, the new in-framework AI module, and the framework groundwork that backs the framework-reference extraction. What lands: - docs/: Astro + Starlight site with the v4 dark cosmic palette, GalaxyHero canvas constellation, Mission Control chat (wired to /api/oracle → api.neuronetz.ai via providers.mjs Ollama), 5-panel MMVC stage (Model · AI · Module · Controller · View), translated EN/DE/JA/ES/FR content, PWA + sitemap + llms.txt + Umami analytics. - docs/design-system/: canonical mockup bundle (source/index-v2.html for splash, source/docs-system.html + preview/ for docs, SPEC.md, tokens). - docs/scripts/extraction/framework-reference-v2.md: deep framework reference (~1.6k lines, file:line citations, every public factory and idiom — basis for the LoRA training corpus. - application/module/ai/: AI module with chat / embed / RAG / agent plugins, plus pdoQuery / httpGet / fileRead tools and Modelfile + smoke-test in training/. - application/module/users/: user / ACL / form-factory traits used as the reference plugin pattern for the framework docs. - application/settings/config/database/: schema + seed migrations including the AI module tables (200–203). - Form factory + autogenerator changes the framework-reference-v2 covers. Production secrets stay out: docs/.env, settings.production.ini and ai.production.ini are all gitignored (.example files are in tree). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
55
docs/src/components/BrandHero.astro
Normal file
55
docs/src/components/BrandHero.astro
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
const { data } = Astro.locals.starlightRoute.entry;
|
||||
const hero = data.hero;
|
||||
|
||||
const title = hero?.title ?? data.title ?? '';
|
||||
const tagline = hero?.tagline ?? data.description ?? '';
|
||||
const eyebrow = hero?.eyebrow ?? 'Modular MMVC PHP framework';
|
||||
const actions = Array.isArray(hero?.actions) ? hero.actions : [];
|
||||
|
||||
const shouldRender = !!hero;
|
||||
---
|
||||
|
||||
{shouldRender && (
|
||||
<section class="atelier-hero">
|
||||
<span class="atelier-hero__number" aria-hidden="true">01</span>
|
||||
|
||||
<div class="atelier-hero__grid">
|
||||
<div class="atelier-hero__copy">
|
||||
{eyebrow && <p class="atelier-hero__eyebrow">{eyebrow}</p>}
|
||||
{title && <h1 class="atelier-hero__title" set:html={title} />}
|
||||
{tagline && <p class="atelier-hero__lede" set:html={tagline} />}
|
||||
|
||||
{actions.length > 0 && (
|
||||
<div class="atelier-hero__cta">
|
||||
{actions.map((a: any) => (
|
||||
<a
|
||||
href={a.link}
|
||||
class={`atelier-button ${
|
||||
a.variant === 'minimal' || a.variant === 'secondary'
|
||||
? 'atelier-button--ghost'
|
||||
: 'atelier-button--primary'
|
||||
}`}
|
||||
>
|
||||
<span>{a.text}</span>
|
||||
{a.icon === 'right-arrow' && <span class="atelier-button__arrow" aria-hidden="true">→</span>}
|
||||
{a.icon === 'external' && <span class="atelier-button__arrow" aria-hidden="true">↗</span>}
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div class="atelier-hero__art" aria-hidden="true">
|
||||
<img
|
||||
class="atelier-hero__mark"
|
||||
src="/img/nibiru-logo.png"
|
||||
alt=""
|
||||
loading="eager"
|
||||
width="280"
|
||||
height="280"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
)}
|
||||
Reference in New Issue
Block a user