[Docs] Scaffold the Astro + Starlight docs site - #6
Conversation
Adds the base documentation framework for the pack, matching the layout the other Nebari packs use (nebi-pack, apps-pack, chat-pack). The repo previously had no docs site - just two loose markdown files under docs/. - Astro + Starlight site in docs/, npm for dependency management - @nebari/starlight shared theme plugin for the Nebari identity (brand colors, fonts, logo, favicon, footer, GitHub link) built on the nebari design system - remark-base-links plugin so root-absolute links survive the production subpath base, with vitest coverage - scripts/check-links.sh to verify every internal link resolves in dist/ - Docs workflow: test, build, internal link check, deploy to Cloudflare Pages on main with per-PR preview deployments and a preview-cleanup workflow - docs/README.md and root README instructions for updating the docs - .gitignore entries for the Astro build artifacts configuration.md and release-readiness.md move into src/content/docs/ so they become pages on the site; their content is unchanged apart from frontmatter (title/description) and dropping the duplicate H1 that Starlight now renders from the title. README references to the old paths point at the published pages. Scope is the scaffolding only - no new content. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The dashboard's route generator only adds packs.nebari.dev/langfuse-pack/ -> https://langfuse-pack.pages.dev when the pack declares docs_site: true, so the site this branch adds would not be reachable through the portal without it. The Pages project name has to match the repo name for that route to resolve, which is what the docs workflow deploys to. - docs_site: true - links.docs added, pointing at the published site - site and landing-page descriptions now match the GitHub repo description, which is what the dashboard's Description column reads, so the two cannot drift apart Validated against schema/pack-metadata.schema.json from software-pack-dashboard. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
796f1c2 to
fe61eac
Compare
|
Added a second commit registering the docs site in This turned out to be load-bearing, not cosmetic.
Validated against |
|
📄 Docs preview for |
Reference Issues or PRs
Closes #2. Replaces #3 — same goal, rebased on current
mainand aligned with the docs setup the other packs have since converged on (nebi-pack,apps-pack,nebari-chat-pack).What does this implement/fix?
This repo had no docs site — just two loose markdown files under
docs/. Scope is scaffolding only — no new content is written.docs/, npm for dependency management (Node >= 22)@nebari/starlightshared theme plugin supplies the Nebari identity — brand colors, fonts, logo, favicon, footer, GitHub link — built on the nebari design system, so there is no hand-maintained CSS token copy to driftremark-base-linksplugin so root-absolute markdown links survive the production subpath base, with vitest coverage (10 tests)scripts/check-links.shverifies every internal link indist/resolvesDocsworkflow: unit tests → build → internal link check → deploy to Cloudflare Pages.mainbuilds atBASE=/langfuse-pack/and publishes topacks.nebari.dev/langfuse-pack/; PRs build atBASE=/and get a preview URL posted as a comment. ADocs preview cleanupworkflow deletes the preview when the PR closes.docs/README.mdand a README section on running and updating the docs;.gitignoreentries for the Astro build artifactsContent carried over
docs/configuration.mdanddocs/release-readiness.mdmove intodocs/src/content/docs/so they become pages on the site. Their bodies are unchanged apart from addedtitle/descriptionfrontmatter and dropping the duplicate leading# H1, since Starlight renders the frontmatter title as the page heading. README references to the old paths now point at the published pages.This repo has no Makefile, so the docs commands are documented as plain
npminvocations (same aslonghorn-backup-packandmlflow-pack). Happy to add one if that's preferred.Testing
Locally, from a clean checkout:
Both the root base (PR previews) and the production subpath base build and link-check clean.
Before merging
The Cloudflare Pages project
langfuse-packand theCLOUDFLARE_API_TOKEN/CLOUDFLARE_ACCOUNT_IDrepo secrets need to exist, otherwise the deploy step fails (test, build, and link check still gate the PR).🤖 Generated with Claude Code