Troubleshooting
Start with the smallest command that matches the problem. Most docs failures fall into generation drift, missing navigation, stale dependencies, or a broken local link.
VitePress Build Fails
Run:
bash
npm run docs:check
npm run docs:buildCommon fixes:
- Run
npm run docs:generatewhendocs/reference/cli.mdordocs/reference/profiles.mdis stale. - Add new pages to the VitePress sidebar in
docs/.vitepress/config.mts. - Use root public asset paths like
/brand/favicon-32x32.pngfor files underdocs/public/. - Add
titleanddescriptionfrontmatter to every docs page.
Cloudflare Deployment Fails
Run:
bash
npm run docs:build
npx wrangler pages deploy docs/.vitepress/dist --project-name=bakerstreet-index --branch=mainCheck:
CLOUDFLARE_ACCOUNT_IDis set in CI or the local shell.CLOUDFLARE_API_TOKENhas permission to deploy to the Pages project.wrangler.tomlstill points todocs/.vitepress/dist.- the Pages project name is
bakerstreet-index.
Custom Domain Does Not Resolve
Check Cloudflare DNS for bakerstreet.tech:
index.bakerstreet.techshould exist as a proxied record.- the Pages project should list
index.bakerstreet.techas a custom domain. - the deployed site should serve from
https://index.bakerstreet.tech/.
MCP TypeScript Build Fails
Run:
bash
npm run mcp:check
npm run mcp:test
npm run mcp:smokeCheck:
mcp/tsconfig.jsonincludes the current source and test directories.- resource names in docs match the server implementation.
repos/index.yamlremains parseable.
Workspace Validation Fails
Run:
bash
npm run validate:workspaces
npm run test:workspacesCheck:
- date values use
YYYY-MM-DD. - people records and references point to existing files.
- enums match
schemas/workspace.schema.json. - secret-like keys are not accidentally committed as workspace metadata.
Generator Output Looks Wrong
Run:
bash
npm run test:create-index
node generator/create-index.mjs --help
node generator/create-index.mjs --name "Dry Run" --output ./tmp-dry-run --profile public-template --dry-runCheck:
- profile names match files in
generator/profiles/. - feature names match the schema enum.
- flags override config file values intentionally.