Documentation sites
Deploy each documentation app from the same folder and product-owned configuration.
Every standard documentation app lives in docs/. Set the Vercel Root
Directory to docs, not the repository root.
Own configuration in docs
The documentation app owns its package.json, nuxt.config.ts, site.json,
content.config.ts, app/app.config.ts, and vercel.json. It consumes the
published Ginko Content and Ginko Docs packages at exact versions.
The app's Vercel build starts from docs/. Its install or build command can
move to the parent repository when it must build local workspace packages. Do
not change the Vercel Root Directory to compensate for a missing build step.
Use canonical product data
Store the final domain, repository URL, Discord URL, product name, and product description in committed configuration. Use the canonical domain for site, i18n, canonical, Open Graph, sitemap, and robots configuration.
Add legal notice and privacy links to every site. Use the Lupinum Discord:
https://discord.gg/RPH6SeA36N.
Build local packages first
When docs import a package from the same monorepo, the cold Vercel build must
build that package before Nuxt builds the documentation app. Test this from a
clean checkout. Do not rely on local dist/ files.
Keep builds deterministic
Use local fonts. Do not require Google Fonts or another font service during build. Commit the required font license and provenance.