Files
docs/apps/docs/export.require
T
zeekayandClaude Opus 5.5 1d4202206c Every /docs/<product> address the console and the old product cards used lands on its page
The console's Docs buttons open docs.hanzo.ai/docs/<product> — agents, crawl,
edge, embeddings, gateway, functions, kms, machines — and none of those pages
exists, so each button opened the 404 page. The product cards on /docs linked
the same shape for twenty-one more before they moved into the reference.

_redirects now sends each to its capability page, and emit-redirects writes the
stub the static host serves. Five old slugs have no page to land on (docdb, mpc,
pipelines, sessions, vector) and stay unlisted rather than point at a 404. The
eight console addresses are in export.require, so a rule that stops emitting
fails the export instead of leaving a dead button.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-23 23:52:59 -07:00

64 lines
3.2 KiB
Plaintext

# Pages this app must have exported, checked by scripts/check-export.sh.
# One path per line, relative to the export root (apps/docs/out).
#
# These are the sections that go missing WITHOUT breaking anything else, so a
# page count and a nav check both stay green while the section is gone:
#
# docs/openapi/ one page per capability and one per operation, generated by
# scripts/gen-openapi-pages.ts from the pinned document. It is
# the reference itself: drop the generator and every other
# page still builds, with the API silently absent.
# docs/studio/ a git submodule (hanzo-docs/studio-docs). A checkout that
# does not recurse leaves the directory empty and the section
# simply does not exist in the output.
# docs/mcp-tools/ one page per MCP tool, generated by scripts/gen-mcp-pages.ts
# from the vendored tools/list answer. It is the largest
# section in the site and the easiest to lose whole: drop the
# generator from pre-build and every other page still builds.
# docs/projects/ the committed snapshot of upstream OSS docs. It was once
# gitignored AND compiled, so a builder that skipped the sync
# shipped a different set of pages than a person's build made,
# and neither count was wrong on its face.
docs/openapi/index.html
docs/openapi/kms/index.html
docs/studio/index.html
docs/mcp-tools/index.html
docs/mcp-tools/all-tools/index.html
docs/projects/index.html
docs/projects/hanzoai/index.html
#
# llms-full.txt the whole corpus in one fetch, and llms.mdx/ the per-page
# llms.mdx/ markdown twin every page's Copy Markdown / View Markdown /
# Open in ChatGPT button points at. Both come from route
# handlers, so losing them is silent in the worst way: the
# HTML still builds, the buttons still render, and they go
# back to fetching 404s — which is the state this gate was
# added to end.
llms.txt
llms-full.txt
llms.mdx/docs/content.md
#
# 404.html app/not-found.tsx, which Next writes only for an export. It
# is the one page nothing links to, so nothing else notices
# when it stops being emitted — and the serving plane points
# errorPage404 straight at this filename.
# cloud/index.html one of the pages scripts/emit-redirects.ts writes out of
# public/_redirects. That script skips a rule whose target is
# not itself served, silently and by design, so a rule can go
# quiet without the build saying anything.
404.html
cloud/index.html
#
# docs/<product>/ the addresses the console's Docs buttons open, each a page
# emit-redirects writes. The console is not crawled by the
# link sweep, so a rule that goes quiet here is a dead button
# that nothing else reports.
docs/agents/index.html
docs/crawl/index.html
docs/edge/index.html
docs/embeddings/index.html
docs/gateway/index.html
docs/functions/index.html
docs/kms/index.html
docs/machines/index.html