Skip to content

docs: migrate the documentation site to Fumadocs - #137

Draft
leoafarias wants to merge 41 commits into
mainfrom
docs/fumadocs-migration
Draft

docs: migrate the documentation site to Fumadocs#137
leoafarias wants to merge 41 commits into
mainfrom
docs/fumadocs-migration

Conversation

@leoafarias

Copy link
Copy Markdown
Member

Summary

  • replace the docs.page rendering configuration with a static Next.js and Fumadocs application
  • keep docs/ as the canonical content directory so existing Dart documentation tests continue to read the same files
  • preserve the current public page slugs and learning order through Fumadocs meta.json
  • apply the Concepta shared configuration, MDX components, metadata helpers, and design tokens
  • add local ZBSearch, page source actions, dynamic Open Graph images, and generated LLM-friendly Markdown routes
  • validate the production /ack base path used by https://concepta.dev/ack

Architecture

The application lives in docs-site/. Ack still owns its content, routes, source loader, search endpoint, and deployment settings.

docs-site/packages/docs-theme is a pinned workspace snapshot of @conceptadev/docs-theme from conceptadev/docs-theme#2. This is necessary because the shared package is not yet published and its repository is internal while Ack is public. Once the package is released, this snapshot can be removed without changing the application API.

Included behavior

  • Fumadocs Base UI and Tailwind CSS 4
  • static Next.js export
  • native Fumadocs page tree and table of contents
  • static ZBSearch at /api/search
  • GitHub repository and page-source links
  • Projects menu linking Ack and Mix
  • pub.dev and Concepta links
  • canonical Open Graph and Twitter metadata
  • dynamic social images
  • /llms.txt, /llms-full.txt, and per-page Markdown output
  • exact dependency versions and a committed pnpm lockfile

Validation

The Documentation workflow now runs:

  • frozen pnpm installation
  • Next.js route type generation and TypeScript checks
  • production build with DOCS_BASE_PATH=/ack
  • static output and base-path verification

The repository-wide workflow security tests continue to require immutable action SHAs, a pinned runner, and pinned npm packages.

Hosting cutover required before merge

This PR removes docs.json, which ends docs.page ownership of the site. Before merging, configure https://concepta.dev/ack to serve the generated contents of docs-site/out at the /ack path. The exact build and cutover contract is documented in docs-site/DEPLOYMENT.md.

Supersedes

This adopts the Concepta Fumadocs foundation proposed in conceptadev/docs-theme#2 for Ack's complete existing documentation set.

leoafarias and others added 30 commits September 2, 2026 13:06
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.

1 participant