# JOLLI-1414 Atlas > Atlas theme pack fixture. Single Docs tab with Concepts/Guides/Reference as Groups in the sidebar, plus a dedicated OpenAPI tab and a Community Menu. --- # Advanced Source: https://testmctest-newtenant.local.jolli.site/advanced A longer page used to verify Atlas's right-rail "On this page" rendering with multiple H2/H3 levels. ## Async patterns When ingesting customer commits, the build pipeline serializes per-tenant work to keep the change-detection cache coherent. ### Webhook-triggered builds The `git-backed:reindex-on-push` job runs in the tenant's job scheduler. Failures on one backing don't prevent the others from reindexing. ### Polling fallbacks If the webhook never lands (delivery failure, worker queue stalled), the rebuild indicator's drift check pays one cheap GitHub HEAD call per change-detection request and self-heals. ## Auth patterns Out of scope for `site.json` v1. The plan calls for adding `auth.jwt` later; for now JWT config stays in the Jolli UI's read-only status page. ### What customers configure today Nothing — the keypair is Jolli-managed. Visitors hit `/api/sites/:id/auth/jwt` to obtain a token; the deployed Nextra middleware verifies via `JWT_PUBLIC_KEY`. ### What customers will configure later `auth.jwt.{enabled, mode, allowedGroups, showAuthBanner, crossTenantAccess}` in `site.json`. Keys never leave Jolli. ## Notes This page exists mainly to give Atlas's TOC component something to render. Three H2 sections, two H3 subsections per H2. --- # Architecture Source: https://testmctest-newtenant.local.jolli.site/architecture A short architecture page used to verify Atlas-pack rendering of multi-paragraph content with code blocks and inline code. The system is composed of three layers: 1. **Ingest layer** — accepts customer commits via webhook and reindexes the repo cache. 2. **Build layer** — reads `site.json`, applies the overlay, and emits a Nextra project tree. 3. **Deploy layer** — ships the tree to Vercel as a fresh deployment. ```ts type Layer = "ingest" | "build" | "deploy"; function dispatch(commit: Commit, target: Layer): void { // pack-aware routing happens here } ``` Inline code such as `siteBranding.themePack` should render in the Atlas-pack inline-code style (slightly different background tint than Forge). --- # Atlas Pack — BYOR Fixture! Source: https://testmctest-newtenant.local.jolli.site/ Validates that the **Atlas** theasdfasdfsddfasadfdsame pack renders correctly for a Git-backed site. The pack uses a different navbar/sidebar layout than Forge, so a happy build here proves the pack-specific overlay translation in `mapBrandingToThemeConfig` is wiring through. ## What's covered - `theme.pack: "atlas"` — pack switch round-trips - `theme.defaultTheme: "dark"` — site loads dark by default; the toggle still works - `theme.logoDisplay: "image"` — only the logo image renders in the navbar (no text accompaniment) - `theme.logoUrl: /assets/logo.svg` — repo-root path resolves and gets bundled to `/git-assets/` - `theme.primaryHue: 280` — purple accent, picks a band Forge doesn't typically use - `theme.fontFamily: "space-grotesk"` — different font than the test/edge-cases fixtures ## What's not covered here - `pack: "default"` translation (CLI legacy → SaaS forge): smoke-tested in the test fixture - Path mappings: covered in test/edge-cases - OpenAPI special-char regression: covered in edge-cases ## Pages - [Concepts](/concepts) — three-page concept tree - [Guides](/guides) — quickstart + advanced - [Orders API](/api-orders) — single OpenAPI spec to verify pack handling of API reference pages - [Glossary](/reference/glossary) — leaf reference page --- # Data Model Source: https://testmctest-newtenant.local.jolli.site/data-model A small reference table to test that Atlas renders Markdown tables consistently. | Field | Type | Required | Notes | | --------------- | -------- | -------- | ------------------------------------ | | `id` | string | yes | UUID v7 | | `customerId` | string | yes | Foreign key to Customer | | `total` | number | yes | In cents, no decimals | | `status` | enum | yes | `pending` / `paid` / `refunded` | | `metadata` | object | no | Free-form, not validated server-side | Atlas should render the table with subtle row-zebra striping. If rows are unstyled, the pack didn't load its CSS. --- # Glossary Source: https://testmctest-newtenant.local.jolli.site/glossary A leaf reference page (no folder index) to verify that flat reference URLs work for Atlas. - **BYOR** — Bring Your Own Repo. Customer authors content in their GitHub repo; Jolli owns build + deploy. - **`site.json`** — Customer-authored config file at the docs root. Branding, navigation, footer, sidebar overrides, path mappings. - **Theme pack** — Visual shell. `forge` is the developer-docs default; `atlas` is what this fixture exercises. - **Overlay** — The translation step that maps `site.json` → `SiteBranding` → `ThemeConfig`. Pure functions; no I/O. --- # Quickstart Source: https://testmctest-newtenant.local.jolli.site/quickstart import { Callout } from 'nextra/components' # Quickstart Five steps. Each one is one command. This file is `.mdx` so the `` should render as a styled box. If it doesn't, Nextra's MDX pipeline isn't seeing this file. 1. `git clone ` 2. `cd ` 3. Edit `site.json` 4. Commit and push 5. Watch the build land in the Jolli rebuild indicator When the build is green, your site is live at the configured subdomain. The Atlas pack defaults the visitor to dark mode — try the toggle in the navbar.