Visibility
Status: planned. Nothing on this page is built yet; today every page is public.
Two audiences, without duplicating pages:
- public: people using the packages;
- internal: contributors and agents working in the repository. Agents read both on disk.
Rule
- Any
dev/folder under a docs root is internal:docs/dev/,packages/<pkg>/docs/dev/, … The globs are configurable (internal: ["**/dev/**"]by default) to mark more. workspaceDocs({ audience: "public" | "internal" })builds one or the other. The public build leaves internal pages out (srcExclude).- Internal pages may link to public ones, and should rather than repeat them.
- A public page linking to an internal one gets a build warning in the public build, and the link is rendered as plain text, so the URL of a missing page is never published.
AGENTS.mdstays a short pointer into the docs.
Each repository decides which build it deploys: marmotte is open source and can deploy the internal one; a private monorepo deploys the public one.
Not done
- Leaving the docs of
"private": truepackages out of the public build: no use case yet. Anything internal goes indev/. - Checking that public pages don't include (
<<<, embeds) code from internal places: revisit with code references.