zeekay f3910bbe58 Docs state the two API keys cloud mints, and the build proves it
docs.hanzo.ai documented three key types. Cloud mints two.
cloud.APIKeyPrefixes is pk- and sk-; hk- and hz- have never existed and
an unrecognized spelling is refused at the door, so a reader's first call
failed asking for a credential nobody can issue. 149 files carried one.

sk- was the subtler half: present, and described as an org-level provider
credential when it resolves to the USER. A find-and-replace would have
left that confidently wrong, so the pages that made a further claim -- a
scope, a third family, a list of recognized prefixes -- were rewritten
rather than swapped.

Derived, not restated. openapi-doc gains Document.keys, read out of the
/v1/keys prose the Go handler writes and zipdoc lifts into the document.
gen-key-types renders that as an MDX fragment api-keys.mdx includes, so
the table nobody may type is not typed. secretKey(doc) replaces the
literal three generators each kept -- which is how three GENERATED pages
also came to teach hk-.

check-keys then holds every page to it, both directions: a prefix the
document does not carry fails the build, and a class api-keys.mdx does
not teach fails it too. Renaming pk- in cloud now stops the build in six
places instead of publishing a stale page.

Also measured against the live API and cluster, and corrected: /v1/keys
does mint keys over HTTP (403 unauthenticated, not absent); Tasks is
/v1/tasks on the one host, not gRPC elsewhere; the KMS example path
404s; and four KMSSecret manifests could not apply -- two named groups
with no controller, and their spec was External Secrets' shape, not the
CRD's five fields.

Sidebar sits flush left. The docs grid was five columns centring a band,
with the sidebar area spanning the leading gutter, so the nav began
176.5px in at 1920 and 496.5px in at 2560 -- inside its own bordered
card. Three columns now: rails pinned, page between them. Measured at
/docs/api-keys before -> after: 1920 176.5/232/1052/268/176.5 ->
232/1405/268, 2560 496.5/232/1052/268/496.5 -> 232/2045/268, nav at x=0.
Phone 390 and tablet 820 unchanged (0/375/0 and 232/573/0, drawer opens,
no page overflow); desktop collapse and restore verified.
2026-08-13 17:48:25 -07:00
2024-04-26 21:51:12 +08:00
2026-04-17 22:50:22 +08:00
2023-07-30 22:03:19 +08:00
2025-12-30 16:49:34 +08:00
2023-07-30 15:46:09 +08:00

Hanzo Docs

The documentation framework for Hanzo AI, Lux Network, Zoo Labs Foundation, and Zen LM.

A powerful React.js documentation framework built for the Hanzo ecosystem.

Features

  • Multi-Brand Support: Unified framework supporting Hanzo, Lux, Zoo, and Zen documentation
  • Next.js 15+: Built on the latest Next.js with App Router
  • MDX: Write documentation in MDX with full component support
  • Search: Built-in search with Orama and Algolia support
  • TypeScript: Full TypeScript support with auto-generated API docs
  • OpenAPI: Generate interactive API documentation from OpenAPI specs
  • i18n: Internationalization support for multiple languages
  • Themes: Customizable themes with dark mode support

Quick Start

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

Project Structure

.
├── apps/
│   ├── docs/              # Main documentation site
│   ├── dev-docs/          # Hanzo Dev CLI docs
│   ├── zen-docs/          # Zen LM model docs (zenlm.org)
│   ├── zap-docs/          # ZAP protocol docs
│   └── bot-docs/          # Bot documentation
├── packages/
│   ├── brand/             # Brand configuration (Hanzo, Lux, Zoo)
│   ├── core/              # Core functionality
│   ├── ui/                # UI components
│   ├── mdx/               # MDX processing
│   ├── openapi/           # OpenAPI integration
│   └── ...                # Other packages
└── examples/              # Example implementations

Brand Configuration

Set the brand via environment variable:

# .env.local
NEXT_PUBLIC_BRAND=hanzo  # or 'lux', 'zoo', or 'zen'

Available Brands

Brand Organization Documentation
hanzo Hanzo AI Inc hanzoai.github.io/docs
lux Lux Network docs.lux.network
zoo Zoo Labs Foundation docs.zoo.ngo
zen Zen LM zenlm.org

Development

Prerequisites

  • Node.js 18.17+
  • pnpm 10+

Commands

# Development
pnpm dev              # Start all apps in dev mode
pnpm dev:all          # Start docs app only
pnpm dev:examples     # Start example apps

# Build
pnpm build            # Build all packages
pnpm clean            # Clean build artifacts

# Quality
pnpm lint             # Run ESLint
pnpm lint:prettier    # Check formatting
pnpm prettier         # Fix formatting
pnpm test             # Run tests
pnpm types:check      # Type check

Documentation Sites

Hanzo Docs (hanzoai.github.io/docs)

Documentation for Hanzo AI infrastructure including:

  • AI API
  • Agent SDK
  • MCP Tools
  • Chat Platform
  • Python/JS SDKs

Lux Docs (docs.lux.network)

Documentation for Lux Network including:

  • Architecture & Consensus
  • Node Operation
  • SDK & CLI
  • Smart Contracts
  • Post-Quantum Security

Zoo Docs (docs.zoo.ngo)

Documentation for Zoo Labs Foundation including:

  • DSO Protocol
  • Proof of AI (PoAI)
  • Zen Model Family
  • Gym SDK
  • Training Infrastructure

Forking for New Brands

  1. Clone this repository
  2. Create brand config in packages/brand/src/brands/
  3. Add CSS in packages/brand/css/
  4. Update the brands registry
  5. Set NEXT_PUBLIC_BRAND environment variable

Contributing

Please read the Contributing Guide before submitting a pull request.

License

MIT © Hanzo AI Inc


Built with Hanzo Docs

S
Description
No description provided
Readme MIT
470 MiB
Languages
TypeScript 41.7%
MDX 34.6%
JavaScript 20.5%
CSS 1.3%
XSLT 0.7%
Other 1%