Skip to content

Feat: migrate marketing site to Docusaurus (rossoctl) with synced docs#88

Draft
Ibrahim2595 wants to merge 9 commits into
kagenti:mainfrom
Ibrahim2595:feat/docusaurus-rossoctl-site
Draft

Feat: migrate marketing site to Docusaurus (rossoctl) with synced docs#88
Ibrahim2595 wants to merge 9 commits into
kagenti:mainfrom
Ibrahim2595:feat/docusaurus-rossoctl-site

Conversation

@Ibrahim2595

@Ibrahim2595 Ibrahim2595 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ Required from maintainers:

  1. Set this repo's Pages source to "GitHub Actions" (Settings → Pages) so deploy.yaml can publish. The old branch/root-based Pages setup will not work with the Docusaurus build.
  2. Merge the kagenti/kagenti docs PR first — this build pulls docs-temp/ and CONTRIBUTING.md from kagenti main and will fail if that content isn't there yet.
  3. Confirm the docs-temp-updated repository_dispatch reaches this repo once SITE_DISPATCH_TOKEN is set upstream (that secret lives in kagenti/kagenti).

Depends on #kagenti/kagenti#2176

Replace the hand-built static marketing site with the rossoctl Docusaurus site: ecosystem guide as the landing (/), plus a Docs section synced at build time from kagenti/kagenti:docs-temp/ (scripts/sync-docs.sh; docs/ is git-ignored).

  • Remove old static assets (index.html, style.css, script.js, img/, etc.).
  • Replace the Pages workflow (hugo.yaml -> deploy.yaml): npm ci -> sync-docs ->
    build -> upload build/. Triggers on push, the docs-temp-updated dispatch, a daily cron, and manual dispatch.
  • Config: serve at kagenti.github.io/.github/ (baseUrl /.github/); drop the Docs-temp plugin and navbar item.
  • Preserve org community-health files (profile/, .github/ISSUE_TEMPLATE/, reusable workflows, CLAUDE.md).

Assisted-By: Claude (Anthropic AI) noreply@anthropic.com

Summary

Related issue(s)

(Optional) Testing Instructions

Fixes #

Replace the hand-built static marketing site with the rossoctl Docusaurus site:
ecosystem guide as the landing (/), plus a Docs section synced at build time from
kagenti/kagenti:docs-temp/ (scripts/sync-docs.sh; docs/ is git-ignored).

- Remove old static assets (index.html, style.css, script.js, img/, etc.).
- Replace the Pages workflow (hugo.yaml -> deploy.yaml): npm ci -> sync-docs ->
  build -> upload build/. Triggers on push, the docs-temp-updated dispatch,
  a daily cron, and manual dispatch.
- Config: serve at kagenti.github.io/.github/ (baseUrl /.github/); drop the
  Docs-temp plugin and navbar item.
