nyuchi-docs
Nyuchi engineering documentation โ how things are done at Nyuchi, and how to
use the Mzizi tools from a Nyuchi project. Published at
docs.nyuchi.com.
This repo is a pnpm workspace with these packages:
| Package | Path | What it does |
|---|
site | site/ | The Astro + Starlight docs site itself. Ships as a Cloudflare Worker with Static Assets. |
nyuchi-docs-search | nyuchi-docs-search/ | Publishable npm package: cmdk-style search modal + Ask-AI tab for Starlight sites. |
shamwari-docs-ai | shamwari-docs-ai/ | Cloudflare Worker โ the Ask-AI chat proxy (SSE). |
nyuchi-docs-mcp-worker | nyuchi-docs-mcp-worker/ | Cloudflare Worker nyuchi-docs-mcp โ the docs MCP server at docs.nyuchi.com/mcp. |
Companion site
bundu-labs/bundu-docs covers the
Bundu Foundation's outward-facing projects โ the Mzizi product, the Ubuntu
doctrine, and the Bundu brand system. It installs nyuchi-docs-search from
npm and points at the nyuchi-docs-mcp worker.
Sections (site/src/content/docs/)
platform/ โ the product guide for the Nyuchi platform.
api/ โ API Docs: the /v1 gateway, WorkOS authentication,
console-managed API keys, security, and the product namespaces.
analytics/ โ dashboards, reports, and connecting data sources.
kweli/ โ Mukoko Kweli product guides: verification, cross-app
how-to, open data, data quality, design system.
mukoko-weather/ โ Mukoko Weather user guide and stations.
integrations/ โ connectors, webhooks, and the docs MCP server.
identity/ โ WorkOS, identity.nyuchi.com, SSO, JWTs.
console/ โ the Nyuchi Console at platform.nyuchi.com.
mzizi-tools/ โ mzizi-mcp, mzizi-sdk, mzizi-skills.
deployment/ โ Cloudflare, Vercel, and Supabase deployment patterns.
conventions/ โ PR doctrine, commit doctrine, repo-naming rules.
Develop
pnpm install
pnpm dev
pnpm -r build
pnpm -r test
Site dev server: http://localhost:4321. Content lives in
site/src/content/docs/; the sidebar is configured in site/astro.config.mjs.
Search + Ask AI
The search modal opens with โK / Ctrl+K. The Ask AI tab streams
answers from shamwari-docs-ai (Cloudflare Worker) with retrieval-grounded
citations. To enable it locally, copy site/.env.example to site/.env:
cp site/.env.example site/.env
Deploy
Both workers in this repo deploy via Cloudflare Workers Builds โ the
Cloudflare GitHub App
is connected to nyuchi/nyuchi-docs with one trigger per worker (root
directory points at the worker package). No GitHub Actions deploy workflow,
no CLOUDFLARE_API_TOKEN repo secret.
nyuchi-docs (site) โ root site/, ships as a Cloudflare Worker with
Workers Static Assets.
Live at https://nyuchi-docs.nyuchi.workers.dev. Custom domain
docs.nyuchi.com is attached via the Workers custom-domain API in a
separate cutover step (apex still points at the legacy Mintlify-on-Vercel
deployment until then).
shamwari-docs-ai โ root shamwari-docs-ai/, thin proxy in front of
Cloudflare AI Search. Live at
https://shamwari-docs-ai.nyuchi.workers.dev. See
shamwari-docs-ai/README.md for the
per-corpus AI Search instance setup (managed via REST API).
nyuchi-docs-mcp โ root nyuchi-docs-mcp-worker/, the docs MCP
server. Live at https://nyuchi-docs-mcp.nyuchi.workers.dev and routed
from docs.nyuchi.com/mcp*. Needs its own Workers Builds trigger (root
directory nyuchi-docs-mcp-worker/).
Why pnpm workspace
The search package (nyuchi-docs-search) is consumed by both
nyuchi-docs (this repo, via workspace:*) and bundu-docs (separate repo,
via the npm registry). Keeping it in the same workspace as the docs site
means local changes to the search UI are picked up instantly during pnpm dev,
while the published package is a single pnpm publish away.