Commit Graph
24 Commits
Author SHA1 Message Date
zeekay 084b847d33 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
zeekay 20a125303a fix(docs): repair fumadocs i18n context + page-tree $ref + docs registry/config wiring
Unblocks app-build-green for the content-docs apps (spec, gui-docs, zen-docs,
base-docs) and advances the docs registry/config app integration.

Root causes (upstream-merge artifacts from the 16.x restructure), with the
authoritative fix matched to upstream [email protected]:

- packages/{base-ui,radix-ui}/src/contexts/i18n.tsx: file was partially
  overwritten with an older shape — it referenced `defaultTranslations`,
  `use`, `renderTranslation`, `TranslationValue`, `TranslationObject`
  without importing/defining any of them, and redeclared a stale local
  `Translations`. Restored the upstream 16.9.3 context: import the i18n
  primitives from `fumadocs-core/i18n` + `@/i18n`, use React `use`. This was
  the `ReferenceError: defaultTranslations is not defined` prerender crash.

- packages/core/src/source/page-tree/builder.ts: item `$ref` was emitted as
  an object `{ file: path }`, violating `PageTree.Item.$ref?: string` and
  breaking the sort (`aT.localeCompare` on an object → `c.localeCompare is
  not a function`). Restored upstream string `$ref: path`.

- packages/shared/registry.ts: `glob` was imported from `node:fs/promises`
  (an async generator → `await glob()` is non-iterable → `{} is not
  iterable`) and `Component` was double-imported. Restored upstream
  `import { glob } from 'tinyglobby'`.

- apps/docs registry codegen aligned to the real `@hanzo/docs-cli/build`
  (=`fuma-cli/compiler`) API: `components/registry/index.ts` split the
  merged duplicate `export const registry` back into `compileOptions` +
  `registry` (restoring the dropped `baseUi`/`sanity` registry imports);
  `scripts/build-registry.ts` uses `compile({ root, ...compileOptions })` +
  `writeRegistry` instead of a non-existent `RegistryCompiler`/
  `combineRegistry`/`writeDocsRegistry` surface. Restored the dropped
  `lib/inkeep/inkeep-qa-schema.ts` and declared the inkeep files in the
  `ai/hanzo` component.

- apps/docs/next.config.mts: ESM `__dirname` shim via
  `fileURLToPath(import.meta.url)`; removed orphaned `createNextStory()`
  dead line; declared the `@hanzo/docs` workspace dep the config imports.

- apps/docs/package.json build:pre/post/lint run via `bun` (resolves `@/`
  tsconfig aliases) to match every other app — `node` cannot resolve `@/`.

- apps/zen-docs/[[...slug]]/page.tsx: reuse the canonical `getMDXComponents()`
  factory instead of an inline components map whose `next/dynamic` wrappers
  produced an over-specific `ComponentType` incompatible with
  `NestedMDXComponents`.

