// SPDX-License-Identifier: LicenseRef-ConusAI-Template-1.0 import type { NextConfig } from "next" const nextConfig: NextConfig = { reactStrictMode: true, // The server's identity is not information a client needs. poweredByHeader: false, // `next dev` writes an AGENTS.md into this folder when an AI coding agent runs it. The rules for // anyone writing code here are the repository's own AGENTS.md; a second file, with no licence // header, would also fail `node scripts/licence.mjs --check` on the first `pnpm dev`. agentRules: false, // The development badge sits over the bottom-left corner of the page, and the end-to-end suite // (which runs the shell under `next dev`) cannot click what it covers. devIndicators: false, // `forbidden()` and `app/forbidden.tsx`: a member whose role does not allow a page gets a real 403 // (a stranger gets the 404 of not-found.tsx, never this). Still marked experimental by Next.js. experimental: { authInterrupts: true }, // The workspace root, so the build traces the files it needs from a pnpm store outside this // package. Without it a standalone build misses @app/config and the kit. outputFileTracingRoot: new URL("../..", import.meta.url).pathname, // The brand package draws share images and checks logos with WebAssembly (resvg, libwebp) and reads its // fonts and wasm from its own folder. It runs from node_modules, not from inside a bundle, so those // files are where it expects them. serverExternalPackages: ["@conusai-kit/brand"], // One image serves every environment. Compose serves its immutable, content-hashed chunks // directly at /_next/static. Do not apply the platform's deployment asset prefix at startup: // Turbopack compiled its chunk URLs at build time, so changing only the server's URLs leaves // React waiting for chunks that already downloaded under a different name (no hydration). } export default nextConfig