ADR 0007: Next.js is the product and docs host
Context
MAIL-180 hosted MkDocs Material on Vercel at the product hostname because GitHub Pages cannot publish this private repository. The owner then overrode that: MkDocs is a GitHub-pages workflow used at work, not a requirement here. Vercel is available. The live site should be the Duckbill application, not a separate documentation publisher.
Agent-engineering-standards host websites with Next.js on Vercel. MkDocs is not used.
Decision
apps/web is a Next.js App Router application. It is the only site behind:
- Production: https://duckbill.jasonkoch.io (
main) - Preview: https://duckbill-dev.jasonkoch.io (
preview)
Markdown specifications remain in docs/. The documentation catalog lives in apps/web/src/lib/docs-nav.ts. The Next.js app renders that markdown. Do not delete the specification files to complete a host change.
The inbox triage UI stays MAIL-41 / MAIL-59. Sign in with Apple stays MAIL-181.
Alternatives
- Keep MkDocs on Vercel and add a second Next.js project later — rejected; one host for docs and product.
- Replace markdown specs with MDX-only pages — rejected;
docs/stays the written source of truth.
Consequences
CI's documentation gate is next build for @inbox-agent/web, not mkdocs build --strict. Vercel project inbox-agent-docs builds the Next.js app with root directory apps/web. ADR 0006 remains as the historical hosting decision.
