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/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. |
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/nyuchi-docs-search
from npm and points at the nyuchi-docs-mcp worker.
platform/— the product guide for the Nyuchi platform.api/— API Docs: the/v1gateway, 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, the docs MCP server, and the Mukoko Events MCP server.identity/— WorkOS,identity.nyuchi.com, SSO, JWTs.console/— the Nyuchi Console atplatform.nyuchi.com.mzizi-tools/—mzizi-mcp,mzizi-cli,mzizi-skills.deployment/— Cloudflare, Vercel, and Supabase deployment patterns.conventions/— PR doctrine, commit doctrine, repo-naming rules.
pnpm install
pnpm dev # site only
pnpm -r build # all packages
pnpm -r test # all packagesSite dev server: http://localhost:4321. Content lives in
site/src/content/docs/; the sidebar is configured in site/astro.config.mjs.
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
# .env:
# PUBLIC_SHAMWARI_AI_URL=https://shamwari-docs-ai.nyuchi.workers.devBoth 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) — rootsite/, ships as a Cloudflare Worker with Workers Static Assets. Live athttps://nyuchi-docs.nyuchi.workers.dev. Custom domaindocs.nyuchi.comis 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— rootshamwari-docs-ai/, thin proxy in front of Cloudflare AI Search. Live athttps://shamwari-docs-ai.nyuchi.workers.dev. Seeshamwari-docs-ai/README.mdfor the per-corpus AI Search instance setup (managed via REST API).nyuchi-docs-mcp— rootnyuchi-docs-mcp-worker/, the docs MCP server. Live athttps://nyuchi-docs-mcp.nyuchi.workers.devand routed fromdocs.nyuchi.com/mcp*. Needs its own Workers Builds trigger (root directorynyuchi-docs-mcp-worker/).
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.