- Preserve org community-health files (profile/, .github/ISSUE_TEMPLATE/,
  reusable workflows, CLAUDE.md).

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
Add a version selector to the navbar (left, after Blog). Only the current
"dev" docs exist today; selecting "dev" opens the Getting Started section.
Label the current docs version "dev" so this can switch to the built-in
docsVersionDropdown once v0.7 is cut.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
Incorporate the designer's landing mock and token spec:
- Site-wide palette via Infima variables (page #f2f2f2/#000, borders
  #e0e0e0/#383838, text #000/#fff, brand red #ee0000 in both themes).
- Footer inverts per theme (black in light, white in dark; red wordmark).
- Landing: designer's hero wording, red Get started / Learn more CTAs, and
  "Open questions" + "Key capabilities" as numbered accordions (new
  src/components/Accordion). Removes the RossoCortex hero diagram.
- Navbar: rename Docs -> Documentation, token colors, brand red title.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
- Constrain the landing content to ~672px (centered), per the mock.
- Enlarge the hero body text to ~1.5rem to match the design.
- Open questions: show a truncated one-line description preview when a row is
  collapsed (Key capabilities still hides it when collapsed), matching the
  prototype's accordion behavior.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
…esign

- Navbar: drop the drop-shadow, keep a single light divider (#e0e0e0/#383838).
- Nav links: regular weight (400), 16px — matching the mock (was semibold).
- Accordion chevron: use the exact filled chevron glyph from the design.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
- Left-align the brand + doc links (drop the space-between + right copyright).
- Footer links → Documentation, Quickstart, Architecture, Guides, Contributing
  (doc-nav, replacing the mock's llm-d template leftover).
- Remove the copyright line and use the design's generous vertical padding.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
Add a custom navbar item (custom-gitHubStars) that fetches the repo's
stargazers_count from the GitHub API client-side and renders "N stars" next to
the GitHub icon. Cached in sessionStorage (1h) to avoid refetching; falls back
to a plain "GitHub" label if offline or rate-limited.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
The live star count inherited the default navbar link size/weight (1rem /
400) while 'Join Slack' next to it uses 0.8rem / 500. Match the two so the
right-side header items read as one consistent set.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>
Expand 'Local development' into a run-and-test guide: prerequisites (Node 20+,
npm — not yarn/pnpm), which repos to clone (this repo always; kagenti/kagenti
only to preview unpushed doc edits), and the npm workflow to install, sync
docs, run the dev server, and validate a production build.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: IBRAHIM IBRAHIM <66755652+Ibrahim2595@users.noreply.github.com>

@pdettori pdettori left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean, well-executed migration from the hand-built static site to a Docusaurus (rossoctl) site with a build-time docs sync from kagenti/kagenti.

Strengths

  • New Pages workflow uses least-privilege permissions (contents: read, pages: write, id-token: write).
  • scripts/sync-docs.sh is properly hardened: set -euo pipefail, quoted vars, mktemp + trap cleanup, sparse blobless clone from a hardcoded trusted repo URL.
  • GitHubStars component fetches the public API without a token, caches with a TTL, and degrades gracefully to a plain "GitHub" label.
  • No risky client-side patterns (dangerouslySetInnerHTML / eval / child_process), no secrets, lockfile committed for reproducible builds.

Two non-blocking findings inline (one suggestion, one nit).

Merge-time prerequisites (from the PR body, not code): set Pages source to "GitHub Actions"; merge kagenti/kagenti#2176 first (build pulls docs-temp/ + CONTRIBUTING.md); confirm the docs-temp-updated dispatch reaches this repo.


Reviewed areas: CI/Actions, Shell, TypeScript/Frontend, YAML/config, Docs. Author: MEMBER (maintainer). Commits: 9/9 signed-off. No .claude//.vscode/ changes.

Assisted-By: Claude Code

Comment thread docusaurus.config.ts
path: 'contributing',
routeBasePath: 'contributing',
sidebarPath: './sidebarsContributing.ts',
editUrl: 'https://github.com/Ibrahim2595/rossoctl-website/tree/main/',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion — This editUrl for the Contributing docs plugin points to Ibrahim2595/rossoctl-website, a personal fork that currently returns 404. That makes the "Edit this page" link on the Contributing page broken.

Since this content is synced from kagenti/kagenti:CONTRIBUTING.md (see scripts/sync-docs.sh), the edit link should point at the source of truth — e.g. https://github.com/kagenti/kagenti/blob/main/CONTRIBUTING.md — or be omitted entirely.

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit — Actions here are pinned to major tags (@v4/@v5/@v3). These are first-party actions/* matching GitHub's own Pages deployment template, so the risk is low. For the org's shared .github repo, pinning to full commit SHAs is the hardening best practice — optional, not blocking.

@esnible

esnible commented Jul 15, 2026

Copy link
Copy Markdown
Member

To test this locally, I did

cd ~/src/kagenti
gh pr checkout 2176 --repo kagenti/kagenti
cd ~/src/kagenti-githubpages
npm ci
SRC_REPO=~/src/kagenti npm run sync-docs
npm start

@Ibrahim2595
Ibrahim2595 marked this pull request as draft July 15, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New/ToDo

Development

Successfully merging this pull request may close these issues.

4 participants