Skip to main content

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.