3 min read
Vercel Deploy Checklist
Deploy the Next.js wiki reader from
ui/with bundled markdown, server-side gating, and public discovery settings verified.
Use this page before first deploy, before production promotion, or after changing wiki reader env vars. It is the deployment checklist; Bundle Wiki Prebuild, Password Gate Setup, and Public Categories Env own the deeper contracts.
Checklist
- Vercel project Root Directory is
ui. - Root
.vercelignoreallowlists onlyui/,wiki/,agent-docs/, root*.md, referenced instruction docs such asscripts/SKILL.md, root package metadata such aspackage.json, and.vercelignore; it excludes local dependency/build artifacts such asui/node_modules,ui/.next,ui/.content, andui/.vercel. prebuildrunsscripts/bundle-wiki.mjsso../wikiis copied intoui/.content/wiki.next.config.tsincludes.content/**/*in output file tracing.WIKI_GATE_PASSWORDorWIKI_GATE_PASSWORDSis set for private corpus access.NEXT_PUBLIC_SITE_URLis set on production.WIKI_PUBLIC_CATEGORIES=1is set, orWIKI_VISIBLE_CATEGORIESnames the intended public set.pnpm buildpasses locally fromui/.npm run vercel:drypasses from the repo root before any CLI deploy; this parsesvercel deploy --dry --format=jsonand fails if unexpected source paths or oversized artifacts would upload. Source: Vercel changelog, 2026-07-01- Preview URL is checked before production promotion.
Privacy And Discovery
The deployment has two separate controls:
| Control | Protects |
|---|---|
| Password gate | Page HTML, private search/listings, sitemap, llms.txt, assets. |
| Public category filter | Public navigation, home, search, sitemap, and llms.txt discovery for non-private categories. |
Do not use the category filter as the only privacy mechanism. Hidden-but-not-private pages may still be reachable by direct URL.
Closeout
After deploy-doc changes, run pnpm build in ui/ when practical, npm run vercel:dry, then npm run build-index and qmd update && qmd embed. If the source/projection boundary changed, update Bundle Wiki Prebuild in the same pass.
Timeline
- 2026-07-06 | Expanded the deploy source contract again after Vercel reported
ENOENTfor/vercel/path0/scripts/SKILL.md: the bundle now follows referenced instruction docs, copies them into.content, writesagent-doc-sources.json, andnpm run vercel:drychecks the discovered set. Source: User Vercel error reports, 2026-07-06;.vercelignore;ui/scripts/bundle-wiki.mjs;scripts/vercel-dry-run-summary.mjs - 2026-07-06 | Added root package metadata to the deploy source contract after Vercel reported
ENOENTfor/vercel/path0/package.json;npm run vercel:drynow checks existing root package/lock files are uploaded. Source: User Vercel error report, 2026-07-06;.vercelignore;scripts/vercel-dry-run-summary.mjs - 2026-07-06 | Expanded the deploy source contract after Vercel reported
ENOENTfor/vercel/path0/README.mdand/vercel/path0/SKILL.md: all root*.mddocs are now uploaded, bundled into.content, traced, and checked bynpm run vercel:dry. Source: User Vercel error reports, 2026-07-06;.vercelignore;ui/scripts/bundle-wiki.mjs;scripts/vercel-dry-run-summary.mjs - 2026-07-02 | Added Vercel CLI dry-run deployment manifest checks as a required pre-deploy agent step; the first run caught root raw/session/output files and local UI artifacts in the upload set, so root
.vercelignorenow scopes source uploads toui/andwiki/. Source: User request, 2026-07-02; Vercel changelog, 2026-07-01;scripts/vercel-dry-run-summary.mjs - 2026-07-01 | Expanded the deploy checklist with current bundle, env, gating, public discovery, and preview-promotion checks. Source: User request, 2026-07-01;
ui/README.md - 2026-05-31 | Agent doc checklist from ui README deploy section. Source: ui/README.md, 2026-05-31