Files
docs/apps/zt-docs/source.config.ts
zeekay f8cde1decb feat(zt-docs): add Hanzo Zero Trust documentation site
Complete documentation app for the Hanzo ZT SDK suite at zerotrust.hanzo.ai:
- Landing page with hero, feature cards, SDK grid, and architecture diagram
- Overview: design principles, components, SDK comparison matrix
- Getting Started: multi-language install, auth setup, connect examples
- Architecture: network topology, transport stack, auth flow, billing, ZAP framing
- Integration: ZAP transport, MCP, dev CLI, gateway, tunnel
- SDK docs for all 6 languages: Rust (436L), Go (902L), TypeScript (908L),
  Python (606L), C++ (587L), C (655L)
- Static export builds to 16 pages, runs on port 3004
2026-02-22 14:56:02 -08:00

70 lines
1.8 KiB
TypeScript

import {
applyMdxPreset,
defineConfig,
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
import { z } from 'zod';
import jsonSchema from '@hanzo/docs-mdx/plugins/json-schema';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
index: z.boolean().default(false),
}),
postprocess: {
includeProcessedMarkdown: true,
extractLinkReferences: true,
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, 'code'],
},
rehypeCodeOptions: {
langs: ['ts', 'js', 'go', 'rust', 'python', 'cpp', 'c', 'bash', 'json', 'yaml', 'toml', 'cmake', 'typescript'],
inline: 'tailing-curly-colon',
themes: {
light: 'github-light',
dark: 'github-dark',
},
transformers: [
...(rehypeCodeDefaultOptions.transformers ?? []),
],
},
remarkCodeTabOptions: {
parseMdx: true,
},
remarkNpmOptions: {
persist: {
id: 'package-manager',
},
},
remarkPlugins: [remarkSteps],
})(environment);
},
},
meta: {
schema: metaSchema.extend({
description: z.string().optional(),
}),
},
});
export default defineConfig({
plugins: [
jsonSchema({
insert: true,
}),
lastModified(),
],
});