Skip to content

feat(docs): brand restyle — Living-systems tokens, fonts, landing + doc layout - #435

Merged
tayebmokni merged 3 commits into
mainfrom
feat/brand-docs-site
May 26, 2026
Merged

feat(docs): brand restyle — Living-systems tokens, fonts, landing + doc layout#435
tayebmokni merged 3 commits into
mainfrom
feat/brand-docs-site

Conversation

@tayebmokni

Copy link
Copy Markdown
Contributor

Summary

Restyles the @gonext/docs site to match the Living-systems brand (PR #415's bare scaffold + PR #432's admin foundation). Tokens are sourced from docs/design/colors_and_type.css via a per-app mirror — no new values introduced.

  • Foundation: src/styles/tokens.css (mirrors docs/design/), tailwind.config.ts + postcss.config.mjs matching the admin extension, four Google Fonts (Archivo, Geist, Geist Mono, Instrument Serif) loaded via next/font/google in app/layout.tsx, brand assets copied into apps/docs/public/.
  • Landing (app/page.tsx): giant Archivo Docs that *grow* with you. headline with the italic-accent rule, Geist subtitle, emerald primary CTA (Read the docs) + paper-2 secondary (API reference), forest "alive band" with organic emerald + lavender radial-glow gradients hosting the subsystem feature grid.
  • Doc layout (CSS-driven in styles/docs.css): forest sidebar with emerald-bright hover and emerald active-rail, paper article column with Archivo h1/h2 (auto-numbered 01. italic serif), Instrument Serif italic blockquotes, Geist Mono code blocks on forest with Shiki tokens re-tuned to emerald keywords + lavender variables + amber strings.
  • TOC (components/TocSidebar.tsx): sticky paper-3 card with brand typography (CSS-only change).
  • Search (components/SearchBar.tsx): paper-3 pill with leading Lucide Search icon, ⌘K kbd hint, paper-2 results dropdown.

Two new vitest snapshots (landing.test.tsx, search-bar.test.tsx) pin the JSX contract; existing 31 tests untouched.

Test plan

  • pnpm --filter @gonext/docs typecheck — clean
  • pnpm --filter @gonext/docs test — 36 passed (5 files)
  • pnpm --filter @gonext/docs build — 52 static pages, no warnings
  • pnpm --filter @gonext/docs lint — no ESLint warnings or errors
  • Manual: open pnpm --filter @gonext/docs dev and spot-check /, /docs/00-architecture-overview, /adr against docs/design/ui_kits/docs/index.html

🤖 Generated with Claude Code

@tayebmokni
tayebmokni force-pushed the feat/brand-docs-site branch from cde5427 to 8c40d85 Compare May 25, 2026 22:24
tib0o0o and others added 3 commits May 26, 2026 19:32
Mirrors the @gonext/admin Living-Systems setup into apps/docs:

  - Add src/styles/tokens.css mirroring docs/design/colors_and_type.css
    (cream paper, forest ink, emerald + lavender accents).
  - Wire Archivo, Geist, Geist Mono, Instrument Serif via next/font/google
    in app/layout.tsx so the four CSS variables resolve at runtime.
  - Add tailwind.config.ts + postcss.config.mjs with the brand colour,
    spacing, radius, shadow, and font-family extensions.
  - Copy logo-wordmark.svg, logo-mark.svg, favicon.svg, favicon.ico from
    apps/admin/public into apps/docs/public.
  - Rewrite styles/docs.css to consume the brand tokens directly:
    topbar with wordmark + nav + paper-3 search pill, forest sidebar with
    emerald-bright hover, paper article column with Archivo h1/h2 and
    italic-accent emerald, Instrument Serif italic blockquotes, forest
    code blocks tuned to the brand palette via Shiki token overrides.
  - Restyle the landing page (app/page.tsx) with the giant Archivo
    "Docs that *grow* with you." headline, Geist subtitle, emerald
    "Read the docs" primary CTA + paper-2 "API reference" secondary,
    and a forest "alive band" with organic radial-glow gradients
    hosting the subsystem feature grid.
  - Refit SearchBar.tsx to the paper-3 pill with a leading Lucide
    search icon and a trailing kbd hint.

Tokens (--paper, --emerald, --font-display, ...) are the contract with
the design handoff; this PR introduces them in apps/docs but never
defines new values — they all come from src/styles/tokens.css which is
a verbatim mirror of docs/design/colors_and_type.css.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Mohamed Tayeb Mokni <tayeb.mokni@gmail.com>
Two new vitest snapshots that guard the visual contract of the
restyled docs site:

  - src/test/landing.test.tsx — asserts the hero headline carries the
    italic-accent <em> ("grow"), the two CTAs link to /docs and /api
    with the right brand classes, the forest band has its own italic
    accent ("five"), and the ADR footnote links into /adr.
  - src/test/search-bar.test.tsx — asserts the .search-bar__field
    pill wraps a Lucide svg + an input + a ⌘K kbd hint, and the
    input is the documented `searchbox` role with the docs placeholder.

Behavioural concerns (Fuse fuzzy matching, build pipeline) are
already covered upstream; these tests only pin the JSX structure
that the brand CSS attaches to.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Mohamed Tayeb Mokni <tayeb.mokni@gmail.com>
Adds lockfile entries for tailwindcss, postcss, autoprefixer, and
lucide-react which the brand restyle introduced in apps/docs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Mohamed Tayeb Mokni <tayeb.mokni@gmail.com>
@tayebmokni
tayebmokni force-pushed the feat/brand-docs-site branch from 8c40d85 to 7f98932 Compare May 26, 2026 17:32
@tayebmokni
tayebmokni merged commit b3333bd into main May 26, 2026
12 of 16 checks passed
@tayebmokni
tayebmokni deleted the feat/brand-docs-site branch May 26, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants