15 Commits
Author SHA1 Message Date
hanzo-devandzeekay 13e8668940 ci: one trigger publishes, and the gate belongs to the recipe
docs.hanzo.ai could not be republished. This makes every path that could do it
real or explicitly named, and moves the one check that matters somewhere every
path passes through.

The export gate is now in the Dockerfile. This site fails by exporting NOTHING:
the build succeeds, the layer is valid, the push succeeds, the host answers 404,
and no builder notices because from a builder's point of view nothing went wrong.
It used to be gated between build and push in deploy.yml, which only works for
deploy.yml — buildx builds and pushes in a single invocation with no step in
between to hold, and hanzo.yml's `test:` block runs AFTER that push, so neither
could have held it back. scripts/check-export.sh states what a site is, once;
apps/<app>/export.require names the sections that vanish without breaking
anything else. A failed gate means no image exists, so no lane can push past it.
deploy.yml keeps its own call of the same script against the finished image,
which answers the one question the build stage cannot: did the export land in the
IMAGE. Tested against seven exports — healthy, empty, nav-less, under the page
floor, section missing, absent directory, default require-file resolution — under
both dash and busybox ash.

docs/studio/ is the case that motivates the require file. It is a submodule, and
hanzoai/ci checks out without recursing, so on that lane the section silently
disappears while page count and nav both stay green.

.github/workflows/cicd.yml is seven lines importing hanzoai/ci, configured by the
root hanzo.yml. It is workflow_dispatch-only: give this repo two push-triggered
builders for one image and one commit yields two images under two tag schemes,
and the pin names one of them by luck. It names our own runner pool, the same
label the forge lane answers to. It cannot schedule yet, and the reason is not
Actions — Actions is on and the repo is public; every runner we own is registered
to git.hanzo.ai, and GitHub-hosted runners are not something we build on.

RELEASE.md is the runbook: four builders, the credential each needs, and the
exact edit that makes an image live. The finding worth repeating here is that
universe pins a digest beside the tag and the chart renders repo:tag@digest — so
the digest is what gets pulled, and moving the tag alone is a silent no-op.