Verified `next build` GREEN (exit 0, full static gen): spec 245/245,
gui-docs 103/103, zen-docs 129/129, base-docs 19/19. 29/29 packages build
green (fumadocs-preview leaf excluded). The `docs` registry/demo app remains
blocked only on external `@hanzo/iam`/`@hanzo/logo` packages not present in
this tree (the in-flight subject of this branch).
2026-06-24 18:50:54 -07:00
zeekay 7593cddcf7 fix(docs): normalize phantom names in CSS/astro/changeset/next-config (red review)
Follow-up to 4b114df1: the package-name normalization covered JS/TS imports +
package.json but missed four other surfaces that name the same phantom packages,
relocating the breakage from 'pnpm install' to 'next/vite/astro build':
- H1: 46 CSS @import strings (@hanzo/docs-{base-ui,ui,openapi}/css/*) → real pkgs
  (preserved legit @hanzo/docs-{twoslash,story} CSS)
- H2: examples/astro .astro imports (base-ui/mdx→fumadocs-ui/mdx, docs-core/toc→fumadocs-core/toc)
- L1: .changeset/config.json fixed-array lockstep names
- L2: removed apps/docs/next.config.mts dead phantom→phantom self-alias + dup keys
Found by adversarial red review of 4b114df1.
2026-06-24 15:52:22 -07:00
zeekay bb90824285 fix(docs): normalize phantom workspace package names — monorepo installs again
The fumadocs-fork rebrand left ~13 apps + examples referencing packages under
names that don't exist in the workspace (in BOTH directions: some kept
fumadocs-*, some became @hanzo/docs-*). pnpm install failed outright. Mapped
every reference (deps + imports, 607 source + 61 package.json) to the package
that actually exists, by suffix:
  @hanzo/docs-{core,mdx,ui,base-ui} → fumadocs-{core,mdx,ui} / @fumadocs/base-ui
  @fumadocs/{story,cli,mdx-remote,tailwind} → @hanzo/docs-{story,cli,...}
  fumadocs-{docgen,epub,twoslash,typescript} → @hanzo/docs-{...}
  drop phantom eslint-config-custom
Guarded @hanzo/docs-mdx vs -mdx-remote. Also fixes a pre-existing cli bug
(createConfigSchema referenced undefined isSrc) that blocked the package build.

Verified: pnpm install resolves clean (46.8s, was broken); package dist
regenerates phantom-free from the corrected source (hanzo-docs 430→0). Full
app build-green is blocked only by a node v26 toolchain bug in fumadocs-mdx's
config loader (repo targets node >=24.14; CI node builds it).
2026-06-24 15:17:27 -07:00
zeekay bdcfc2da0c feat: add Hanzo analytics tracking to zenlm.org 2026-03-12 01:45:04 -07:00
zeekay 78382bdc4e fix: remove 2T+ spec; position Zen 5 as largest open-source LLM ever
- zen5.mdx: replace '2T+ parameters' with 'The largest open-source LLM ever'
- zen5.mdx: update description + status banner to goal-first framing
- open-training post: same 2T+ → 'largest open-source LLM ever' fix
- homepage card: tease without parameter count
- zen-models: fix header comment Distilled → Diverse Experts
2026-03-01 17:22:54 -08:00
zeekay 26d73c3df7 feat(zen-docs): Zen 5 research preview + open training program
- Add prominent Zen 5 banner to homepage with live training badge,
  three-pillar summary (Zen MoDE / verifiable compute / community data),
  and CTAs to research preview, data submission, and live dashboard
- Rewrite docs/models/zen5.mdx: full research preview with architecture
  details, Zen MoDE (Mixture of Diverse Experts), open training explainer,
  data submission guide with code examples, community rewards, timeline
- Add blog/open-training-hanzo-network.mdx: deep dive on how Hanzo Network
  works (TEE, stake bonds, gradient aggregation), what data we want,
  submission format + Python API, quality filtering, contributor rewards
- Expand Research section on homepage to feature 3 posts with preview cards
- Add Research footer column: Zen 5, Hanzo Network, Submit data, Blog, Papers
- Import FlaskConical, Network, Database icons for new UI elements
2026-03-01 17:13:28 -08:00
zeekay 02662c4712 feat(zen-docs): add external app links row to hero section
Below the primary CTAs in the hero, add a row of subtle pill-style links
to Hanzo Chat, Hanzo App, API Console, and Hanzo AI. Styled as
rounded-full border pills with muted foreground color and hover state.
2026-03-01 16:19:55 -08:00
zeekay 3446dab6d0 feat(zen-docs): floating pill nav with Try Zen CTA
Replace fumadocs HomeLayout default nav with a fixed floating pill nav:
- Frosted glass pill (rounded-full) centered at top of viewport
- Logo (ZenEnso 24px) + Zen LM wordmark on left
- Desktop: Models / API / Pricing / Training nav links
- Far right: Login (hanzo.id) + 'Try Zen' CTA (white pill → hanzo.chat)
- Mobile: hamburger → dropdown with same links + CTAs
- Expands to rounded-2xl on mobile open, rounded-full when closed
2026-03-01 16:19:19 -08:00
zeekay 236ed52b89 content(zen-docs): brand cleanup across blog posts and remove zenlm-models/ui packages
- Update blog/[slug]/page.tsx to use getAllSlugs() instead of getSortedPosts() for static params
- Sweep all blog MDX files to remove upstream model name references (brand policy compliance)
- Add new blog posts: 7680-dim-embeddings, agent-nfts, bitdelta-behavioral-compression, case-for-decentralized-science
- Delete gspo.mdx and qwen2.5-vl-32b.mdx (consolidated/removed content)
- Remove packages/zenlm-models and packages/zenlm-ui entirely
- Update lib/blog.ts, docs/server.ts, docs/browser.ts for blog infrastructure
- Update pnpm-lock.yaml after package removal
2026-03-01 16:07:08 -08:00
zeekay 6b17032206 fix(zenlm-ui): white enso ring — remove fill, default color white
- Remove filled circle that faded in after stroke (pure stroke only)
- Remove cut notch overlay
- Change default color from #A855F7 (purple) to white
- Simplify CSS to single draw animation
- Update zen-docs hero: color="white"
- Bump @zenlm/ui to 1.0.3
2026-03-01 15:55:50 -08:00
zeekay b0ced5d600 chore(zen-docs): switch to @zenlm/ui and @zenlm/models workspace packages
Replace cross-repo @hanzo/ui/models and @hanzo/zen-models references with
self-contained workspace packages @zenlm/ui and @zenlm/models. This eliminates
the CI ENOENT failure caused by the file:../../../ui/pkg/ui cross-repo path.

- components/ModelTable.tsx: @hanzo/ui/models → @zenlm/ui
- components/ZenEnso.tsx: @hanzo/ui/models → @zenlm/ui
- app/(home)/ModelLibrary.tsx: @hanzo/ui/models + @hanzo/zen-models → @zenlm/ui + @zenlm/models
- app/(home)/page.tsx: @hanzo/zen-models → @zenlm/models
- package.json: remove @hanzo/ui, @hanzo/zen-models; add @zenlm/ui, @zenlm/models workspace:*
2026-03-01 15:31:20 -08:00
zeekay 79a944fd58 chore(zen-docs): update blog routing, source config, and lockfile 2026-03-01 15:21:57 -08:00
zeekay 0f6968556b feat(zen-docs): add shared model components, fix /docs/models page, add blog
Model components:
- Add ModelTable, ZenEnso, ZenLoader components (thin wrappers over @hanzo/ui/models)
- Register ModelTable in client-components.tsx and page.tsx components map
- Rewrite /docs/models.mdx — replace broken DynamicModelTable (dead API)
  with ModelTable using static @hanzo/zen-models data
- Add individual model detail pages (zen3, zen4, zen5 variants)

zen-models:
- Fix zen3 family name: "Zen 3 Multimodal" → "Zen 3"
- Update zen3 description: "Previous generation API models..."

Blog:
- Add blog route (app/blog/, content/blog/)
- Add 30+ zen/hanzo-branded technical blog posts
- Brand-clean: excludes upstream-named posts

Home:
- Update ModelLibrary, layout, page, DownloadSection
- Add not-found page
2026-03-01 15:21:40 -08:00
zeekay bdd963a4c5 fix(zen-docs): fix DynamicModelTable SSG build and apply clean design system
- Fix pre-existing build error: DynamicModelTable was not passed to MDX renderer
  in docs page component — add client-components.tsx wrapper with dynamic() + ssr:false
  and pass DynamicModelTable/DynamicCostExamples to <MDX components={...}>
- Remove postprocess.includeProcessedMarkdown from source.config.ts (caused SSG conflicts)
- Rewrite global.css with purple brand (#a855f7), proper Tailwind 4 --color-fd-* syntax,
  neutralize all amber fd-warning/idea/info vars
- Add className="dark" to layout.tsx html tag (was rendering light mode)
- Redesign home page: remove floating chat bubble widget, pill buttons (rounded-full),
  remove gradient sections, clean card styles matching cloud/flow pattern
- Stage zen-docs auto-generated docs/browser.ts and docs/server.ts (zen5 models)
- Stage insights-docs auto-generated docs/ files
2026-02-28 15:00:17 -08:00
zeekay 81d3f4eecd feat: update @hanzo/zen-models to 59 models, make zen-docs fully dynamic
- Add zen4.6, zen5 family (5 models), zen3-image (8), zen3-audio/asr (4),
  zen3-tts (3), embedding/reranker variants to canonical model registry
- Fix stale specs: zen4-max Dense/1M ctx, zen4-mini 128K ctx, zen4-ultra 262K
- Rewrite ModelLibrary.tsx to import from @hanzo/zen-models instead of
  hardcoded arrays — model catalog now updates at build time
- Add zen5 "Early Access" section to DynamicPricing.tsx with contact-sales CTA
- Switch zen-docs from @zenlm/models (stale npm v1.0.0) to workspace package
- Fix Turbopack .js→extensionless imports, nullable pricing optional chaining
2026-02-27 09:13:04 -08:00
zeekay 5a95e3f04c feat(zen-docs): add model library toggle, update model specs
- Add ModelLibrary client component with current/all toggle
- Default view shows only active models, hides legacy/coming-soon
- Update zen4-max to Dense 1M ctx, zen4-mini to Dense 128K
- Fix CTA price from $0.30 to $0.15/MTok
- Remove unused ModelFamily/ModelRow components from page
- Update model MDX pages with corrected specs
2026-02-24 01:36:30 -08:00
zeekay 590210a147 feat(zen-docs): replace lightning with lotus, add HF icon, swap Brain for cooler icons
- Replace ⚡ with 🪷 (lotus flower) across nav, footer, docs sidebar
- Add HuggingFace icon link next to GitHub in header nav
- Replace Brain icon: Foundation→Atom, Consumer Line→Orbit, Math→Infinity
- Add proper HF/GitHub SVG icons in footer social links
2026-02-24 01:24:52 -08:00
zeekay c2563b79dc feat: dynamic pricing on zen-docs landing page
Replace 126 hardcoded pricing values with DynamicPricing component
that fetches live data from pricing.hanzo.ai/v1/pricing.
Update hero stats: 1M max context, $0.15 starting price.
Update zen4-max flagship card for new specs.
2026-02-24 01:18:48 -08:00
zeekay 8f395f6185 feat: comprehensive zen-docs with 44 model pages and hanzo SDK
- Landing page: header/footer, pricing, full 49-model catalog, chat widget
- 30 new model MDX pages (44 total across all modalities)
- All code examples updated from openai SDK to hanzoai SDK
- Models index expanded to cover all 10 categories
- API docs and quickstart updated with Hanzo SDK
- Upstream references removed (vLLM/SGLang parsers)
2026-02-22 14:56:04 -08:00
zeekay d2fa2f5a87 feat: redesign zen-docs landing page with full model catalog
Comprehensive landing page with hero, model tables, architecture
overview, dataset stats, quick start examples, and research papers.
All upstream model references cleaned from docs content.
2026-02-22 14:56:04 -08:00
zeekay 67d4d110d6 fix: remove all upstream model references from zen-docs
- Landing page: zen-max 671B → 1T+ MoE
- zen4-coder-flash: remove SWE-bench reference
- index.mdx: remove Upstream column, replace with Architecture
- api/models.mdx: remove Upstream column, update zen4-max to 256K/1.04T
- training/cloud.mdx: GLM-4.7-Flash → zenlm/zen-coder-flash
- layout.tsx: update meta description
- Sidebar banner: zen4-max 1T+ MoE
2026-02-22 14:56:04 -08:00
zeekay f007ed501c fix(zen-docs): resolve build failures from bad imports and MDX syntax
- Fix lib/source.ts: import from generated @/docs/server instead of
  non-existent @hanzo/docs-mdx/collections/server
- Fix lib/source.ts: use docs.toSource() instead of non-existent
  docs.toFumadocsSource()
- Fix models.mdx: remove {#id} heading syntax incompatible with MDX
- Remove app/api/search route incompatible with output: 'export'
2026-02-22 14:56:03 -08:00
zeekay e31297af5f Add zen-docs app for zenlm.org documentation
Integrate Zen LM documentation as 4th brand in the hanzo/docs monorepo.
16 model docs, getting-started, training, and datasets pages.
Cloudflare Pages deploy workflow at apps/zen-docs.
2026-02-14 07:16:44 -08:00