Verified against the live systems rather than the docs: the pin resolves to the
digest the values file names; no image exists for current main in ANY of the
three tag shapes, so all lanes are cold rather than one quietly working; the
forge repo answers 404 on /actions while another repo on the same forge answers
200; /v1/runner answers 401 with the token configured on the far side, so it is
armed and one credential away.

Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-07-31 17:45:47 -07:00
zandhanzo-dev 3588dde0e0 docs: rustdoc generation script (scripts/gen-rustdoc.sh) for engine/ml/router api reference — generated at deploy, gitignored (no committed HTML bloat) 2026-07-08 06:51:38 -07:00
zandhanzo-dev 809d2911e0 docs: unified docs architecture — hub + hanzo-docs/<team> submodule pattern (#29)
* docs: redirect /docs/{startups,deploy} → real pages (QA 404 fix)

getting-started references /docs/startups + /docs/deploy but those slugs 404
(the mdx pages didn't survive an earlier merge). Redirect to the pages that
carry the content: getting-started ($5/startup on-ramp) + services/paas (deploy).

* docs: unified docs architecture — hub + hanzo-docs/<team> submodule pattern

Ratify docs.hanzo.ai as the single unified-build hub and define the one way
content joins it, by kind:
- authored  -> content/docs/<section> (in-hub or hanzo-docs/<team> submodule)
- generated -> openapi + ZAP SDK generators, gitignored, never hand-written
- ported    -> sync-project-docs mirror + upstream attribution

Changes:
- ADR as a rendered docs page (content/docs/contributing/docs-architecture.mdx)
  + nav entry; LLM.md canonical model + dedup/rollout debt.
- Wire hanzo-docs/studio-docs as the reference exemplar: git submodule at
  content/docs/studio/ (was a single tracked file). deploy-docs.yml checkout
  now fetches submodules recursively.
- Security: cf-pages-deploy.mjs no longer hard-codes a Cloudflare API token;
  it is required from env/KMS and fails fast (token must be rotated).

Standalone-vs-hub criteria, API-ref-from-openapi, and SDK-slot wiring are all
documented in the ADR. Aggregation proven: 38 API-ref pages generated from 36
openapi specs; studio section resolves from the submodule on disk.

---------

Co-authored-by: hanzo-dev <dev@hanzo.ai>
2026-07-08 06:51:38 -07:00
zeekayandhanzo-dev 81000fb83f fix(docs): unified build emits every section + link HIPs/blog/research
Route-gen fix (iam/kms/platform/projects were dropped from next build):
- honor remarkImageOptions onError:'ignore' (duplicate key had shadowed it,
  silently skipping 400+ ported pages incl. all of iam/kms)
- stub foreign doc-platform imports (@theme/@docusaurus/@mintlify/@hanzo/icons)
  in turbopack.resolveAlias so synced iam/kms/platform/projects compile
- remark-fix-links: rewrite ported absolute/relative links to section mounts
- sanitize-mdx (pre-build): neutralize <scheme://> autolinks + mis-nested
  callout wrappers in ported docs so every page compiles (not error-boundary)

Estate linking:
- research.mdx: catalogue of 175 real papers (github.com/hanzoai/papers)
- nav: Blog + HIPs(hips.hanzo.ai) + Research in header/footer/sidebar
- remove 9 inherited fumadocs blog posts (killed the only broken links)
2026-07-08 06:49:11 -07:00
zeekay 1de9961289 rebrand: complete white-label — all packages @hanzo/docs-* (one brand)
Finish the fumadocs→Hanzo Docs rebrand: rename the remaining fuma-named
workspace packages and every reference so the framework is uniformly
@hanzo/docs-*. One brand, no Fuma in package names or product surface.

Package renames (name field + all refs: deps, imports, CSS @import,
configs, .changeset, next/vite build config):
  fumadocs-core        → @hanzo/docs-core
  fumadocs-mdx         → @hanzo/docs-mdx
  fumadocs-ui          → @hanzo/docs-ui          (packages/radix-ui)
  fumadocs-openapi     → @hanzo/docs-openapi
  fumadocs-preview     → @hanzo/docs-preview
  @fumadocs/base-ui    → @hanzo/docs-base-ui
  @fumadocs/basehub    → @hanzo/docs-basehub
  @fumadocs/language   → @hanzo/docs-language
  @fumadocs/local-md   → @hanzo/docs-local-md
  @fumadocs/sanity     → @hanzo/docs-sanity
  @fumadocs/shadcn     → @hanzo/docs-shadcn
  @fumadocs/vite       → @hanzo/docs-vite
  @fumari/stf          → @hanzo/docs-stf
  create-fumadocs-app  → @hanzo/create-docs
  create-fumadocs-versions → @hanzo/docs-create-versions

Stale @fumadocs/{cli,story,tailwind,mdx-remote,...} references collapsed to
their existing @hanzo/docs-* canonical packages (no dup created).

De-branded product strings: Fumadocs/Fuma prose → Hanzo Docs/Hanzo; site
branding, CLI output, doc copy, AI-assistant name, metadata. URLs
fumadocs.dev → docs.hanzo.ai, repo fuma-nama/fumadocs → hanzoai/docs.
Filesystem renames: packages/python/fumapy → hanzodocs_py, preview config,
what-is-fumadocs.mdx → what-is-hanzo-docs.mdx, api/fumadocs-ui route.

KEPT (real external npm deps / attribution — NOT renamed):
  fuma-cli, fuma-content, @fumari/json-schema-ts (published upstream pkgs),
  typesense-/trieve-fumadocs-adapter (3rd-party search adapters),
  LICENSE "Copyright (c) 2023 Fuma" (OSS attribution, all 7 LICENSE files
  untouched), CHANGELOG.md history (accurate release records, left as-is).

Build: node 24, pnpm install clean; all 4 target apps next build GREEN
(spec, gui-docs, zen-docs, base-docs) + full package closure (18/18 turbo).
Gate: zero @hanzo-package fumadocs-/@fumadocs/ references remain.
2026-06-24 23:21:42 -07:00
hanzo-dev c04da7fb61 merge: upstream/main (preserve Hanzo brand, 334 commits)
# Conflicts:
#	apps/docs/app/(home)/sponsors/data.tsx
#	apps/docs/app/(home)/uwu.tsx
#	apps/docs/app/og/[...slug]/generate.tsx
#	apps/docs/app/static.json/route.ts
#	apps/docs/content/blog/customise-ui.mdx
#	apps/docs/content/blog/mdx-v10-summary.mdx
#	apps/docs/content/blog/openapi-v9.mdx
#	apps/docs/content/blog/v15.mdx
#	apps/docs/content/blog/v16-2.mdx
#	apps/docs/content/docs/(framework)/deploying/static.mdx
#	apps/docs/content/docs/(framework)/integrations/content/custom.mdx
#	apps/docs/content/docs/(framework)/integrations/openapi/generate-files.mdx
#	apps/docs/content/docs/(framework)/integrations/openapi/server.mdx
#	apps/docs/content/docs/(framework)/integrations/story/client.story.tsx
#	apps/docs/content/docs/(framework)/integrations/story/index.mdx
#	apps/docs/content/docs/(framework)/integrations/story/next.mdx
#	apps/docs/content/docs/(framework)/search/orama.mdx
#	apps/docs/content/docs/(framework)/what-is-fumadocs.mdx
#	apps/docs/content/docs/cli/index.mdx
#	apps/docs/content/docs/headless/mdx/headings.mdx
#	apps/docs/content/docs/headless/mdx/rehype-code.mdx
#	apps/docs/content/docs/headless/mdx/remark-image.mdx
#	apps/docs/content/docs/headless/source-api/plugins.mdx
#	apps/docs/content/docs/mdx/(integrations)/loader/node.mdx
#	apps/docs/content/docs/mdx/global.mdx
#	apps/docs/content/docs/mdx/index.mdx
#	apps/docs/content/docs/ui/components/banner.mdx
#	apps/docs/content/docs/ui/components/graph-view.mdx
#	apps/docs/content/docs/ui/layouts/flux.mdx
#	apps/docs/content/docs/ui/layouts/home-layout.mdx
#	apps/docs/content/docs/ui/layouts/root-provider.mdx
#	apps/docs/content/docs/ui/theme.mdx
#	apps/docs/eslint.config.mjs
#	apps/docs/scripts/preload.ts
#	apps/docs/scripts/update-orama-index.ts
#	examples/openapi/README.md
#	examples/openapi/scripts/generate-docs.ts
#	examples/react-router-i18n/scripts/preload.ts
#	examples/tanstack-start-story/src/components/callout/story-client.tsx
#	packages/base-ui/scripts/compile-inline.utils.ts
#	packages/cli/src/build/index.ts
#	packages/core/src/content/md/frontmatter.ts
#	packages/create-app/scripts/update-git-repo.js
#	packages/create-app/scripts/update-git-repo.sh
#	packages/mdx-runtime/eslint.config.mjs
#	packages/openapi/scripts/compile-inline.utils.ts
#	packages/openapi/src/server/create.ts
#	packages/openapi/src/ui/full.tsx
#	packages/openapi/src/utils/process-document.ts
#	packages/press/waku.config.ts
#	packages/radix-ui/scripts/compile-inline.utils.ts
2026-06-02 09:55:12 -07:00
Fuma Nama 5735846a6d feat(mdx): support _fumadocs_skipViteConfig flag for Vite plugin 2026-05-25 17:50:40 +08:00
Fuma Nama 57295eff6e chore: use Waku for stackblitz example 2026-05-21 16:58:06 +08:00
Zach Kelling b76b68e218 feat(docs): integrate project sync into build pipeline, add dark theme and CF Pages deploy
Wire project docs sync into pre-build step, add comprehensive dark theme
CSS variables, integrate ProjectSwitcher into sidebar, and add custom
Cloudflare Pages deployment script with batched uploads and retry logic.
2026-02-10 03:15:38 -08:00
Zach Kelling 3da6e20245 Merge remote-tracking branch 'upstream/dev' into merge-upstream-dev
# Conflicts:
#	.changeset/config.json
#	apps/docs/app/(home)/layout.tsx
#	apps/docs/app/docs/[[...slug]]/page.tsx
#	apps/docs/app/docs/[[...slug]]/suggestions.ts
#	apps/docs/app/docs/layout.tsx
#	apps/docs/components/ai/search.tsx
#	apps/docs/components/code-block.tsx
#	apps/docs/components/feedback/client.tsx
#	apps/docs/components/registry/index.ts
#	apps/docs/components/registry/layout/docs-min.tsx
#	apps/docs/components/registry/layout/page-min.tsx
#	apps/docs/content/blog/make-a-blog.mdx
#	apps/docs/content/docs/(framework)/index.mdx
#	apps/docs/content/docs/(framework)/markdown/mermaid.mdx
#	apps/docs/content/docs/(framework)/markdown/twoslash.mdx
#	apps/docs/content/docs/mdx/collections.mdx
#	apps/docs/content/docs/ui/components/server-codeblock.tsx
#	apps/docs/package.json
#	apps/docs/scripts/build-registry.ts
#	apps/docs/source.config.ts
#	apps/docs/source.script.ts
#	examples/astro/package.json
#	examples/content-collections/package.json
#	examples/fp/package.json
#	examples/i18n/package.json
#	examples/next-min/package.json
#	examples/next-static/source.config.ts
#	examples/next/source.config.ts
#	examples/obsidian/package.json
#	examples/obsidian/source.config.ts
#	examples/openapi/package.json
#	examples/python/package.json
#	examples/react-router-i18n/package.json
#	examples/react-router-rsc/package.json
#	examples/react-router-spa/package.json
#	examples/react-router/package.json
#	examples/remote-mdx/package.json
#	examples/tanstack-start-i18n/package.json
#	examples/tanstack-start-spa/package.json
#	examples/tanstack-start-spa/vite.config.ts
#	examples/tanstack-start/package.json
#	examples/tanstack-start/vite.config.ts
#	examples/waku-i18n/package.json
#	examples/waku/package.json
#	examples/waku/waku.config.ts
#	packages/base-ui/css/aspen.css
#	packages/base-ui/css/black.css
#	packages/base-ui/css/catppuccin.css
#	packages/base-ui/css/dusk.css
#	packages/base-ui/css/emerald.css
#	packages/base-ui/css/neutral.css
#	packages/base-ui/css/ocean.css
#	packages/base-ui/css/preset.css
#	packages/base-ui/css/purple.css
#	packages/base-ui/css/ruby.css
#	packages/base-ui/css/shadcn.css
#	packages/base-ui/css/solar.css
#	packages/base-ui/css/vitepress.css
#	packages/base-ui/package.json
#	packages/base-ui/src/_registry/index.ts
#	packages/base-ui/src/components/accordion.tsx
#	packages/base-ui/src/components/banner.tsx
#	packages/base-ui/src/components/callout.tsx
#	packages/base-ui/src/components/card.tsx
#	packages/base-ui/src/components/codeblock.tsx
#	packages/base-ui/src/components/dialog/search.tsx
#	packages/base-ui/src/components/dynamic-codeblock.tsx
#	packages/base-ui/src/components/files.tsx
#	packages/base-ui/src/components/github-info.tsx
#	packages/base-ui/src/components/heading.tsx
#	packages/base-ui/src/components/inline-toc.tsx
#	packages/base-ui/src/components/sidebar/base.tsx
#	packages/base-ui/src/components/sidebar/link-item.tsx
#	packages/base-ui/src/components/sidebar/tabs/dropdown.tsx
#	packages/base-ui/src/components/tabs.tsx
#	packages/base-ui/src/components/toc/clerk.tsx
#	packages/base-ui/src/components/toc/default.tsx
#	packages/base-ui/src/components/toc/index.tsx
#	packages/base-ui/src/components/type-table.tsx
#	packages/base-ui/src/components/ui/accordion.tsx
#	packages/base-ui/src/components/ui/collapsible.tsx
#	packages/base-ui/src/components/ui/navigation-menu.tsx
#	packages/base-ui/src/components/ui/popover.tsx
#	packages/base-ui/src/components/ui/scroll-area.tsx
#	packages/base-ui/src/components/ui/tabs.tsx
#	packages/base-ui/src/contexts/i18n.tsx
#	packages/base-ui/src/contexts/search.tsx
#	packages/base-ui/src/contexts/tree.tsx
#	packages/base-ui/src/i18n.tsx
#	packages/base-ui/src/layouts/docs/client.tsx
#	packages/base-ui/src/layouts/docs/index.tsx
#	packages/base-ui/src/layouts/docs/page/client.tsx
#	packages/base-ui/src/layouts/docs/page/index.tsx
#	packages/base-ui/src/layouts/docs/sidebar.tsx
#	packages/base-ui/src/layouts/home/client.tsx
#	packages/base-ui/src/layouts/home/index.tsx
#	packages/base-ui/src/layouts/home/navbar.tsx
#	packages/base-ui/src/layouts/notebook/client.tsx
#	packages/base-ui/src/layouts/notebook/index.tsx
#	packages/base-ui/src/layouts/notebook/page/client.tsx
#	packages/base-ui/src/layouts/notebook/page/index.tsx
#	packages/base-ui/src/layouts/notebook/sidebar.tsx
#	packages/base-ui/src/layouts/shared/index.tsx
#	packages/base-ui/src/layouts/shared/language-toggle.tsx
#	packages/base-ui/src/layouts/shared/search-toggle.tsx
#	packages/base-ui/src/layouts/shared/theme-toggle.tsx
#	packages/base-ui/src/mdx.tsx
#	packages/base-ui/src/og.tsx
#	packages/base-ui/src/page.tsx
#	packages/base-ui/src/provider/base.tsx
#	packages/base-ui/src/utils/link-item.tsx
#	packages/base-ui/src/utils/use-copy-button.ts
#	packages/base-ui/src/utils/use-footer-items.ts
#	packages/base-ui/src/utils/use-is-scroll-top.ts
#	packages/cli/package.json
#	packages/cli/src/commands/customise.ts
#	packages/content-collections/package.json
#	packages/content-collections/tsdown.config.ts
#	packages/core/package.json
#	packages/core/src/highlight/shiki.ts
#	packages/core/src/mdx-plugins/rehype-code.ts
#	packages/create-app-versions/package.json
#	packages/create-app/package.json
#	packages/create-app/template/+next+fuma-docs-mdx+static/source.config.ts
#	packages/create-app/template/+next+hanzo-docs-mdx/source.config.ts
#	packages/create-app/template/react-router-spa/package.json
#	packages/create-app/template/react-router/package.json
#	packages/create-app/template/tanstack-start-spa/package.json
#	packages/create-app/template/tanstack-start-spa/vite.config.ts
#	packages/create-app/template/tanstack-start/package.json
#	packages/create-app/template/tanstack-start/vite.config.ts
#	packages/create-app/template/waku/package.json
#	packages/create-app/template/waku/waku.config.ts
#	packages/doc-gen/package.json
#	packages/doc-gen/tsdown.config.ts
#	packages/mdx-remote/package.json
#	packages/mdx-remote/tsdown.config.ts
#	packages/mdx/package.json
#	packages/mdx/src/vite/index.ts
#	packages/mdx/tsdown.config.ts
#	packages/obsidian/package.json
#	packages/openapi/package.json
#	packages/openapi/src/playground/client.tsx
#	packages/openapi/src/ui/api-page.tsx
#	packages/openapi/src/ui/operation/usage-tabs/client.tsx
#	packages/openapi/src/ui/schema/client.tsx
#	packages/press/package.json
#	packages/press/src/config/content.ts
#	packages/python/package.json
#	packages/radix-ui/css/aspen.css
#	packages/radix-ui/css/black.css
#	packages/radix-ui/css/catppuccin.css
#	packages/radix-ui/css/dusk.css
#	packages/radix-ui/css/emerald.css
#	packages/radix-ui/css/neutral.css
#	packages/radix-ui/css/ocean.css
#	packages/radix-ui/css/preset.css
#	packages/radix-ui/css/purple.css
#	packages/radix-ui/css/ruby.css
#	packages/radix-ui/css/shadcn.css
#	packages/radix-ui/css/solar.css
#	packages/radix-ui/css/vitepress.css
#	packages/radix-ui/package.json
#	packages/radix-ui/src/_registry/index.ts
#	packages/radix-ui/src/components/accordion.tsx
#	packages/radix-ui/src/components/banner.tsx
#	packages/radix-ui/src/components/callout.tsx
#	packages/radix-ui/src/components/card.tsx
#	packages/radix-ui/src/components/codeblock.tsx
#	packages/radix-ui/src/components/dialog/search.tsx
#	packages/radix-ui/src/components/dynamic-codeblock.tsx
#	packages/radix-ui/src/components/files.tsx
#	packages/radix-ui/src/components/github-info.tsx
#	packages/radix-ui/src/components/heading.tsx
#	packages/radix-ui/src/components/inline-toc.tsx
#	packages/radix-ui/src/components/sidebar/base.tsx
#	packages/radix-ui/src/components/sidebar/link-item.tsx
#	packages/radix-ui/src/components/sidebar/tabs/dropdown.tsx
#	packages/radix-ui/src/components/tabs.tsx
#	packages/radix-ui/src/components/toc/clerk.tsx
#	packages/radix-ui/src/components/toc/default.tsx
#	packages/radix-ui/src/components/toc/index.tsx
#	packages/radix-ui/src/components/type-table.tsx
#	packages/radix-ui/src/components/ui/accordion.tsx
#	packages/radix-ui/src/components/ui/collapsible.tsx
#	packages/radix-ui/src/components/ui/navigation-menu.tsx
#	packages/radix-ui/src/components/ui/popover.tsx
#	packages/radix-ui/src/components/ui/scroll-area.tsx
#	packages/radix-ui/src/components/ui/tabs.tsx
#	packages/radix-ui/src/contexts/i18n.tsx
#	packages/radix-ui/src/contexts/search.tsx
#	packages/radix-ui/src/contexts/tree.tsx
#	packages/radix-ui/src/i18n.tsx
#	packages/radix-ui/src/layouts/docs/client.tsx
#	packages/radix-ui/src/layouts/docs/index.tsx
#	packages/radix-ui/src/layouts/docs/page/client.tsx
#	packages/radix-ui/src/layouts/docs/page/index.tsx
#	packages/radix-ui/src/layouts/docs/sidebar.tsx
#	packages/radix-ui/src/layouts/home/client.tsx
#	packages/radix-ui/src/layouts/home/index.tsx
#	packages/radix-ui/src/layouts/home/navbar.tsx
#	packages/radix-ui/src/layouts/notebook/client.tsx
#	packages/radix-ui/src/layouts/notebook/index.tsx
#	packages/radix-ui/src/layouts/notebook/page/client.tsx
#	packages/radix-ui/src/layouts/notebook/page/index.tsx
#	packages/radix-ui/src/layouts/notebook/sidebar.tsx
#	packages/radix-ui/src/layouts/shared/index.tsx
#	packages/radix-ui/src/layouts/shared/language-toggle.tsx
#	packages/radix-ui/src/layouts/shared/search-toggle.tsx
#	packages/radix-ui/src/layouts/shared/theme-toggle.tsx
#	packages/radix-ui/src/mdx.tsx
#	packages/radix-ui/src/og.tsx
#	packages/radix-ui/src/page.tsx
#	packages/radix-ui/src/provider/base.tsx
#	packages/radix-ui/src/utils/use-copy-button.ts
#	packages/radix-ui/src/utils/use-footer-items.ts
#	packages/radix-ui/src/utils/use-is-scroll-top.ts
#	packages/story/package.json
#	packages/story/src/client/with-control.tsx
#	packages/story/src/index.tsx
#	packages/twoslash/package.json
#	packages/typescript/package.json
#	packages/typescript/src/markdown.ts
#	packages/typescript/src/ui/auto-type-table.tsx
#	packages/ui/CHANGELOG.md
#	packages/ui/package.json
#	packages/ui/src/_registry/index.ts
#	packages/ui/src/components/toc/clerk.tsx
#	packages/ui/src/components/toc/default.tsx
#	packages/ui/src/components/toc/index.tsx
#	packages/ui/src/contexts/i18n.tsx
#	packages/ui/src/contexts/search.tsx
#	packages/ui/src/contexts/tree.tsx
#	packages/ui/src/hooks/use-footer-items.ts
#	packages/ui/src/i18n.tsx
#	pnpm-lock.yaml
2026-02-08 21:24:32 -08:00
Fuma Nama 5e3f4d7415 Chore: create script to mirror UI changes 2026-02-08 16:48:25 +08:00
Zach Kelling 9c0266aa84 feat: Add CI build workflow, LLM.md docs, and multi-brand scripts
- Add GitHub Actions workflow for building docs
- Add LLM.md with detailed technical documentation for AI assistants
- Add build-all-docs.sh and dev-all-docs.sh scripts for multi-brand docs
- Add setup-fork.sh for creating new brand forks
- Fix sponsor page null tier error with optional chaining
- Update README with multi-brand documentation
2025-12-14 17:00:58 -08:00
SonMooSans 6a676c0d0e MDX: Sync version with next-docs 2023-12-14 21:32:48 +08:00
SonMooSans a77a8b61d4 Re-configure eslint & Fix all eslint errors 2023-12-11 00:01:32 +08:00
SonMooSans 8a08b526b9 CI: Automatically add changeset for create-next-docs-app 2023-09-16 19:06:38 +08:00